<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Tech and Stuff</title>
	
	<link>http://ahurst.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 17 Jun 2010 23:14:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ahurst" /><feedburner:info uri="ahurst" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>One year anniversary of Improving Podcasts</title>
		<link>http://feedproxy.google.com/~r/ahurst/~3/MLeJl4efiqM/</link>
		<comments>http://ahurst.com/2010/06/one-year-anniversary-of-improving-podcasts/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 18:37:22 +0000</pubDate>
		<dc:creator>allen</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[improving]]></category>
		<category><![CDATA[podcast]]></category>

		<guid isPermaLink="false">http://ahurst.com/?p=68</guid>
		<description><![CDATA[
Today we released our one-year anniversary episode of Improving Podcasts. It&#8217;s a huge milestone for us, 27 episodes released every other Tuesday with no missed weeks. It hasn&#8217;t always been easy to come up with content, but Mike and I have held each other accountable (Mike&#8217;s the one with the real discipline) and we&#8217;ve lived up to the challenge we set for ourselves. It&#8217;s been a lot of fun and some content has been outstanding (if I do say so myself) while some really hasn&#8217;t, but I think it was ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://ahurst.com/wp-content/uploads/2010/06/Screen-shot-2010-06-15-at-1.17.52-PM.png"><img class="aligncenter size-full wp-image-69" title="Screen shot 2010-06-15 at 1.17.52 PM" src="http://ahurst.com/wp-content/uploads/2010/06/Screen-shot-2010-06-15-at-1.17.52-PM.png" alt="" width="323" height="304" /></a></p>
<p>Today we released our one-year anniversary episode of Improving Podcasts. It&#8217;s a huge milestone for us, 27 episodes released every other Tuesday with no missed weeks. It hasn&#8217;t always been easy to come up with content, but <a title="Mike's Blog" href="http://practicallyagile.com/">Mike</a> and I have held each other accountable (Mike&#8217;s the one with the real discipline) and we&#8217;ve lived up to the challenge we set for ourselves. It&#8217;s been a lot of fun and some content has been outstanding (if I do say so myself) while some really hasn&#8217;t, but I think it was worth the effort.</p>
<p>In the latest episode I get together with <a title="Ed's Bio on ImprovingEnterprises.com" href="http://improvingenterprises.com/about/team/leadership/ed-grannan/bio/">Ed Grannan</a> and <a title="Gary's Bio on ImprovingEnterprises.com" href="http://improvingenterprises.com/about/team/consultants/gary-mccants//bio/">Gary McCants</a> to discuss some of our favorite episodes and add some new perspectives and opinions. If you haven&#8217;t listened to the podcast before, it&#8217;s a great place to start because it can point you in the direction of some of our best episodes, and those are the ones you should listen to first <img src='http://ahurst.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>When surveying Improvers about their favorite episodes, I was pleased that more than half of them made someone&#8217;s list. Some that would have been in the bottom half of my list were first on other&#8217;s. I wasn&#8217;t expecting that, but it was a pleasant surprise.</p>
<p><a title="Link to Episode 27" href="http://improvingpodcasts.com/2010/06/ep-27-one-year-later/">Listen to our one year episode</a> and tell me what <strong>you</strong> think.</p>
<img src="http://feeds.feedburner.com/~r/ahurst/~4/MLeJl4efiqM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ahurst.com/2010/06/one-year-anniversary-of-improving-podcasts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://ahurst.com/2010/06/one-year-anniversary-of-improving-podcasts/</feedburner:origLink></item>
		<item>
		<title>Website Redesign</title>
		<link>http://feedproxy.google.com/~r/ahurst/~3/slsf05aAVPs/</link>
		<comments>http://ahurst.com/2010/06/website-redesign/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 16:03:02 +0000</pubDate>
		<dc:creator>allen</dc:creator>
				<category><![CDATA[UX/Web Design]]></category>

		<guid isPermaLink="false">http://ahurst.com/?p=67</guid>
		<description><![CDATA[I've neglected my personal website/blog for years. One of my goals for this year was to get it into shape and start using it for good. I just deployed the biggest improvement ever to my website. Check it out and let me know what you think via the comments!]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve neglected my personal website/blog for years. One of my goals for this year was to get it into shape and start using it for good. I just deployed the biggest improvement ever to my website.</p>
<p>I started with a theme I really like called <a href="http://michaelhutagalung.com/2008/05/arthemia-magazine-blog-wordpress-theme-released/">Arthemia by Michael Hutagalung</a> and customized it a bit. I added a custom homepage and added a few other tweaks. Check it out and let me know what you think!</p>
<img src="http://feeds.feedburner.com/~r/ahurst/~4/slsf05aAVPs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ahurst.com/2010/06/website-redesign/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://ahurst.com/2010/06/website-redesign/</feedburner:origLink></item>
		<item>
		<title>Visual Studio 2010 LoadFest Content</title>
		<link>http://feedproxy.google.com/~r/ahurst/~3/Y2T8V9ptP64/</link>
		<comments>http://ahurst.com/2010/06/visual-studio-2010-loadfest-content/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 06:35:31 +0000</pubDate>
		<dc:creator>allen</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Headline]]></category>
		<category><![CDATA[speaking]]></category>

		<guid isPermaLink="false">http://ahurst.com/?p=62</guid>
		<description><![CDATA[On June 3, 2010 I led the Visual Studio 2010 LoadFest at the Visual Studio Launch Event in Austin, Texas. It was a lot of fun.]]></description>
			<content:encoded><![CDATA[<p><a href="http://ahurst.com/wp-content/uploads/2010/06/Screen-shot-2010-06-15-at-1.37.51-AM.png"><img class="aligncenter size-medium wp-image-63" title="Screen shot 2010-06-15 at 1.37.51 AM" src="http://ahurst.com/wp-content/uploads/2010/06/Screen-shot-2010-06-15-at-1.37.51-AM-300x210.png" alt="" width="300" height="210" /></a></p>
<p><a href="http://ahurst.com/wp-content/uploads/2010/06/Screen-shot-2010-06-15-at-1.37.51-AM.png"></a>On June 3, 2010 I led the Visual Studio 2010 LoadFest at the Visual Studio Launch Event in Austin, Texas. It was a lot of fun. You can find the content here.</p>
<p><a href="http://ahurst.com/files/VS2010LoadFest.pdf">Get the slides</a></p>
<p><a href="http://github.com/akhurst/TeamMvc">Get the code</a></p>
<img src="http://feeds.feedburner.com/~r/ahurst/~4/Y2T8V9ptP64" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ahurst.com/2010/06/visual-studio-2010-loadfest-content/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://ahurst.com/2010/06/visual-studio-2010-loadfest-content/</feedburner:origLink></item>
		<item>
		<title>Improving Lunch and Learns</title>
		<link>http://feedproxy.google.com/~r/ahurst/~3/bK04TYJjPBQ/</link>
		<comments>http://ahurst.com/2010/06/improving-lunch-and-learns/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 03:08:38 +0000</pubDate>
		<dc:creator>allen</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[improving]]></category>

		<guid isPermaLink="false">http://www.agilist.me/blog/?p=55</guid>
		<description><![CDATA[
If you’re in Dallas, Houston, Austin, or Bryan/College Station (or within an hour or so), take advantage of Improving’s lunch and learns. We’ll come out and present to your team on a topic of your choice, free of charge. Our topics cover the latest in .NET development, Java, Object Oriented fundamentals, and, of course, lots of perspectives on Agile Software Development. If you need an easy way to expose your team to the latest in Agile development from the comfort of your own office, here&#8217;s your chance. Here&#8217;s a list ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://ahurst.com/wp-content/uploads/2010/06/060108_1845_BrownBagLea1.jpg"><img class="aligncenter size-full wp-image-65" title="060108_1845_BrownBagLea1" src="http://ahurst.com/wp-content/uploads/2010/06/060108_1845_BrownBagLea1.jpg" alt="" width="254" height="410" /></a></p>
<p>If you’re in Dallas, Houston, Austin, or Bryan/College Station (or within an hour or so), take advantage of Improving’s lunch and learns. We’ll come out and present to your team on a topic of your choice, free of charge. Our topics cover the latest in .NET development, Java, Object Oriented fundamentals, and, of course, lots of perspectives on Agile Software Development. If you need an easy way to expose your team to the latest in Agile development from the comfort of your own office, here&#8217;s your chance. Here&#8217;s a list of topics, but feel free to request a different one if the one you need isn&#8217;t listed. To schedule a lunch and learn, drop me a line or <a title="Improving's Contact Us Form" href="http://improvingenterprises.com/contact">hit us up via our website</a>.</p>
<div id="_mcePaste"><strong>Introduction to Agile Methods</strong></div>
<div id="_mcePaste">Or maybe it should be titled: Agile for Dummies. For those that are new to agile or need a quick refresher, this session provides a broad introduction to the Agile world. There are a lot of misconceptions about what agile is and what it isn’t…you should have a better understanding after you leave. We will cover a brief history of agile, discuss some of the most popular agile methods and techniques, and touch on implications to organizations.</div>
<div></div>
<div></div>
<div id="_mcePaste"><strong>Introduction to Scrum</strong></div>
<div id="_mcePaste">Organizations are increasingly moving from traditional waterfall methods of software development to agile methodologies.  Scrum has emerged as one of the most commonly applied agile practices.  Today’s successful software projects implement at least some aspect of Scrum.</div>
<div id="_mcePaste">This presentation guides participants through every characteristic of Scrum, including roles, planning, artifacts, and most importantly, the motivation behind implementing these elements.</div>
<div></div>
<div></div>
<div><strong>Agile Planning and Estimation</strong></div>
<div id="_mcePaste">If things go according to plan, we estimate that by the end of this session you will have:</div>
<div id="_mcePaste">
<ul>
<li>Written at least one user story</li>
<li>Broken down a user story by tasks and scenarios</li>
<li>Estimated effort using relative sizes and ideal hours</li>
<li>Planned for a release</li>
<li>Discussed why we estimate and why we plan</li>
</ul>
</div>
<div id="_mcePaste">And we will have demonstrated how to:</div>
<div id="_mcePaste">
<ul>
<li>Track planned work items and estimates using TFS</li>
<li>Use reporting in TFS to gain insight into the health of your project</li>
</ul>
</div>
<div>
<div><strong>Agile Adoption: Curing the Disease</strong></div>
<div>Agile Software Development is not a process or a methodology, it&#8217;s a set of values and principles that requires years of thought, study, and practice to master; it&#8217;s a martial art. Often the cornerstone of Agile adoption strategies are technical practices or process changes that come from a book, and they&#8217;re expected to produce the dramatic changes promised by Agile proponents. Agile adoption is a long and difficult process that, to be most effective, requires significant change and reorientation of values throughout the organization.</div>
<div>That&#8217;s not to say Agile adoption is impossible. There&#8217;s no silver bullet or change of process that inspires instantaneous change in large, complex software organizations, but there are incremental and concrete changes that can be implemented to demonstrate Agile&#8217;s value proposition and provide evidence to support the superiority of the Agile approach. The slow, steady, and demonstrable path to agile adoption can produce better and more substantial change and a more sophisticated appreciation of agile, than a slash and burn approach.</div>
<div>Treatments Discussed:</div>
<div>
<ul>
<li>Always gather and radiate data &#8211; As you progress along with Agile adoption, gather metrics and evidence to demonstrate your gains. Don&#8217;t hesitate to brag.</li>
<li>Invert your QA &#8211; Get QA involved in requirements analysis and specifications. Test cases make great requirements.</li>
<li>Make the team an atomic unit &#8211; Stop tracking progress person-by-person, deliverables are at a team level, and task assignments are the team&#8217;s responsibility. Take a chance on self-organization.</li>
<li>Add retrospectives &#8211; Continuous improvement is the cornerstone of good agile adoption. Don&#8217;t become complacent, and embrace every opinion</li>
<li>Add demos &#8211; Take the opportunity to show and brag on your progress. Encourage attendance from a wide range of people. Embrace visibility!</li>
<li>Create iterations and deliver software to production after each one &#8211; Frequent releases of quality software will add to your cred as a budding agile juggernaut and gets the team in the pattern of delivery, that&#8217;s a good pattern to be in.</li>
<li>Get a mentor &#8211; Experienced agile coaches and mentors have a wealth of experience related to agile adoption and how to overcome the hurdles you&#8217;ll face. Don&#8217;t be a hero, quality help will get you where you want to be, faster.</li>
</ul>
</div>
<div><strong>Workshop: eXtreme Programming in .NET/C#</strong></div>
<div>The best way to learn is by doing. This workshop will create small XP pairs and run through the XP practices of user story creation, planning poker, pair programming, and test-driven development, all in one session! This session is an adaptation of a 3 hour XP workshop meant to give a quick survey of what to expect from an XP team. Please bring your laptop with a .NET development environment to this session if you want to be guaranteed full participation, because we&#8217;ll need at least one laptop per pair!</div>
<div></div>
<div></div>
<div><strong>RESTful Services in .NET 4.0</strong></div>
<div>RESTful services are an architectural paradigm for creating APIs and service oriented architectures. REST is based on the philosophy of the HTTP protocol and proponents laud the approach for its simplicity. .NET 4.0 features a series of new features in response to the growing popularity of RESTful services. This talk will give an overview of the RESTful approach, description of alternatives and tradeoffs, and a code-centric demonstration of .NET 4.0 and Visual Studio 2010 features to support REST.</div>
<div>Session Outline:</div>
<div>
<ul>
<li>Overview of REST</li>
<li>RESTful Services in the wild</li>
<li>REST anti-patterns</li>
<li>REST vs SOAP</li>
<li>REST in .NET 4.0/Visual Studio 2010</li>
</ul>
</div>
</div>
<div id="_mcePaste"><strong>Agile Team Dynamics Workshop</strong></div>
<div id="_mcePaste">Is your agile team just going through the motions?  You learned processes, and installed tools.  What are you doing about individuals and interactions?</div>
<div id="_mcePaste">Through the Agile Team Workshop, you and your team will learn to:</div>
<div id="_mcePaste">
<ul>
<li>Capitalize on individual strengths</li>
<li>Optimize roles and assignments</li>
<li>Communicate and collaborate</li>
<li>Attain peak performance</li>
<li>Enjoy working together</li>
</ul>
</div>
<div id="_mcePaste"><strong>Identifying Waste and Amplifying Productivity: Lean and Agile</strong></div>
<div id="_mcePaste">Lean/Agile&#8211;Maybe you’ve heard about it, read about it, or even tried it out.  Maybe you don’t agree with every aspect of Lean/Agile software development, or you doubt that it will be the best fit for your particular project or organization. This seminar aims to dissect and de-mystify the process in an interactive experience comprised of lectures, candid discussions, exercises, demonstrations, and a few surprises. Come equipped with your specific situations and concerns about Lean/Agile adoption and software development processes in general.  With your input, we will engage in a candid interchange with the goal of outlining a set of best practices and adoption techniques tailored to your individual situations.</div>
<div>Objectives:</div>
<div id="_mcePaste">
<ul>
<li>Describe the core values</li>
<li>Define and describe terms and concepts</li>
<li>Distinguish between theory and actionable practices</li>
<li>Describe roles and responsibilities</li>
<li>Understand similarities and differences between various methods</li>
<li>Avoid common traps and pitfalls</li>
</ul>
</div>
<div id="_mcePaste"><strong>The Rise of Acceptance Criteria</strong></div>
<div id="_mcePaste">In this collaborative session, we will present a bit of theory and a bit of technology about requirements for agile development.  For years User Stories have been a popular way to indicate requirements, but only recently have acceptance criteria emerged as important adornments to them.  Come prepared to learn why, participate hands-on, and to see how TFS helps support User Stories and Acceptance Criteria to make agile Teams win.</div>
<div></div>
<div></div>
<div><strong>Better Software Requirements through Mapmaking</strong></div>
<div id="_mcePaste">The key ingredient to successfully developing quality software is communication. Through the years, lines in the sand have been drawn and battles have been fought over the appropriate forms and level of detail to use when documenting requirements specifications.</div>
<div id="_mcePaste">Describing the structure and behavior of a business domain is very closely aligned to the skills of successful mapmakers. Magellan, Vasco De Gama, and Columbus all demonstrated the value and usefulness of quality maps. While their stories about their travels were probably fascinating, the maps developed by their cartographers provided sustainable concrete records that were informative and helpful to others who followed.</div>
<div id="_mcePaste">As you navigate the treacherous waters of software development, quality maps can accelerate the journey and raise the quality of the results. In today’s information intense business world, there are limits to how much information can be communicated productively. Proper choices can lead to quality results, while poor choices can lead to disasters. There are a plethora of tools and techniques available to today’s business mapmakers. In this presentation, demonstrations and examples will be provided of a variety of techniques, along with a survey of popular tips and best practices.</div>
<div></div>
<div></div>
<div><strong>ROI is Quality</strong></div>
<div id="_mcePaste">What is Quality? What are its measures? When can and should it be measureable? We know that an agile project’s highest priority is to: “satisfy the customer through early and continuous delivery of valuable software”. We will explore when and where quality can begin to address the quantitative value of deliveries during the life of an agile project. Collaboratively working with the Product Owner to ensure that the Business Owners receive the value they expect.</div>
<div></div>
<div></div>
<div><strong>Ambiguity is Good</strong></div>
<div id="_mcePaste">Conventional wisdom says that ambiguity in requirements is bad.  But in an agile project it is good, at least for a while and in the right measure.  Come learn how your teams and your customers are ultimately better served by the right amount of ambiguity. Topics include the principle of delayed commitment, and how acceptance criteria fit in.</div>
<div></div>
<div></div>
<div><strong>Introduction to Test Driven Development</strong></div>
<div id="_mcePaste">Merely using an object-oriented language does not guarantee that the solutions you create are high-quality, flexible, and easy to maintain.</div>
<div id="_mcePaste">This presentation introduces the concepts of Test Driven Development (TDD) that allow us to create robust regression tests and good code. TDD is often mistaken for simply writing automated regression tests against an existing design. The deeper truth is that TDD is first and foremost about incrementally specifying, implementing, and improving your software’s design.</div>
<div></div>
<div></div>
<div><strong>Behavior Driven Development/Test Driven Development</strong></div>
<div id="_mcePaste">Test-driven development takes development to the next level by forcing a tight cycle of red-green-refactor. Behavior-driven development pushes the methods even further. It has been said that Behavior-driven development is test-driven development done correctly.</div>
<div></div>
<div></div>
<div><strong>Making a Mockery of your Unit Tests</strong></div>
<div id="_mcePaste">You&#8217;ve been hearing an awful lot about type mocking recently, but what is it, and why should you care?  This presentation will answer these questions and is intended to serve as a primer to those interested.  In order to further decrease the learning curve associated with this relatively new technique, a live demonstration will be given showcasing the latest version of Rhino Mocks, built specifically to take advantage of the .NET 3.5 framework.  By the end of the presentation, you will understand how, through the use of mocking, you can potentially increase the consistency, integrity and speed of your unit tests dramatically.</div>
<div></div>
<div></div>
<div><strong>Continuous Integration</strong></div>
<div id="_mcePaste">When most people think of Continuous Integration (CI), they think of automatically compiling and unit testing their software on a central build server each time someone checks-in files to source control. We will go beyond the basics and discuss solutions to problems teams face when they start using CI. Our discussion will include CI best practices, what behaviors to avoid, and how to implement CI using Microsoft Team Foundation Server.</div>
<div></div>
<div></div>
<div><strong>Refactoring in Real-Time</strong></div>
<div id="_mcePaste">Patterns talks tend to be abstract, academic discussions rather than real world examples but not this talk. We’ll cover techniques you can use right now to refactor your current web application and implement a couple of patterns to create a more maintainable and testable code base. We&#8217;ll do all of this using an actual working web application &#8211; no &#8220;Hello World&#8221; garbage here!</div>
<div id="_mcePaste"><strong><span style="font-weight: normal;"><br />
</span></strong></div>
<div id="_mcePaste"><strong>Behavior-Driven Development in .NET</strong></div>
<div id="_mcePaste">If you&#8217;re a TDD practitioner, you&#8217;ve potentially faced the problem of over-specifying or under-specifying behavior in your system under test. Too many tests can create waste and become a maintainability nightmare. Too few tests leave your system susceptible to quality and maintainability issues. This session assumes familiarity with Test-Driven Development and introduces developers to another way of writing tests in .NET using a behavior-driven style and tools like NSpec and NBehave.</div>
<div>Session Outline:</div>
<div id="_mcePaste">
<ul>
<li>Review TDD and discuss potential frustrations</li>
<li>Introduce the BDD approach</li>
<li>Compare/contrast TDD and BDD styles</li>
<li>Introduce BDD tools</li>
<li>Demonstrate BDD tools on a simple problem</li>
</ul>
</div>
<div id="_mcePaste"><strong>Naked Planning</strong></div>
<div id="_mcePaste">Naked Planning is a project management methodology that focuses on value rather than cost and emphasizes continuous delivery over iterative development. To traditional agilists with years of experience in incremental development using Scrum or XP, some of the ideas in Naked Planning may seem heretical. The approach is built on lean principles of pull and flow and provides a flexible framework to allow a quality team to rapidly produce quality software.</div>
<div id="_mcePaste">Session Outline:</div>
<div id="_mcePaste">
<ul>
<li>Cost-based planning vs. Value-based planning</li>
<li>Why estimates don&#8217;t matter</li>
<li>Lean concepts of pull and flow</li>
<li>Naked planning description</li>
<li>Naked planning demonstration</li>
</ul>
</div>
<div id="_mcePaste"><strong>C# 4.0</strong></div>
<div id="_mcePaste">The next version of C# contains a host of new features that will power the next generation of .NET applications. This session will be a code-centered demonstration of C# 4.0 features and how they might improve your next application.</div>
<div id="_mcePaste">Session Outline:</div>
<div id="_mcePaste">
<ul>
<li>Introduction to C# 4</li>
<li>Dynamic languages and the dynamic keyword</li>
<li>Optional and named parameters</li>
<li>Covariance and contravariance</li>
</ul>
</div>
<div><strong>ASP.NET MVC</strong></div>
<div id="_mcePaste">ASP.NET MVC is the newest way to build web-based applications on the .NET platform.  This talk will explore the advantages of the MVC approach, how to build your first ASP.NET MVC application, and how to improve it through features from MVC Contrib and ASP.NET MVC 2.0.</div>
<div id="_mcePaste">Session Outline:</div>
<div id="_mcePaste">
<ul>
<li>Introduction to MVC</li>
<li>Demo construction of a simple ASP.NET MVC application</li>
<li>Add components of MVC Contrib</li>
<li>Review and demo of ASP.NET MVC 2.0 features</li>
</ul>
</div>
<div id="_mcePaste"><strong>Improving Personal Productivity</strong></div>
<div id="_mcePaste">Personal productivity is out of scope in most agile discussions, but one of the most significant ways to improve the productivity of a team is to improve the productivity of its members. This talk will discuss ideas from GTD and productivity experts and investigate how these lessons can affect and improve the effectiveness of Agile teams.</div>
<div>Session Outline:</div>
<div id="_mcePaste">
<ul>
<li>Factors that affect productivity</li>
<li>Introduction to GTD</li>
<li>Applying GTD concepts at the team level</li>
<li>Productivity Utopia</li>
</ul>
</div>
<div id="_mcePaste"><strong>Making Productivity a Priority from President to Peon</strong></div>
<div id="_mcePaste">As much as we learn and as hard as we try still many of our software projects fail. Hundreds or thousands of factors combine within a team or an organization to cause failure or inefficiency, but a large percentage of projects I&#8217;ve seen fail failed because of unproductive teams. Maybe they produced endless discussions or documentations instead of software, maybe they produced thousands of bugs instead the essential features, maybe they produced accusations and blame instead of working together toward a common goal, or maybe they didn&#8217;t produce much of anything because they weren&#8217;t motivated or didn&#8217;t know what they were supposed to build. Productivity in a software team is the team&#8217;s ability to produce quality, working software, but the concept is ubiquitous throughout all industries.</div>
<div id="_mcePaste">This session will address how everyone from the CEO to an entry-level developer can impact the productivity of their organization and the success of their software projects. We&#8217;ll look at how techniques from agile and scrum can help improve productivity of teams as well as how individuals, teams, and organizations can each learn productivity lessons from GTD and other non-software disciplines.</div>
<div></div>
<div></div>
<div><strong>Continuous Testing in Java</strong></div>
<div id="_mcePaste">Continuous testing promotes the idea that the best way to build better software is by getting feedback early and often. Using continuous testing you get instant feedback on the status of your tests right in your IDE. The earlier you can fix a bug, the less it costs, so why not just fix it right when you create it. The practice of continuous testing blurs the line between syntactic correctness and semantic correctness and helps you build quality code with confidence.</div>
<div id="_mcePaste">This session will introduce the concept of continuous testing and give examples of continuous testing in Java and .NET.</div>
<div></div>
<div></div>
<div><strong>Easy OpenID For Your .NET Application</strong></div>
<div id="_mcePaste">How many username and password combinations do you have to remember. Stop creating applications with their own authentication database. Stop making your users register for yet another account.</div>
<div id="_mcePaste">This session will give an introduction to OpenID, how it works, and the options that exist for creating an OpenID implementation. It will conclude with a demo of how to quickly include OpenID in a ASP.NET application that runs in medium trust.</div>
<div></div>
<div></div>
<div><strong>Rapid Web Design with ASP.NET MVC and Castle ActiveRecord</strong></div>
<div id="_mcePaste">So you&#8217;re writing your next application in ASP.NET MVC, why should you give up the elegance of ActiveRecord just because you&#8217;re not using Ruby on Rails?</div>
<div id="_mcePaste">This session will introduce the ActiveRecord pattern and take you through the construction of a web application using Castle ActiveRecord.</div>
<img src="http://feeds.feedburner.com/~r/ahurst/~4/bK04TYJjPBQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ahurst.com/2010/06/improving-lunch-and-learns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://ahurst.com/2010/06/improving-lunch-and-learns/</feedburner:origLink></item>
		<item>
		<title>AgileDotNet 2010 Content</title>
		<link>http://feedproxy.google.com/~r/ahurst/~3/3kWegUQEP5s/</link>
		<comments>http://ahurst.com/2010/05/agiledotnet-2010-content/#comments</comments>
		<pubDate>Mon, 03 May 2010 20:34:42 +0000</pubDate>
		<dc:creator>allen</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[improving]]></category>
		<category><![CDATA[speaking]]></category>
		<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://ahurst.com/blog/?p=48</guid>
		<description><![CDATA[On April 30, 2010 I did a couple of presentations at AgileDotNet 2010 in Dallas. Here are the slides and supporting code samples from those presentations.]]></description>
			<content:encoded><![CDATA[<p>On April 30, 2010 I did a couple of presentations at AgileDotNet 2010 in Dallas. Here are the slides and supporting code samples from those presentations.</p>
<h2>Agile Adoption Strategies – Business/PM Track</h2>
<p><a href="http://ahurst.com/files/AgileAdoptionStrategies.pdf">Slides</a></p>
<h2>ASP.NET MVC – Advanced Development Track</h2>
<p><a href="http://ahurst.com/files/ASPNET-MVC-2.pdf">Slides</a></p>
<p><a href="http://github.com/akhurst/TeamMvc">Code – Team Management App</a></p>
<p><a href="http://github.com/akhurst/usergroupcms">Code – User Group CMS</a></p>
<img src="http://feeds.feedburner.com/~r/ahurst/~4/3kWegUQEP5s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ahurst.com/2010/05/agiledotnet-2010-content/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://ahurst.com/2010/05/agiledotnet-2010-content/</feedburner:origLink></item>
		<item>
		<title>Agile Marketing</title>
		<link>http://feedproxy.google.com/~r/ahurst/~3/P5xnRw5Wx-o/</link>
		<comments>http://ahurst.com/2009/03/agile-marketing/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 21:26:15 +0000</pubDate>
		<dc:creator>allen</dc:creator>
				<category><![CDATA[improving]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://ahurst.com/?p=45</guid>
		<description><![CDATA[Our marketing team here at Improving uses Scrum on a daily basis. The team recently wrote an article about their progress. It&#8217;s an interesting read and reminds me to look around for ways to improve by noticing ideas and practices that help solve problems in other areas and disciplines.
]]></description>
			<content:encoded><![CDATA[<p>Our marketing team here at <a href="http://www.improvingenterprises.com">Improving</a> uses Scrum on a daily basis. The team recently wrote <a href="http://www.agilejournal.com/component/content/article/1343-agile-marketing">an article about their progress</a>. It&#8217;s an interesting read and reminds me to look around for ways to improve by noticing ideas and practices that help solve problems in other areas and disciplines.</p>
<img src="http://feeds.feedburner.com/~r/ahurst/~4/P5xnRw5Wx-o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ahurst.com/2009/03/agile-marketing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://ahurst.com/2009/03/agile-marketing/</feedburner:origLink></item>
		<item>
		<title>I Love Evernote</title>
		<link>http://feedproxy.google.com/~r/ahurst/~3/vGYF3uNAF2M/</link>
		<comments>http://ahurst.com/2009/03/i-love-evernote/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 23:44:33 +0000</pubDate>
		<dc:creator>allen</dc:creator>
				<category><![CDATA[GTD]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[productivity]]></category>

		<guid isPermaLink="false">http://ahurst.com/?p=42</guid>
		<description><![CDATA[
I&#8217;m now completely addicted to evernote.  I&#8217;ve installed it several times but, until recently, never really used it.  I always thought &#8220;what am i supposed to use this for?&#8221;. I guess I just didn&#8217;t get it. Well&#8230; now I do. I watched Merlin Mann&#8217;s desktop tour, and it convinced me to give it another shot.  I&#8217;ve had DevonThink, Yojimbo, OneNote,  and Evernote all installed, but never really used any of them.
I now dump almost everything into Evernote. I used to use Stickies, random disorganized text files, notes in the margins ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.agilist.me/blog/wp-content/uploads/2009/03/47e8a_Evernote_Icon_256.jpg"><img src="http://www.agilist.me/blog/wp-content/uploads/2009/03/47e8a_Evernote_Icon_256.jpg" alt="" title="47e8a_Evernote_Icon_256" width="256" height="256" class="aligncenter size-full wp-image-61" /></a></p>
<p>I&#8217;m now completely addicted to evernote.  I&#8217;ve installed it several times but, until recently, never really used it.  I always thought &#8220;what am i supposed to use this for?&#8221;. I guess I just didn&#8217;t get it. Well&#8230; now I do. I watched Merlin Mann&#8217;s <a href="http://www.43folders.com/tour1">desktop tour</a>, and it convinced me to give it another shot.  I&#8217;ve had DevonThink, Yojimbo, OneNote,  and Evernote all installed, but never really used any of them.</p>
<p>I now dump almost everything into Evernote. I used to use Stickies, random disorganized text files, notes in the margins of notebooks, and half a dozen other tools to record random bits of data. Now, it all goes in Evernote. It&#8217;s the bag for all the stuff that has no place.</p>
<p>Evernote is indexed (even uses OCR for text in images), allows tagging in multiple notebooks, syncs to the web and iPhone, and has, I&#8217;m sure, dozens of other awesome features I haven&#8217;t even used yet. It supports audio notes, which has helped me get my SpeakEasy and old Outlook recordings catalogued for the sake of having a &#8220;SINGLE&#8221; repository for all of my keepsake junk. I can only imagine the possibilities for how this will help me organize the random emails i&#8217;ve sent to myself and all the other inaccessible and redundant pieces of data I have lying about. It is changing the way I use my computer and how I see and organize data.</p>
<p>Evernote even inspired me to start using 1Password for all my password archives. Evernote doesn&#8217;t really do this well yet, but 1password is working out great. I used to have passwords listed in plain text in text files in a notes directory on my computer. Since the notes directory is becoming history (all bit by bit getting merged into Evernote), I had to put the passwords somewhere, and it&#8217;s a load off my mind having them somewhere secure and available on all my computers and iPhone. 1Password&#8217;s browser integration is freakin awesome (it used to annoy me, but now I love it, I guess I just had to submit to the tool <img src='http://ahurst.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Evernote and 1Password have now joined Quicksilver, Path Finder, Text Mate, Cyberduck, OmniFocus, vmware Fusion, and Sound Source as my <strong>must have</strong> Mac applications. There&#8217;s currently no Quicksilver plugin for Evernote, but there is a useful <a href="http://www.macosxhints.com/article.php?story=20081002082657926">applescript</a> for quick note entries. The applescript tool is still not as functional as the  (awesome) Quicksilver text file manipulation actions (my former primary notekeeping tool), but maybe it will convince me to investigate Quicksilver&#8217;s plugin architecture and try to implement it myself.</p>
<p>Thumbs up evernote for the great work (and for being free so that stubborn people like me will actually use it <img src='http://ahurst.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<img src="http://feeds.feedburner.com/~r/ahurst/~4/vGYF3uNAF2M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ahurst.com/2009/03/i-love-evernote/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://ahurst.com/2009/03/i-love-evernote/</feedburner:origLink></item>
		<item>
		<title>WordPress is where all the cool kids are!</title>
		<link>http://feedproxy.google.com/~r/ahurst/~3/xtG5Vdxi6LM/</link>
		<comments>http://ahurst.com/2008/12/wordpress-is-where-all-the-cool-kids-are/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 16:08:28 +0000</pubDate>
		<dc:creator>allen</dc:creator>
				<category><![CDATA[UX/Web Design]]></category>

		<guid isPermaLink="false">http://ahurst.com/?p=39</guid>
		<description><![CDATA[So I got so frustrated with the formatting of the last couple posts I wrote with Blogger (and never published), that I decided to move my blog to WordPress.  The inertia of that, of couse, made me go months without writing a post.  Well, I&#8217;m back and on WordPress.  Hopefully the move inspires me to publish more posts!
I chose WordPress because of the flexibility, extensibility, and availability of plugins, extensions, themes, etc.  Basically, I chose WordPress because that&#8217;s where all the cool kids are!
]]></description>
			<content:encoded><![CDATA[<p>So I got so frustrated with the formatting of the last couple posts I wrote with Blogger (and never published), that I decided to move my blog to WordPress.  The inertia of that, of couse, made me go months without writing a post.  Well, I&#8217;m back and on WordPress.  Hopefully the move inspires me to publish more posts!</p>
<p>I chose WordPress because of the flexibility, extensibility, and availability of plugins, extensions, themes, etc.  Basically, I chose WordPress because that&#8217;s where all the cool kids are!</p>
<img src="http://feeds.feedburner.com/~r/ahurst/~4/xtG5Vdxi6LM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ahurst.com/2008/12/wordpress-is-where-all-the-cool-kids-are/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://ahurst.com/2008/12/wordpress-is-where-all-the-cool-kids-are/</feedburner:origLink></item>
		<item>
		<title>In defense of “old, tired” tech interview questions</title>
		<link>http://feedproxy.google.com/~r/ahurst/~3/kbUgGrTfw0c/</link>
		<comments>http://ahurst.com/2008/08/in-defense-of-%e2%80%9cold-tired%e2%80%9d-tech-interview-questions/#comments</comments>
		<pubDate>Thu, 07 Aug 2008 22:08:00 +0000</pubDate>
		<dc:creator>allen</dc:creator>
				<category><![CDATA[recruiting]]></category>
		<category><![CDATA[interviews]]></category>
		<category><![CDATA[leadership]]></category>

		<guid isPermaLink="false">tag:blogger.com,1999:blog-3352054771488130103.post-3958083453783637962</guid>
		<description><![CDATA[“What’s the difference between an abstract class and an interface”
“Define polymorphism”
“What’s the difference between a value type and a reference type (primitive and object)”
“How is an object different from a class”
I had a conversation with a fellow Improver a while back where we discussed object oriented and development questions often asked during tech interviews. My colleague had a low opinion of these questions for reasons you might expect: people have rehearsed answers, they don’t necessarily test knowledge that is relevant to being a talented developer, they make you look like ...]]></description>
			<content:encoded><![CDATA[<p>“What’s the difference between an abstract class and an interface”</p>
<p>“Define polymorphism”</p>
<p>“What’s the difference between a value type and a reference type (primitive and object)”</p>
<p>“How is an object different from a class”</p>
<p>I had a conversation with a fellow <a href="http://improvingenterprises.com/">Improver</a> a while back where we discussed object oriented and development questions often asked during tech interviews. My colleague had a low opinion of these questions for reasons you might expect: people have rehearsed answers, they don’t necessarily test knowledge that is relevant to being a talented developer, they make you look like a tool because they’ve already heard the question in every other interview, etc. I tend to ask this type of question from time to time because I find them very interesting, but since our conversation I’ve been wondering if I should discontinue them. I’m hoping for some feedback on whether or not the questions have any merit, but first, here is my defense.</p>
<p>- General reasons to ask these questions<br />
• I mostly ask these questions to junior candidates, not all of them have heard them a thousand times.<br />
• After they answer, I usually ask them if they’ve had that question before (people are very eager to say yes if they have, not sure why), if they have and they still don’t have a good answer, that’s a good data point.<br />
• If someone rolls their eyes or scoffs at the question (it’s happened to me), that’s a good data point. Politeness, restraint, and tact are very important to teamwork and client relations, an eye roll indicates arrogance or at least lack of restraint. If you want to work here, don’t act like my questions are beneath you.<br />
• If these questions are so simple and pedestrian, how come so many people don’t have an answer or answer them badly?<br />
• Every once in a while someone gives me an excellent response showing particular insight. If someone teaches you something new, really makes you think, or turns “What’s the difference between an interface and an abstract class” into a master class on object oriented development, you probably should hire them.<br />
• Most of these questions have several levels of depth, the answer they give tells you a little about how they think, more on this later.<br />
• If the candidate has a canned answer, you can throw them off guard with an insightful follow up and tell whether or not they actually understand what they’re saying. If the candidate is trying to BS you, this tells you something about the way they operate.</p>
<p>- Detailed defense of a couple choice questions</p>
<p>- “Define Polymorphism”<br />
• This isn’t just a vocabulary quiz. That being said, whether or not they’ve heard the term is a data point. If they’ve heard the term but still don’t know what it means, that’s a data point as well. If they tell you straight up, I’m not familiar with that term, 0 points deducted, if they try to BS you, -10 points. If they are unfamiliar with the term you can explain it, then give them an example and have them predict the behavior, hopefully they catch on fast and recognize it from their development experience. You can see the epiphany, if they don’t recognize the behavior once you’ve worked through the example, they are missing some basic OO knowledge. No one cares that it means “many forms”, at least I don’t, tell me what it means in object oriented programming. Some people must be impressed by the etymology of the word because a lot of people make sure to include that in their answer (not necessarily a data point, but is interesting nonetheless). There are two forms of polymorphism, overloaded methods and overridden methods, I like it when they mention that. If they mention only one, you can ask them about the other. This is also an easy way (depending on the target language) to segue into a discussion of virtual methods, C#’s “new” keyword, abstract classes, etc. Some candidates have a one sentence answer, some give you an example, some discuss both types of polymorphism, etc. These all show you a little bit about how they think.</p>
<p>- “What’s the difference between an interface and an abstract class”<br />
• I have to admit, I don’t really like this question. I prefer to ask them to define one, then the other and discuss the merits of loose coupling, the impact of inheritance on the rigidity of your object model, etc. But the spirit of the question is the same no matter how you structure it. Discussing these concepts at the definition level allows you some insight into the way the candidate considers these constructs and the value they place on them. Some people don’t have much to say about interfaces because they haven’t built very many (not good). Some people have well defined scenarios in their mind for when each construct is valuable, this indicates a mature sense of object-oriented design.</p>
<p>Many other common and overly-asked questions provide merit for similar reasons. I’m always interested in hearing the questions people ask, and why they ask them. I don’t subscribe to the belief that just because a question is asked often that it is a bad question. In fact, the opposite is likely true! Maybe some people just don’t have good reasons for why they ask them?</p>
<img src="http://feeds.feedburner.com/~r/ahurst/~4/kbUgGrTfw0c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ahurst.com/2008/08/in-defense-of-%e2%80%9cold-tired%e2%80%9d-tech-interview-questions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://ahurst.com/2008/08/in-defense-of-%e2%80%9cold-tired%e2%80%9d-tech-interview-questions/</feedburner:origLink></item>
		<item>
		<title>Kobe, Tell Me How My Apps Taste!</title>
		<link>http://feedproxy.google.com/~r/ahurst/~3/QJJT7N3dGoM/</link>
		<comments>http://ahurst.com/2008/07/kobe-tell-me-how-my-apps-taste/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 22:12:00 +0000</pubDate>
		<dc:creator>allen</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[productivity]]></category>

		<guid isPermaLink="false">tag:blogger.com,1999:blog-3352054771488130103.post-3778426076393208284</guid>
		<description><![CDATA[I think it&#8217;s very pathetic how awesome this day has been for me.  The iPhone software 2.0 was &#8220;released&#8221; today (more like &#8220;found on Apple&#8217;s servers&#8220;).  And I&#8217;ve been playing with all of the cool free and non-free apps I downloaded.  My favorite so far is, of course, OmniFocus for iPhone.  I feel like I&#8217;ve been waiting my whole life for my iPhone to support my GTD lifestyle and now my system is finally complete! &#8230; except MobileMe has been down all day so I can&#8217;t ...]]></description>
			<content:encoded><![CDATA[<p>I think it&#8217;s very pathetic how awesome this day has been for me.  The iPhone software 2.0 was &#8220;released&#8221; today (more like &#8220;<a href="http://www.tuaw.com/2008/07/10/get-your-2-0-firmware-on-early/">found on Apple&#8217;s servers</a>&#8220;).  And I&#8217;ve been playing with all of the cool free and non-free apps I downloaded.  My favorite so far is, of course, OmniFocus for iPhone.  I feel like I&#8217;ve been waiting my whole life for my iPhone to support my GTD lifestyle and now my system is finally complete! &#8230; except MobileMe has been down all day so I can&#8217;t test my automatic, Exchange-less, over-the-air syncing of contacts and calendar, but that just gives me something to look forward to! So far, OmniFocus&#8217; iPhone application has far exceeded my expectations, we&#8217;ll see what I say about it next week. <img src='http://ahurst.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>If you don&#8217;t have an iPhone, go get one! The AppStore is the missing killer feature of the iPhone and there&#8217;s nothing like it for any other mobile platform.  Way to go Apple!</p>
<img src="http://feeds.feedburner.com/~r/ahurst/~4/QJJT7N3dGoM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ahurst.com/2008/07/kobe-tell-me-how-my-apps-taste/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://ahurst.com/2008/07/kobe-tell-me-how-my-apps-taste/</feedburner:origLink></item>
	</channel>
</rss>
