<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>Designing Interactive &#187; Agile</title>
	<atom:link href="http://www.designinginteractive.com/category/agile/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.designinginteractive.com</link>
	<description>Usable Web Applications with Web Standards</description>
	<lastBuildDate>Tue, 09 Mar 2010 21:18:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Technical Stories in Agile Software Development</title>
		<link>http://www.designinginteractive.com/agile/thoughts-on-technical-stories/</link>
		<comments>http://www.designinginteractive.com/agile/thoughts-on-technical-stories/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 20:32:38 +0000</pubDate>
		<dc:creator>Dave Goerlich</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[kaizen]]></category>
		<category><![CDATA[lean]]></category>

		<guid isPermaLink="false">http://www.designinginteractive.com/?p=855</guid>
		<description><![CDATA[I just read this interesting post on technical stories by Jack Milunsky.  In the article he addresses the question of &#8220;Should technical stories appear on the product backlog for a Scrum project?&#8221;  For billable client projects, a related question exists of &#8220;Are technical stores billable to the client?&#8221;
The answer to both of these questions is [...]


Related posts:<ol><li><a href='http://www.designinginteractive.com/agile/agile-development-for-tiny-teams/' rel='bookmark' title='Permanent Link: Agile Development for Tiny Teams'>Agile Development for Tiny Teams</a></li><li><a href='http://www.designinginteractive.com/agile/eliminating-waste-from-your-agile-process/' rel='bookmark' title='Permanent Link: Eliminating Waste from your Agile Process'>Eliminating Waste from your Agile Process</a></li><li><a href='http://www.designinginteractive.com/agile/our-new-development-process/' rel='bookmark' title='Permanent Link: Our New Development Process'>Our New Development Process</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>I just read this interesting post on <a href="http://agilesoftwaredevelopment.com/blog/jackmilunsky/technical-stories-are-they-included-backlog">technical stories</a> by Jack Milunsky.  In the article he addresses the question of &#8220;Should technical stories appear on the product backlog for a Scrum project?&#8221;  For billable client projects, a related question exists of &#8220;Are technical stores billable to the client?&#8221;</p>
<p>The answer to both of these questions is yes.  Technical stories represent efforts necessary to improve the infrastructure of a system.  While they do not add value to the system through the addition of new or refined functionality,  they do directly add value to the system in other ways.</p>
<p><span id="more-855"></span></p>
<p>It is our responsibility to identify the value directly added by each technical story, and to educate the client on this value.  It may not be as quantifiable as the value of new functionality, but it does exist. Better system stability, lower vulnerability to security or other malicious attacks, enhanced scalability and more robust disaster recovery all intrinsically add value to a system.  Value can also come in the form of more efficient future development, and the associated reduction in cost or schedule.</p>
<p>In the article, Jack observes:</p>
<blockquote><p>But what about the type of story asked by one of the members &#8220;As a development team member, I want the existing unit tests to run under CruiseControl, so that I know if anything breaks&#8221;. Where does this belong?</p>
<p>Well this is a perfectly written story but the story really has no ultimate value for the end user at least not directly.</p></blockquote>
<p>I disagree with Jack that such a story does not have an ultimate value to the end user, or that it&#8217;s value is at most indirect.  Automated unit tests allow the development team to deliver new features to the end user much faster.  Every feature added to a system has a value, therefore the lack of any given feature has an opportunity cost.  The direct benefit to the end user is the reduction of that opportunity cost.</p>
<p>If I am unable to articulate the direct value of a technical story to a client, I have no business doing that story let alone asking the client to pay for it.  Effort without value is waste.</p>
<p>We include these infrastructure upgrade tasks in our project <a href="http://www.designinginteractive.com/agile/workflow-minimally-marketable-features/">MMF workflow</a>.  Cards are written for them, and these cards are added to the project backlog.  Once educated to their value, our clients are then empowered to make priority decisions between technical infrastructure tasks and new features.  We must trust that the customer knows their business the best.  They will know if the opportunity cost of a delay in the implementation of feature X is of higher value than the future cost and time savings of a conversion from Scriptaculous to JQuery, and will set the appropriate priorities.</p>




	<a rel="nofollow" class="thickbox" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fthoughts-on-technical-stories%2F&amp;title=Technical%20Stories%20in%20Agile%20Software%20Development&amp;bodytext=I%20just%20read%20this%20interesting%20post%20on%20technical%20stories%20by%20Jack%20Milunsky.%C2%A0%20In%20the%20article%20he%20addresses%20the%20question%20of%20%22Should%20technical%20stories%20appear%20on%20the%20product%20backlog%20for%20a%20Scrum%20project%3F%22%C2%A0%20For%20billable%20client%20projects%2C%20a%20related%20question%20ex?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fthoughts-on-technical-stories%2F?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/sphinn.png" title="Sphinn" alt="Sphinn" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://delicious.com/post?url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fthoughts-on-technical-stories%2F&amp;title=Technical%20Stories%20in%20Agile%20Software%20Development&amp;notes=I%20just%20read%20this%20interesting%20post%20on%20technical%20stories%20by%20Jack%20Milunsky.%C2%A0%20In%20the%20article%20he%20addresses%20the%20question%20of%20%22Should%20technical%20stories%20appear%20on%20the%20product%20backlog%20for%20a%20Scrum%20project%3F%22%C2%A0%20For%20billable%20client%20projects%2C%20a%20related%20question%20ex?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fthoughts-on-technical-stories%2F&amp;t=Technical%20Stories%20in%20Agile%20Software%20Development?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fthoughts-on-technical-stories%2F&amp;title=Technical%20Stories%20in%20Agile%20Software%20Development&amp;annotation=I%20just%20read%20this%20interesting%20post%20on%20technical%20stories%20by%20Jack%20Milunsky.%C2%A0%20In%20the%20article%20he%20addresses%20the%20question%20of%20%22Should%20technical%20stories%20appear%20on%20the%20product%20backlog%20for%20a%20Scrum%20project%3F%22%C2%A0%20For%20billable%20client%20projects%2C%20a%20related%20question%20ex?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fthoughts-on-technical-stories%2F&amp;title=Technical%20Stories%20in%20Agile%20Software%20Development?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://posterous.com/share?linkto=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fthoughts-on-technical-stories%2F&amp;title=Technical%20Stories%20in%20Agile%20Software%20Development&amp;selection=I%20just%20read%20this%20interesting%20post%20on%20technical%20stories%20by%20Jack%20Milunsky.%C2%A0%20In%20the%20article%20he%20addresses%20the%20question%20of%20%22Should%20technical%20stories%20appear%20on%20the%20product%20backlog%20for%20a%20Scrum%20project%3F%22%C2%A0%20For%20billable%20client%20projects%2C%20a%20related%20question%20ex?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/posterous.png" title="Posterous" alt="Posterous" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fthoughts-on-technical-stories%2F&amp;title=Technical%20Stories%20in%20Agile%20Software%20Development?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.designinginteractive.com/feed/?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.sphere.com/search?q=sphereit:http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fthoughts-on-technical-stories%2F&amp;title=Technical%20Stories%20in%20Agile%20Software%20Development?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/sphere.png" title="SphereIt" alt="SphereIt" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fthoughts-on-technical-stories%2F&amp;title=Technical%20Stories%20in%20Agile%20Software%20Development" title="StumbleUpon"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fthoughts-on-technical-stories%2F?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fthoughts-on-technical-stories%2F&amp;t=Technical%20Stories%20in%20Agile%20Software%20Development&amp;s=I%20just%20read%20this%20interesting%20post%20on%20technical%20stories%20by%20Jack%20Milunsky.%C2%A0%20In%20the%20article%20he%20addresses%20the%20question%20of%20%22Should%20technical%20stories%20appear%20on%20the%20product%20backlog%20for%20a%20Scrum%20project%3F%22%C2%A0%20For%20billable%20client%20projects%2C%20a%20related%20question%20ex" title="Tumblr"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Technical%20Stories%20in%20Agile%20Software%20Development%20-%20http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fthoughts-on-technical-stories%2F" title="Twitter"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>


<br/><br/>

<p>Related posts:<ol><li><a href='http://www.designinginteractive.com/agile/agile-development-for-tiny-teams/' rel='bookmark' title='Permanent Link: Agile Development for Tiny Teams'>Agile Development for Tiny Teams</a></li><li><a href='http://www.designinginteractive.com/agile/eliminating-waste-from-your-agile-process/' rel='bookmark' title='Permanent Link: Eliminating Waste from your Agile Process'>Eliminating Waste from your Agile Process</a></li><li><a href='http://www.designinginteractive.com/agile/our-new-development-process/' rel='bookmark' title='Permanent Link: Our New Development Process'>Our New Development Process</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.designinginteractive.com/agile/thoughts-on-technical-stories/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Workflow &#8211; Minimally Marketable Features</title>
		<link>http://www.designinginteractive.com/agile/workflow-minimally-marketable-features/</link>
		<comments>http://www.designinginteractive.com/agile/workflow-minimally-marketable-features/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 15:08:15 +0000</pubDate>
		<dc:creator>Dave Goerlich</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[kaizen]]></category>
		<category><![CDATA[kanban]]></category>

		<guid isPermaLink="false">http://www.designinginteractive.com/?p=740</guid>
		<description><![CDATA[As I described in the overview of Our New Development Process, the MMF (Minimally Marketable Feature) workflow is the customer facing portion of our development process.  Our changes in this area have had the biggest impact upon our clients, and have met a positive response.  It has allowed us to isolate our clients from the [...]


Related posts:<ol><li><a href='http://www.designinginteractive.com/agile/agile-development-for-tiny-teams/' rel='bookmark' title='Permanent Link: Agile Development for Tiny Teams'>Agile Development for Tiny Teams</a></li><li><a href='http://www.designinginteractive.com/agile/our-new-development-process/' rel='bookmark' title='Permanent Link: Our New Development Process'>Our New Development Process</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>As I described in the overview of <a href="http://www.designinginteractive.com/agile/our-new-development-process/">Our New Development Process</a>, the MMF (Minimally Marketable Feature) workflow is the customer facing portion of our development process.  Our changes in this area have had the biggest impact upon our clients, and have met a positive response.  It has allowed us to isolate our clients from the implementation, and remain focused on the behavior of their application.</p>
<p>Our transition to a lean development process was the first exposure most of our clients had had to any type of agile environment.  Understandably many of them felt out of their element and truthfully we felt the same way.  What really made the transition successful for us and our clients was the trust that came from the good relationships we&#8217;ve maintained.  Being very transparent with our clients went far in cementing that trust.  We let them know that this was a major change for us too, that we were (and still are) learning and refining our process.  Since our clients are very much part of the project team, I openly solicited input from them on how we could improve the process.</p>
<p><span id="more-740"></span></p>
<h2>Kanban Boards</h2>
<p>We employ separate MMF Kanban boards for each client&#8217;s project.  Each board has the following queues through which the MMFs flow:</p>
<p><a href="http://www.designinginteractive.com/wp-content/uploads/2010/01/MMF-Swim-Lanes.png"><img class="alignnone size-full wp-image-827" title="MMF-Swim-Lanes" src="http://www.designinginteractive.com/wp-content/uploads/2010/01/MMF-Swim-Lanes.png" alt="" width="520" height="329" /></a></p>
<ol>
<li><strong>Backlog</strong> &#8211; This is an unordered list of all MMFs that have been conceived. This queue has no limit. It serves as a dumping ground for ideas as simply existing in this queue does not imply any commitment that an MMF will ever be implemented. MMFs in the Backlog may or may not have an estimate.</li>
<li><strong>Pending / Scheduled</strong> &#8211; This queue is prioritized with a limit of 3. Barring priority changes, MMFs in this queue are committed to development. A planning meeting with the client is triggered when this queue reaches 1 item. During this planning meeting the next two MMFs to be developed are identified and added to the queue in order. The client is welcome to change priorities at any time, reordering the queue or swapping MMFs from the Backlog. All MMFs in this queue will have an estimate.</li>
<li><strong>Work In Process (WIP)</strong> &#8211; To address our goal of reducing WIP, this queue has a limit of 1. It is while an MMF is in this queue that the nested, story card based workflow is employed.</li>
<li><strong>Acceptance Testing / Show &amp; Tell</strong> &#8211; Again, to reduce WIP, this queue has a limit of 1. Once the MMF in this queue is ready, a deploy of the software is triggered.</li>
</ol>
<h2>Estimation</h2>
<p>Each MMF is given a &#8220;shirt size&#8221; of small, medium, large or extra large.  These estimates are assigned at any time while the MMF is in the backlog queue.  Sometimes estimates are assigned when an MMF is added to the backlog.  Other times an MMF does not receive its estimate until we are about to pull it into the pending queue.  There is no scientific method for determining the shirt size of a given MMF. It&#8217;s a simple process of assigning a &#8220;gut feel&#8221; based on the description of the MMF.</p>
<p>Even though there is no formal process to calculating them, some of our clients have found them quite valuable in helping determine priority.  We&#8217;ve had clients make the decision that the combined value of 3 small MMFs outweighed the value of one large MMF, and pulled them into the pending queue ahead of it.</p>
<p>Once MMFs have been pulled into the pending queue, the estimate serves as the primary tool by which we can answer the client&#8217;s question of &#8220;How long until I have this?&#8221;</p>
<p>Estimates are not carved in stone.  As we work, we understand the scope of an MMF better and uncover knowledge upon which we are able to make a better estimate.  Sometimes development of a higher priority MMF will impact the estimate of an MMF farther back in the workflow.  The more accurate our estimates, the more valuable and useful they are.  We update our estimates as necessary for the overall good of the system.</p>
<p>A change of more than one size, such as small to large or XL to medium, does trigger a review as to why we are making such a significant change to our original estimate.  Even though the process of setting an estimate is one of an educated guess, we do want to continue to improve our ability to make accurate guesses.</p>
<h2>Data Tracking, Trailing Indicators and Their Application</h2>
<p>There is a significant amount of data that exists around just this part of our development process &#8211; enough to keep a data mining, business intelligence geek busy 40+ hours a week.  The truth is, however, that if I were to spend my time doing analysis of our process &#8211; there wouldn&#8217;t be enough flow through the process to generate data worth analysis.  We are a tiny team of 2, after all.  I applied YAGNI, and we are only tracking the couple of data points that are critical to our management of the system.</p>
<p>For every MMF, we track the date it is pulled into the WIP queue (start date) and the date it is finished in the acceptance test queue (complete date).  From those two dates, we are able to calculate and record the MMF&#8217;s cycle time.  We do not record any additional data points for MMFs.</p>
<p>We log MMF cycle times by complete date and estimated size.  I maintain population means by estimate size, rounded to a full day.  I&#8217;m then able to use these averages to compute the answer to the client&#8217;s question of &#8220;How long?&#8221; by applying them to all MMFs ahead of the one in question.  MMFs in the WIP or acceptance testing queues  are included by determining days left as the difference between start date + average days and today.</p>
<h2>Flexibility to Interface with our Client&#8217;s Business</h2>
<p>Each client and each project will naturally be a little bit different than the last.  We have adapted this workflow a little bit to better fit with our client&#8217;s business process.  For one client, we expanded the limit for the pending queue to 5.  This allows for a longer interval between the triggered planning meetings, which fits better with his schedule.  For another client we actually maintain the backlog as a collection of different lists of MMFs &#8211; one for each functional area of the project.</p>
<h2>Kaizen</h2>
<p>Our goal is to work towards the most efficient and effective process for developing software for our clients.  Just as I solicited input from our clients for improvements, I&#8217;m very interested to hear your feedback on this workflow.</p>




	<a rel="nofollow" class="thickbox" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fworkflow-minimally-marketable-features%2F&amp;title=Workflow%20-%20Minimally%20Marketable%20Features&amp;bodytext=As%20I%20described%20in%20the%20overview%20of%20Our%20New%20Development%20Process%2C%20the%20MMF%20%28Minimally%20Marketable%20Feature%29%20workflow%20is%20the%20customer%20facing%20portion%20of%20our%20development%20process.%C2%A0%20Our%20changes%20in%20this%20area%20have%20had%20the%20biggest%20impact%20upon%20our%20clients%2C%20and%20hav?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fworkflow-minimally-marketable-features%2F?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/sphinn.png" title="Sphinn" alt="Sphinn" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://delicious.com/post?url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fworkflow-minimally-marketable-features%2F&amp;title=Workflow%20-%20Minimally%20Marketable%20Features&amp;notes=As%20I%20described%20in%20the%20overview%20of%20Our%20New%20Development%20Process%2C%20the%20MMF%20%28Minimally%20Marketable%20Feature%29%20workflow%20is%20the%20customer%20facing%20portion%20of%20our%20development%20process.%C2%A0%20Our%20changes%20in%20this%20area%20have%20had%20the%20biggest%20impact%20upon%20our%20clients%2C%20and%20hav?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fworkflow-minimally-marketable-features%2F&amp;t=Workflow%20-%20Minimally%20Marketable%20Features?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fworkflow-minimally-marketable-features%2F&amp;title=Workflow%20-%20Minimally%20Marketable%20Features&amp;annotation=As%20I%20described%20in%20the%20overview%20of%20Our%20New%20Development%20Process%2C%20the%20MMF%20%28Minimally%20Marketable%20Feature%29%20workflow%20is%20the%20customer%20facing%20portion%20of%20our%20development%20process.%C2%A0%20Our%20changes%20in%20this%20area%20have%20had%20the%20biggest%20impact%20upon%20our%20clients%2C%20and%20hav?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fworkflow-minimally-marketable-features%2F&amp;title=Workflow%20-%20Minimally%20Marketable%20Features?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://posterous.com/share?linkto=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fworkflow-minimally-marketable-features%2F&amp;title=Workflow%20-%20Minimally%20Marketable%20Features&amp;selection=As%20I%20described%20in%20the%20overview%20of%20Our%20New%20Development%20Process%2C%20the%20MMF%20%28Minimally%20Marketable%20Feature%29%20workflow%20is%20the%20customer%20facing%20portion%20of%20our%20development%20process.%C2%A0%20Our%20changes%20in%20this%20area%20have%20had%20the%20biggest%20impact%20upon%20our%20clients%2C%20and%20hav?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/posterous.png" title="Posterous" alt="Posterous" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fworkflow-minimally-marketable-features%2F&amp;title=Workflow%20-%20Minimally%20Marketable%20Features?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.designinginteractive.com/feed/?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.sphere.com/search?q=sphereit:http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fworkflow-minimally-marketable-features%2F&amp;title=Workflow%20-%20Minimally%20Marketable%20Features?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/sphere.png" title="SphereIt" alt="SphereIt" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fworkflow-minimally-marketable-features%2F&amp;title=Workflow%20-%20Minimally%20Marketable%20Features" title="StumbleUpon"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fworkflow-minimally-marketable-features%2F?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fworkflow-minimally-marketable-features%2F&amp;t=Workflow%20-%20Minimally%20Marketable%20Features&amp;s=As%20I%20described%20in%20the%20overview%20of%20Our%20New%20Development%20Process%2C%20the%20MMF%20%28Minimally%20Marketable%20Feature%29%20workflow%20is%20the%20customer%20facing%20portion%20of%20our%20development%20process.%C2%A0%20Our%20changes%20in%20this%20area%20have%20had%20the%20biggest%20impact%20upon%20our%20clients%2C%20and%20hav" title="Tumblr"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Workflow%20-%20Minimally%20Marketable%20Features%20-%20http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fworkflow-minimally-marketable-features%2F" title="Twitter"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>


<br/><br/>

<p>Related posts:<ol><li><a href='http://www.designinginteractive.com/agile/agile-development-for-tiny-teams/' rel='bookmark' title='Permanent Link: Agile Development for Tiny Teams'>Agile Development for Tiny Teams</a></li><li><a href='http://www.designinginteractive.com/agile/our-new-development-process/' rel='bookmark' title='Permanent Link: Our New Development Process'>Our New Development Process</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.designinginteractive.com/agile/workflow-minimally-marketable-features/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Our New Development Process</title>
		<link>http://www.designinginteractive.com/agile/our-new-development-process/</link>
		<comments>http://www.designinginteractive.com/agile/our-new-development-process/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 13:30:58 +0000</pubDate>
		<dc:creator>Dave Goerlich</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[kaizen]]></category>
		<category><![CDATA[kanban]]></category>

		<guid isPermaLink="false">http://www.designinginteractive.com/?p=718</guid>
		<description><![CDATA[In Agile Development for Tiny Teams, I presented an overview of our original development and project management process.  I highlighted a number of challenges we encountered by using it.  Thanks to Jon Stahl, Josh and I were exposed to the application of Kanban to the software development process.  I was convinced that [...]


Related posts:<ol><li><a href='http://www.designinginteractive.com/agile/thoughts-on-technical-stories/' rel='bookmark' title='Permanent Link: Technical Stories in Agile Software Development'>Technical Stories in Agile Software Development</a></li><li><a href='http://www.designinginteractive.com/agile/agile-development-for-tiny-teams/' rel='bookmark' title='Permanent Link: Agile Development for Tiny Teams'>Agile Development for Tiny Teams</a></li><li><a href='http://www.designinginteractive.com/agile/workflow-minimally-marketable-features/' rel='bookmark' title='Permanent Link: Workflow &#8211; Minimally Marketable Features'>Workflow &#8211; Minimally Marketable Features</a></li><li><a href='http://www.designinginteractive.com/agile/eliminating-waste-from-your-agile-process/' rel='bookmark' title='Permanent Link: Eliminating Waste from your Agile Process'>Eliminating Waste from your Agile Process</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://www.designinginteractive.com/agile/agile-development-for-tiny-teams/">Agile Development for Tiny Teams</a>, I presented an overview of our original development and project management process.  I highlighted a number of challenges we encountered by using it.  Thanks to <a href="http://www.leandog.com">Jon Stahl</a>, Josh and I were exposed to the application of Kanban to the software development process.  I was convinced that Kanban was the right tool for us.  However, the question of exactly how to implement it as part of a new overall development process remained.</p>
<p>We determined that our new process needed to be:</p>
<ul>
<li><strong>Simple</strong> &#8211; Being a tiny team, the impact of time used managing the process rather than used generating billable work product is magnified.</li>
<li><strong>Able to handle concurrent projects</strong> &#8211; We needed to be able to support ongoing development needs of current clients while continuing to develop new clients and projects.</li>
<li><strong>Scalable</strong> &#8211; We will add subcontractors to our team as needs arise.  Our new process must work regardless of the team size.  It also needed to be easy to teach to new team members.</li>
<li><strong>Flexible</strong> &#8211; In addition to client work, Josh and I are partners in <a href="http://www.prfessor.com">Prfessor.com</a> which includes a significant amount of development efforts.  The process needed to be flexible enough to manage these obligations too.</li>
<li><strong>Waste Reducing</strong> &#8211; We needed to address the four top areas of waste that I identified in our original process (see <a href="http://www.designinginteractive.com/agile/eliminating-waste-from-your-agile-process/">Eliminating Waste from Your Agile Process</a>)
<ul>
<li>Work In Process (more than the bare minimum necessary)</li>
<li>Rework</li>
<li>Over-engineering the code</li>
<li>Repetitive tasks</li>
</ul>
</li>
</ul>
<p>From Jon&#8217;s presentation I realized that we really had two separate workflows, one nested inside the other.  We never formalized that distinction, but when we began to view things in terms of MMFs (Minimally Marketable Features) the nested process jumped right out.  Understanding this nesting was critical to the success of our new process.</p>
<p><span id="more-718"></span></p>
<h2>MMF Workflow</h2>
<p>Our MMF workflow is a customer facing part of our process. It relies upon regular input from the client and is the primary interface for our clients into our development process.  Clients are welcome to look further into our process and see the details of their project.  We have found that some clients prefer to let us completely handle the details.  Our new process provides the ability for them to be involved in the process without being overwhelmed by the technology and implementation details.</p>
<p>MMFs flow through a 4 queue process:</p>
<p><a href="http://www.designinginteractive.com/wp-content/uploads/2009/12/MMF-Swim-Lanes.png"><img class="alignnone size-full wp-image-800" title="MMF Swim Lanes" src="http://www.designinginteractive.com/wp-content/uploads/2010/01/MMF-Swim-Lanes.png" alt="" width="520" height="329" /></a></p>
<p>The MMF workflow is the part of our business process that needs to interface with our client&#8217;s business processes. We found that providing the flexibility for our process to adapt to some level to fit the client has been very valuable.  For example, for one of our best clients we maintain multiple Backlog queues &#8211; one for each aspect of their application.  This organization of MMFs has proven valuable to them in support of accurately setting priorities.  Another client was more comfortable with a larger Pending queue as it provides an increased interval between triggered planning meetings.  We try, however, to keep this queue limit as small as possible in order to avoid thrash in the queue due to changing priorities.</p>
<h2>Story Card Workflow</h2>
<p>Nested inside our MMF workflow is our Story Card workflow.  This is where the actual coding efforts are managed.  The MMF workflow addresses behavior while the Story Card workflow addresses implementation.  The MMF workflow is the customer facing portion of our process. The Story Card workflow is primarily for internal consumption.  The first thing that happens when an MMF is pulled into the WIP queue is for story cards to be written defining implementation details.  .</p>
<p>With our unique but complimentary skill sets, our original workflow was implemented through Kanban queues through which story cards would flow:</p>
<p><a href="http://www.designinginteractive.com/wp-content/uploads/2009/12/Story-Card-Swim-Lanes.png"><img class="alignnone size-full wp-image-799" title="Story Card Swim Lanes" src="http://www.designinginteractive.com/wp-content/uploads/2009/12/Story-Card-Swim-Lanes.png" alt="" width="520" height="280" /></a></p>
<h2>Estimation</h2>
<p>Clients have consistently presented us with two common questions &#8211; &#8220;How long until I have this?&#8221; and &#8220;How much will it cost?&#8221;.  Obviously the answer to both questions involve some level of estimation.  We have formalized the process of estimation towards the primary goal of answering those two client questions in a consistent manner.  MMFs and Story Cards are estimated using different methods.</p>
<p>MMFs are given a &#8220;shirt size&#8221; of small, medium, large or extra large.  There is no scientific method for determining the shirt size of a given MMF.  It&#8217;s a simple process of assigning a &#8220;gut feel&#8221; based on the description of the MMF.  As further understanding of the scope and meaning of an MMF is gained, it is acceptable to change the assigned estimate.  Continuous improvement applies to the estimates assigned too.  These shirt sized estimates are used along with team performance data collected through the process to answer the question of &#8220;How Long?&#8221;</p>
<p>Story Cards are assigned a point value.  We use the binary sequence of 0,1, 2, 4, 8, 16 as valid point assignments.  We&#8217;ve determined that if a card should be assigned more than 16 points, it should be further broken down into smaller cards.  To date, we have found that 8 points tends to be the largest value commonly used.  Point assignment happens as the story cards are written, prioritized and added to the Backlog. We have transitioned from billing our clients by the hour to billing them by the point.  These point estimates therefore easily compute to provide the answer to &#8220;How expensive?&#8221;.</p>
<h2>Concurrent Projects</h2>
<p>One of the most simple parts of our new process is the management of multiple concurrent projects.  We have set agreements with our clients, committing to a specified number of average points per week of development velocity.  With the rhythm of the development process, the actual weekly velocity for a given project varies.  We track our performance on each project to ensure that on average we are meeting our commitments.  Our clients have embraced this process as it provides them with both steady progress on their projects as well as a predictable monthly invoice from us.</p>
<p>For example, we have calculated that Josh and I can produce an average development velocity of 35 points per week.  Currently we have committed 10 points per week to one client and 15 points a week to another client, leaving us with 10 points per week we can employ on either project as necessary or on internal projects such as <a href="http://www.prfessor.com">Prfessor</a>.</p>
<h2>Kaizen</h2>
<p>Even though this process is serving us well today, we continue to improve the process.  Planning and writing this series of posts has triggered a number of ideas for ways we could further refine our process.  I know that external review of a process can many times uncover issues that those involved in the day to day operations miss.  I&#8217;d really enjoy hearing your feedback on our process, or about a process you&#8217;ve implemented to solve similar challenges.</p>




	<a rel="nofollow" class="thickbox" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Four-new-development-process%2F&amp;title=Our%20New%20Development%20Process&amp;bodytext=In%20Agile%20Development%20for%20Tiny%20Teams%2C%20I%20presented%20an%20overview%20of%20our%20original%20development%20and%20project%20management%20process.%20%20I%20highlighted%20a%20number%20of%20challenges%20we%20encountered%20by%20using%20it.%20%20Thanks%20to%20Jon%20Stahl%2C%20Josh%20and%20I%20were%20exposed%20to%20the%20applicatio?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Four-new-development-process%2F?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/sphinn.png" title="Sphinn" alt="Sphinn" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://delicious.com/post?url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Four-new-development-process%2F&amp;title=Our%20New%20Development%20Process&amp;notes=In%20Agile%20Development%20for%20Tiny%20Teams%2C%20I%20presented%20an%20overview%20of%20our%20original%20development%20and%20project%20management%20process.%20%20I%20highlighted%20a%20number%20of%20challenges%20we%20encountered%20by%20using%20it.%20%20Thanks%20to%20Jon%20Stahl%2C%20Josh%20and%20I%20were%20exposed%20to%20the%20applicatio?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Four-new-development-process%2F&amp;t=Our%20New%20Development%20Process?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Four-new-development-process%2F&amp;title=Our%20New%20Development%20Process&amp;annotation=In%20Agile%20Development%20for%20Tiny%20Teams%2C%20I%20presented%20an%20overview%20of%20our%20original%20development%20and%20project%20management%20process.%20%20I%20highlighted%20a%20number%20of%20challenges%20we%20encountered%20by%20using%20it.%20%20Thanks%20to%20Jon%20Stahl%2C%20Josh%20and%20I%20were%20exposed%20to%20the%20applicatio?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Four-new-development-process%2F&amp;title=Our%20New%20Development%20Process?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://posterous.com/share?linkto=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Four-new-development-process%2F&amp;title=Our%20New%20Development%20Process&amp;selection=In%20Agile%20Development%20for%20Tiny%20Teams%2C%20I%20presented%20an%20overview%20of%20our%20original%20development%20and%20project%20management%20process.%20%20I%20highlighted%20a%20number%20of%20challenges%20we%20encountered%20by%20using%20it.%20%20Thanks%20to%20Jon%20Stahl%2C%20Josh%20and%20I%20were%20exposed%20to%20the%20applicatio?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/posterous.png" title="Posterous" alt="Posterous" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Four-new-development-process%2F&amp;title=Our%20New%20Development%20Process?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.designinginteractive.com/feed/?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.sphere.com/search?q=sphereit:http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Four-new-development-process%2F&amp;title=Our%20New%20Development%20Process?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/sphere.png" title="SphereIt" alt="SphereIt" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Four-new-development-process%2F&amp;title=Our%20New%20Development%20Process" title="StumbleUpon"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Four-new-development-process%2F?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Four-new-development-process%2F&amp;t=Our%20New%20Development%20Process&amp;s=In%20Agile%20Development%20for%20Tiny%20Teams%2C%20I%20presented%20an%20overview%20of%20our%20original%20development%20and%20project%20management%20process.%20%20I%20highlighted%20a%20number%20of%20challenges%20we%20encountered%20by%20using%20it.%20%20Thanks%20to%20Jon%20Stahl%2C%20Josh%20and%20I%20were%20exposed%20to%20the%20applicatio" title="Tumblr"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Our%20New%20Development%20Process%20-%20http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Four-new-development-process%2F" title="Twitter"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>


<br/><br/>

<p>Related posts:<ol><li><a href='http://www.designinginteractive.com/agile/thoughts-on-technical-stories/' rel='bookmark' title='Permanent Link: Technical Stories in Agile Software Development'>Technical Stories in Agile Software Development</a></li><li><a href='http://www.designinginteractive.com/agile/agile-development-for-tiny-teams/' rel='bookmark' title='Permanent Link: Agile Development for Tiny Teams'>Agile Development for Tiny Teams</a></li><li><a href='http://www.designinginteractive.com/agile/workflow-minimally-marketable-features/' rel='bookmark' title='Permanent Link: Workflow &#8211; Minimally Marketable Features'>Workflow &#8211; Minimally Marketable Features</a></li><li><a href='http://www.designinginteractive.com/agile/eliminating-waste-from-your-agile-process/' rel='bookmark' title='Permanent Link: Eliminating Waste from your Agile Process'>Eliminating Waste from your Agile Process</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.designinginteractive.com/agile/our-new-development-process/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Eliminating Waste from your Agile Process</title>
		<link>http://www.designinginteractive.com/agile/eliminating-waste-from-your-agile-process/</link>
		<comments>http://www.designinginteractive.com/agile/eliminating-waste-from-your-agile-process/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 18:31:20 +0000</pubDate>
		<dc:creator>Dave Goerlich</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[kaizen]]></category>
		<category><![CDATA[waste]]></category>

		<guid isPermaLink="false">http://www.designinginteractive.com/?p=711</guid>
		<description><![CDATA[A central pillar of a lean software development process is elimination of waste.  So what is &#8220;waste&#8221; in a software development process?  In a manufacturing process, any amount of work in process above the bare minimum to meet production levels is waste.  Keith Swenson recently wrote an an excellent article &#8220;Taiichi Ohno [...]


Related posts:<ol><li><a href='http://www.designinginteractive.com/agile/thoughts-on-technical-stories/' rel='bookmark' title='Permanent Link: Technical Stories in Agile Software Development'>Technical Stories in Agile Software Development</a></li><li><a href='http://www.designinginteractive.com/agile/agile-development-for-tiny-teams/' rel='bookmark' title='Permanent Link: Agile Development for Tiny Teams'>Agile Development for Tiny Teams</a></li><li><a href='http://www.designinginteractive.com/agile/our-new-development-process/' rel='bookmark' title='Permanent Link: Our New Development Process'>Our New Development Process</a></li><li><a href='http://www.designinginteractive.com/design/design-last-design/' rel='bookmark' title='Permanent Link: Design Last Design'>Design Last Design</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>A central pillar of a lean software development process is elimination of waste.  So what is &#8220;waste&#8221; in a software development process?  In a manufacturing process, any amount of work in process above the bare minimum to meet production levels is waste.  Keith Swenson recently wrote an an excellent article &#8220;<a href="http://kswenson.wordpress.com/2009/10/24/taiichi-ohno-reinterpreted/">Taiichi Ohno Reinterpreted</a>&#8221;  where he observed:<span id="more-711"></span></p>
<blockquote><p>Just as in a car factory, you do not want to build 1000 cars in parallel, similarly in software you do not want to create 1000 features in parallel.  As you start to build a car, the waste builds as you add more and more parts, but the waste disappears when the car is completed and ready for shipment.  The uncompleted cars are a liability on the organization, and building cars in parallel multiplies the amount of waste.  Similarly, once your start designing a feature, and start investing person-hours, the waste builds in direct proportion.  Finally, when the new feature is actually in a “customer-ready” shape, that waste disappears.  The started-but-uncompleted features are a liability.  Features designed but not coded is a waste of time.  Code that is written but not tested is a real liability because there is now a hidden amount of work that must be done to correct problems in the coding.  Completed features in the code, but can not be installed are still a waste.  Building a bunch of features in parallel multiplies the waste.</p></blockquote>
<p>One of our goals with this process was to be able to handle concurrent projects.  That dictates that we may have multiple features in development at the same time.  A single feature per project is the bare minimum necessary to meet our production level on each project.  Parallel development on multiple features for a single project also brings with it the unnecessary overhead of managing different source code branches.  This unnecessary work is waste which can easily be eliminated.</p>
<p>Rework is another area of significant waste in a system, be it building cars or software.  We determined that there were two possible root causes of the majority of our rework.  Rework was generated out of either doing something wrong (quality control issue) or doing something too early (process issue).</p>
<p>Quality control issues broke down into two classifications &#8211; the code we wrote didn&#8217;t meet the specification or the specifications didn&#8217;t accurately represent the business need.  The combination of our move to an agile development process which involves the customer much more frequently has helped address this issue.  We are also making fundamental technology changes to an environment which includes tools to support <a href="http://en.wikipedia.org/wiki/Behavior_driven_development">BDD</a>.   Combined, these changes will go far in reducing the waste of quality control based rework.</p>
<p>The best example of rework due to doing something too early involves doing in-depth design for a feature long before we were ready to work on it.  We would spend time laying out all the technical details of how we intended to implement a feature.  Any change to the architecture or the definition of the feature by the development of prior features left us with no option but to discard part or all of our prior work.   Generous application of the principle of <a href="http://agilesoftwaredevelopment.com/blog/pbielicki/seven-principles-lean-software-development-defer-commitment">Deferred Commitment</a> has effectively eliminated this waste in our process.</p>
<p>I have traditionally wanted to over-engineer my code.  I have invested a lot time building code with the mindset that someday someone might want this.  A few times I&#8217;ve been right.  Most of the time, however, that effort has been 100% waste.  Applying the <acronym title="Ya Ain't Gonna Need It">YAGNI</acronym> principle has yielded a significant reduction in waste.  The change hasn&#8217;t been easy for me, but the benefits have outweighed my discomfort.</p>
<p>A personal pet peeve is performing repetitive tasks.  Perhaps that&#8217;s the fundamental reason I&#8217;m in software development.  In all areas of my life I find myself asking &#8220;How could I automate this?&#8221; every time I have to do something more than once.  Many of the repetitive tasks we perform in the process of software development could easily be automated and are therefore waste.  The reason we developed and continue to refine our Sandstone environment is to eliminate waste.  Appropriate use of quality development tools has also helped us to automate tasks and therefore eliminate waste in our process.  We&#8217;ve also looked at our process itself for repetitive tasks that can be automated.  Calculation of the key metrics used to monitor our process was the most common repetitive task we found.  Some time invested building some simple spreadsheets has yielded consistency and efficiency in that process.</p>
<p>This is far from a comprehensive list of everything that could be considered waste in the software development process.  These were the low hanging fruit we identified in our process.  I&#8217;m always interested to hear what others have identified as waste and how they&#8217;ve worked to eliminate it from their process.</p>




	<a rel="nofollow" class="thickbox" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Feliminating-waste-from-your-agile-process%2F&amp;title=Eliminating%20Waste%20from%20your%20Agile%20Process&amp;bodytext=A%20central%20pillar%20of%20a%20lean%20software%20development%20process%20is%20elimination%20of%20waste.%20%20So%20what%20is%20%22waste%22%20in%20a%20software%20development%20process%3F%20%20In%20a%20manufacturing%20process%2C%20any%20amount%20of%20work%20in%20process%20above%20the%20bare%20minimum%20to%20meet%20production%20levels%20is%20was?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Feliminating-waste-from-your-agile-process%2F?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/sphinn.png" title="Sphinn" alt="Sphinn" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://delicious.com/post?url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Feliminating-waste-from-your-agile-process%2F&amp;title=Eliminating%20Waste%20from%20your%20Agile%20Process&amp;notes=A%20central%20pillar%20of%20a%20lean%20software%20development%20process%20is%20elimination%20of%20waste.%20%20So%20what%20is%20%22waste%22%20in%20a%20software%20development%20process%3F%20%20In%20a%20manufacturing%20process%2C%20any%20amount%20of%20work%20in%20process%20above%20the%20bare%20minimum%20to%20meet%20production%20levels%20is%20was?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Feliminating-waste-from-your-agile-process%2F&amp;t=Eliminating%20Waste%20from%20your%20Agile%20Process?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Feliminating-waste-from-your-agile-process%2F&amp;title=Eliminating%20Waste%20from%20your%20Agile%20Process&amp;annotation=A%20central%20pillar%20of%20a%20lean%20software%20development%20process%20is%20elimination%20of%20waste.%20%20So%20what%20is%20%22waste%22%20in%20a%20software%20development%20process%3F%20%20In%20a%20manufacturing%20process%2C%20any%20amount%20of%20work%20in%20process%20above%20the%20bare%20minimum%20to%20meet%20production%20levels%20is%20was?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Feliminating-waste-from-your-agile-process%2F&amp;title=Eliminating%20Waste%20from%20your%20Agile%20Process?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://posterous.com/share?linkto=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Feliminating-waste-from-your-agile-process%2F&amp;title=Eliminating%20Waste%20from%20your%20Agile%20Process&amp;selection=A%20central%20pillar%20of%20a%20lean%20software%20development%20process%20is%20elimination%20of%20waste.%20%20So%20what%20is%20%22waste%22%20in%20a%20software%20development%20process%3F%20%20In%20a%20manufacturing%20process%2C%20any%20amount%20of%20work%20in%20process%20above%20the%20bare%20minimum%20to%20meet%20production%20levels%20is%20was?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/posterous.png" title="Posterous" alt="Posterous" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Feliminating-waste-from-your-agile-process%2F&amp;title=Eliminating%20Waste%20from%20your%20Agile%20Process?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.designinginteractive.com/feed/?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.sphere.com/search?q=sphereit:http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Feliminating-waste-from-your-agile-process%2F&amp;title=Eliminating%20Waste%20from%20your%20Agile%20Process?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/sphere.png" title="SphereIt" alt="SphereIt" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Feliminating-waste-from-your-agile-process%2F&amp;title=Eliminating%20Waste%20from%20your%20Agile%20Process" title="StumbleUpon"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Feliminating-waste-from-your-agile-process%2F?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Feliminating-waste-from-your-agile-process%2F&amp;t=Eliminating%20Waste%20from%20your%20Agile%20Process&amp;s=A%20central%20pillar%20of%20a%20lean%20software%20development%20process%20is%20elimination%20of%20waste.%20%20So%20what%20is%20%22waste%22%20in%20a%20software%20development%20process%3F%20%20In%20a%20manufacturing%20process%2C%20any%20amount%20of%20work%20in%20process%20above%20the%20bare%20minimum%20to%20meet%20production%20levels%20is%20was" title="Tumblr"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Eliminating%20Waste%20from%20your%20Agile%20Process%20-%20http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Feliminating-waste-from-your-agile-process%2F" title="Twitter"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>


<br/><br/>

<p>Related posts:<ol><li><a href='http://www.designinginteractive.com/agile/thoughts-on-technical-stories/' rel='bookmark' title='Permanent Link: Technical Stories in Agile Software Development'>Technical Stories in Agile Software Development</a></li><li><a href='http://www.designinginteractive.com/agile/agile-development-for-tiny-teams/' rel='bookmark' title='Permanent Link: Agile Development for Tiny Teams'>Agile Development for Tiny Teams</a></li><li><a href='http://www.designinginteractive.com/agile/our-new-development-process/' rel='bookmark' title='Permanent Link: Our New Development Process'>Our New Development Process</a></li><li><a href='http://www.designinginteractive.com/design/design-last-design/' rel='bookmark' title='Permanent Link: Design Last Design'>Design Last Design</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.designinginteractive.com/agile/eliminating-waste-from-your-agile-process/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Agile Development for Tiny Teams</title>
		<link>http://www.designinginteractive.com/agile/agile-development-for-tiny-teams/</link>
		<comments>http://www.designinginteractive.com/agile/agile-development-for-tiny-teams/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 18:07:34 +0000</pubDate>
		<dc:creator>Dave Goerlich</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[kaizen]]></category>
		<category><![CDATA[kanban]]></category>

		<guid isPermaLink="false">http://www.designinginteractive.com/?p=703</guid>
		<description><![CDATA[D-I is proud to be a tiny firm.  We have always been a tiny firm, but we haven&#8217;t always been able to get big projects accomplished.  While we do use subcontractors quite often, the firm is still just Josh and myself.
We believe that software should be high quality.  It should be efficient, [...]


Related posts:<ol><li><a href='http://www.designinginteractive.com/agile/thoughts-on-technical-stories/' rel='bookmark' title='Permanent Link: Technical Stories in Agile Software Development'>Technical Stories in Agile Software Development</a></li><li><a href='http://www.designinginteractive.com/agile/our-new-development-process/' rel='bookmark' title='Permanent Link: Our New Development Process'>Our New Development Process</a></li><li><a href='http://www.designinginteractive.com/agile/eliminating-waste-from-your-agile-process/' rel='bookmark' title='Permanent Link: Eliminating Waste from your Agile Process'>Eliminating Waste from your Agile Process</a></li><li><a href='http://www.designinginteractive.com/agile/workflow-minimally-marketable-features/' rel='bookmark' title='Permanent Link: Workflow &#8211; Minimally Marketable Features'>Workflow &#8211; Minimally Marketable Features</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>D-I is proud to be a tiny firm.  We have always been a tiny firm, but we haven&#8217;t always been able to get big projects accomplished.  While we do use subcontractors quite often, the firm is still just Josh and myself.</p>
<p>We believe that software should be high quality.  It should be efficient, tested and intuitively designed. When it comes to features, enough is enough. We believe you should build what you need, and nothing else.  We also believe that the process of developing the product is as important as the product itself.</p>
<p><span id="more-703"></span>Our skill sets are complimentary – I design the architecture that makes the application run, while Josh manages the design of the experience and interfaces.</p>
<blockquote><p>Dave makes it work, Josh makes it usable and visually beautiful.</p></blockquote>
<p>In the beginning, we used a traditional waterfall approach.  We took on some fixed price projects, and they ended about as well as you would expect.  At one point, we realized that scope-creep had lowered our rate to $1.26 an hour.  No, that wasn&#8217;t with tips either.</p>
<p>Clearly, that&#8217;s not a business model to be proud of. So, we changed to trading hours for dollars.  We kept our pipeline full of billable hours, and that&#8217;s where revenue came from.  We booked clients back to back, which kept us busy, but repeat customers did not always get the attention they deserved. At the same time, we weren&#8217;t happy either.</p>
<h2>Our Original Workflow</h2>
<ol>
<li>We spec&#8217;d the project to determine what it had to do;</li>
<li>We jointly architected a plan of attack;</li>
<li>I would code the business logic as fast as possible;</li>
<li>I would &#8220;toss it over the wall&#8221; to Josh to slap a UI on top of it;</li>
<li>We would get feedback from the customer;</li>
<li>We would make changes and complete the contract;</li>
</ol>
<p>We wasted a lot of time re-working things, which caused deadlines to slip.  By the time Josh got to work on the interfaces, I had to refresh my memory on how I had implemented things.  Alas, more wasted time.  It became evident that something had to change.</p>
<p>There was another problem.  Our goal was to complete the project and get paid for it.  However, in most cases the end of our process was just the beginning for our clients.  The contract ended, but the project did not.  Since we had to move on, our clients, with changes and cash in hand, were left on the sidelines.</p>
<h2>Changing our Process</h2>
<p>Our process had to change. Josh and I researched agile development processes, and were fixated on SCRUM. We even took a phone call with Jeff Sutherland, the creator of SCRUM, to discuss it. We gave it a fair shake, it just wasn&#8217;t a comfortable fit for us in the end.</p>
<p><a href="http://www.leandog.com">Jon Stahl</a>, the resident Agile expert here in Cleveland, gave us a preview of his <a href="http://jonstahl.posterous.com/leandog-kanban-presentation">Kanban presentation</a>. Through my background in industrial management, I was quite familiar with Kanban in a manufacturing environment. I had never considered it as a software development process.  After hearing Jon&#8217;s talk, and talking with him a bit afterward, I was solidly convinced that Kanban was our ticket to a leaner development process.</p>
<p>In a few future posts, I&#8217;ll describe our new development process as it&#8217;s currently implemented.  Even though it&#8217;s working very well, we are always making improvements.</p>




	<a rel="nofollow" class="thickbox" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fagile-development-for-tiny-teams%2F&amp;title=Agile%20Development%20for%20Tiny%20Teams&amp;bodytext=D-I%20is%20proud%20to%20be%20a%20tiny%20firm.%20%20We%20have%20always%20been%20a%20tiny%20firm%2C%20but%20we%20haven%27t%20always%20been%20able%20to%20get%20big%20projects%20accomplished.%20%20While%20we%20do%20use%20subcontractors%20quite%20often%2C%20the%20firm%20is%20still%20just%20Josh%20and%20myself.%0D%0A%0D%0AWe%20believe%20that%20software%20shoul?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fagile-development-for-tiny-teams%2F?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/sphinn.png" title="Sphinn" alt="Sphinn" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://delicious.com/post?url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fagile-development-for-tiny-teams%2F&amp;title=Agile%20Development%20for%20Tiny%20Teams&amp;notes=D-I%20is%20proud%20to%20be%20a%20tiny%20firm.%20%20We%20have%20always%20been%20a%20tiny%20firm%2C%20but%20we%20haven%27t%20always%20been%20able%20to%20get%20big%20projects%20accomplished.%20%20While%20we%20do%20use%20subcontractors%20quite%20often%2C%20the%20firm%20is%20still%20just%20Josh%20and%20myself.%0D%0A%0D%0AWe%20believe%20that%20software%20shoul?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fagile-development-for-tiny-teams%2F&amp;t=Agile%20Development%20for%20Tiny%20Teams?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fagile-development-for-tiny-teams%2F&amp;title=Agile%20Development%20for%20Tiny%20Teams&amp;annotation=D-I%20is%20proud%20to%20be%20a%20tiny%20firm.%20%20We%20have%20always%20been%20a%20tiny%20firm%2C%20but%20we%20haven%27t%20always%20been%20able%20to%20get%20big%20projects%20accomplished.%20%20While%20we%20do%20use%20subcontractors%20quite%20often%2C%20the%20firm%20is%20still%20just%20Josh%20and%20myself.%0D%0A%0D%0AWe%20believe%20that%20software%20shoul?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fagile-development-for-tiny-teams%2F&amp;title=Agile%20Development%20for%20Tiny%20Teams?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://posterous.com/share?linkto=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fagile-development-for-tiny-teams%2F&amp;title=Agile%20Development%20for%20Tiny%20Teams&amp;selection=D-I%20is%20proud%20to%20be%20a%20tiny%20firm.%20%20We%20have%20always%20been%20a%20tiny%20firm%2C%20but%20we%20haven%27t%20always%20been%20able%20to%20get%20big%20projects%20accomplished.%20%20While%20we%20do%20use%20subcontractors%20quite%20often%2C%20the%20firm%20is%20still%20just%20Josh%20and%20myself.%0D%0A%0D%0AWe%20believe%20that%20software%20shoul?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/posterous.png" title="Posterous" alt="Posterous" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fagile-development-for-tiny-teams%2F&amp;title=Agile%20Development%20for%20Tiny%20Teams?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.designinginteractive.com/feed/?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.sphere.com/search?q=sphereit:http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fagile-development-for-tiny-teams%2F&amp;title=Agile%20Development%20for%20Tiny%20Teams?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/sphere.png" title="SphereIt" alt="SphereIt" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fagile-development-for-tiny-teams%2F&amp;title=Agile%20Development%20for%20Tiny%20Teams" title="StumbleUpon"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fagile-development-for-tiny-teams%2F?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fagile-development-for-tiny-teams%2F&amp;t=Agile%20Development%20for%20Tiny%20Teams&amp;s=D-I%20is%20proud%20to%20be%20a%20tiny%20firm.%20%20We%20have%20always%20been%20a%20tiny%20firm%2C%20but%20we%20haven%27t%20always%20been%20able%20to%20get%20big%20projects%20accomplished.%20%20While%20we%20do%20use%20subcontractors%20quite%20often%2C%20the%20firm%20is%20still%20just%20Josh%20and%20myself.%0D%0A%0D%0AWe%20believe%20that%20software%20shoul" title="Tumblr"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Agile%20Development%20for%20Tiny%20Teams%20-%20http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fagile-development-for-tiny-teams%2F" title="Twitter"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>


<br/><br/>

<p>Related posts:<ol><li><a href='http://www.designinginteractive.com/agile/thoughts-on-technical-stories/' rel='bookmark' title='Permanent Link: Technical Stories in Agile Software Development'>Technical Stories in Agile Software Development</a></li><li><a href='http://www.designinginteractive.com/agile/our-new-development-process/' rel='bookmark' title='Permanent Link: Our New Development Process'>Our New Development Process</a></li><li><a href='http://www.designinginteractive.com/agile/eliminating-waste-from-your-agile-process/' rel='bookmark' title='Permanent Link: Eliminating Waste from your Agile Process'>Eliminating Waste from your Agile Process</a></li><li><a href='http://www.designinginteractive.com/agile/workflow-minimally-marketable-features/' rel='bookmark' title='Permanent Link: Workflow &#8211; Minimally Marketable Features'>Workflow &#8211; Minimally Marketable Features</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.designinginteractive.com/agile/agile-development-for-tiny-teams/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Asymptotic Perfection</title>
		<link>http://www.designinginteractive.com/agile/asymptotic-perfection/</link>
		<comments>http://www.designinginteractive.com/agile/asymptotic-perfection/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 13:30:11 +0000</pubDate>
		<dc:creator>Josh Walsh</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[process]]></category>

		<guid isPermaLink="false">http://www.designinginteractive.com/?p=554</guid>
		<description><![CDATA[Remember way back to high school when our algebra teachers would send us home to graph asymptotes?  (Ah, those were the days)  In case you don&#8217;t remember what an asymptote is, it is essentially any math equation in which it&#8217;s result will continually approach a value, without ever reaching that value.   My software development [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Remember way back to high school when our algebra teachers would send us home to graph asymptotes?  (Ah, those were the days)  In case you don&#8217;t remember what an asymptote is, it is essentially any math equation in which it&#8217;s result will continually approach a value, without ever reaching that value.   My software development process follows this same phenomenon.<span id="more-554"></span></p>
<p><strong>3rd grade example: </strong> Continually Divide by 2.</p>
<p>100 / 2 = 50<br />
50 / 2 = 25<br />
25 / 2 = 12.5<br />
12.5 / 2 = 6.25</p>
<p>As we continue to evaluate the equation to infinity the answer will approach zero, but never get there.</p>
<p><strong>Grown up example:</strong> (The equation isn&#8217;t important, the phenomenon is)</p>
<p style="text-align: center;"><img class="size-full wp-image-555 aligncenter" title="Equation" src="http://www.designinginteractive.com/wp-content/uploads/2009/09/Equation.png" alt="Equation" width="87" height="47" /></p>
<p style="text-align: center;"><img class="aligncenter" title="Asymptote" src="http://www.designinginteractive.com/wp-content/uploads/2009/09/Asymptote.png" alt="Asymptote" width="349" height="198" /></p>
<p style="text-align: left;">As a smart-ass kid in high school, I didn&#8217;t really understand why this would be important in real life.  In reality, this is one of the driving principals of my daily work flow.</p>
<p style="text-align: left;">
<img style="display: block; margin-left: auto; margin-right: auto; border: 0px initial initial;" title="Asymptote-Agile-Graph" src="http://www.designinginteractive.com/wp-content/uploads/2009/09/Asymptote-Agile-Graph.gif" alt="Asymptote-Agile-Graph" width="560" height="183" />Time is our most precious resource, and a perfect web application is the ideal output.  Just like everything else in this world, perfection is asymptotic.   We can always improve, and we will (hopefully) keep getting closer to perfection, but never actually get there.</p>
<p style="text-align: left;">As developers and designers, our perfectionistic tendencies get in our way.  If we shed ourselves of the myth of perfection, and instead focus on a series of iterative improvements, our application will improve faster and more reliably than if we had focused on building it in one perfect attempt.</p>
<p style="text-align: left;">Pay attention to what tasks are taking up your time.  We should always be working on the things which result in the biggest step toward our goal.  We have a lifetime to knock out the little things.</p>




	<a rel="nofollow" class="thickbox" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fasymptotic-perfection%2F&amp;title=Asymptotic%20Perfection&amp;bodytext=Remember%20way%20back%20to%20high%20school%20when%20our%20algebra%20teachers%20would%20send%20us%20home%20to%20graph%20asymptotes%3F%20%C2%A0%28Ah%2C%20those%20were%20the%20days%29%20%C2%A0In%20case%20you%20don%27t%20remember%20what%20an%20asymptote%20is%2C%20it%20is%20essentially%20any%20math%20equation%20in%20which%20it%27s%20result%20will%20continuall?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fasymptotic-perfection%2F?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/sphinn.png" title="Sphinn" alt="Sphinn" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://delicious.com/post?url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fasymptotic-perfection%2F&amp;title=Asymptotic%20Perfection&amp;notes=Remember%20way%20back%20to%20high%20school%20when%20our%20algebra%20teachers%20would%20send%20us%20home%20to%20graph%20asymptotes%3F%20%C2%A0%28Ah%2C%20those%20were%20the%20days%29%20%C2%A0In%20case%20you%20don%27t%20remember%20what%20an%20asymptote%20is%2C%20it%20is%20essentially%20any%20math%20equation%20in%20which%20it%27s%20result%20will%20continuall?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fasymptotic-perfection%2F&amp;t=Asymptotic%20Perfection?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fasymptotic-perfection%2F&amp;title=Asymptotic%20Perfection&amp;annotation=Remember%20way%20back%20to%20high%20school%20when%20our%20algebra%20teachers%20would%20send%20us%20home%20to%20graph%20asymptotes%3F%20%C2%A0%28Ah%2C%20those%20were%20the%20days%29%20%C2%A0In%20case%20you%20don%27t%20remember%20what%20an%20asymptote%20is%2C%20it%20is%20essentially%20any%20math%20equation%20in%20which%20it%27s%20result%20will%20continuall?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fasymptotic-perfection%2F&amp;title=Asymptotic%20Perfection?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://posterous.com/share?linkto=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fasymptotic-perfection%2F&amp;title=Asymptotic%20Perfection&amp;selection=Remember%20way%20back%20to%20high%20school%20when%20our%20algebra%20teachers%20would%20send%20us%20home%20to%20graph%20asymptotes%3F%20%C2%A0%28Ah%2C%20those%20were%20the%20days%29%20%C2%A0In%20case%20you%20don%27t%20remember%20what%20an%20asymptote%20is%2C%20it%20is%20essentially%20any%20math%20equation%20in%20which%20it%27s%20result%20will%20continuall?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/posterous.png" title="Posterous" alt="Posterous" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fasymptotic-perfection%2F&amp;title=Asymptotic%20Perfection?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.designinginteractive.com/feed/?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://www.sphere.com/search?q=sphereit:http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fasymptotic-perfection%2F&amp;title=Asymptotic%20Perfection?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/sphere.png" title="SphereIt" alt="SphereIt" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fasymptotic-perfection%2F&amp;title=Asymptotic%20Perfection" title="StumbleUpon"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" class="thickbox" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fasymptotic-perfection%2F?TB_iframe=true&amp;height=500&amp;width=900"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fasymptotic-perfection%2F&amp;t=Asymptotic%20Perfection&amp;s=Remember%20way%20back%20to%20high%20school%20when%20our%20algebra%20teachers%20would%20send%20us%20home%20to%20graph%20asymptotes%3F%20%C2%A0%28Ah%2C%20those%20were%20the%20days%29%20%C2%A0In%20case%20you%20don%27t%20remember%20what%20an%20asymptote%20is%2C%20it%20is%20essentially%20any%20math%20equation%20in%20which%20it%27s%20result%20will%20continuall" title="Tumblr"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Asymptotic%20Perfection%20-%20http%3A%2F%2Fwww.designinginteractive.com%2Fagile%2Fasymptotic-perfection%2F" title="Twitter"><img src="http://www.designinginteractive.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>


<br/><br/>

<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.designinginteractive.com/agile/asymptotic-perfection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
