<?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>Irie, Inc. &#187; waste</title>
	<atom:link href="http://www.irie-inc.com/tag/waste/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.irie-inc.com</link>
	<description>Agile Software Development Consulting</description>
	<lastBuildDate>Wed, 16 Dec 2009 18:16:09 +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>Frequent and Functional Deliveries</title>
		<link>http://www.irie-inc.com/2009/10/27/frequent-and-functional-deliveries/</link>
		<comments>http://www.irie-inc.com/2009/10/27/frequent-and-functional-deliveries/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 23:44:13 +0000</pubDate>
		<dc:creator>jarrowwx</dc:creator>
				<category><![CDATA[Agile Training]]></category>
		<category><![CDATA[Principles]]></category>
		<category><![CDATA[agile software development]]></category>
		<category><![CDATA[business value]]></category>
		<category><![CDATA[feedback]]></category>
		<category><![CDATA[frame of reference]]></category>
		<category><![CDATA[paradigm shift]]></category>
		<category><![CDATA[perspective]]></category>
		<category><![CDATA[waste]]></category>
		<category><![CDATA[working software]]></category>

		<guid isPermaLink="false">http://www.irie-inc.com/?p=28</guid>
		<description><![CDATA[Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. ]]></description>
			<content:encoded><![CDATA[<blockquote><p>Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.</p></blockquote>
<p>
The goal of every sprint should be to create something that gives the business a sense of perspective, a frame of reference to use to direct future activities.  What you deliver needs to work, at least in some respect or with some limitations, in order to offer the business that sense of perspective.  If what you deliver can not be seen by the business, it adds no value.
</p>
<p>
&#8220;But it adds value to the development effort!&#8221; you might be thinking.  Sure, assuming that your understanding of the direction that you need to go is correct.
</p>
<p>
Note that you are not simply taking a traditional development project and breaking it into 2-week chunks of work.  You are creating a functional piece of software.  It is all too easy to fall into the trap of breaking things down functionally, and then trying to map your functional decomposition into a backlog.  Too often, you end up with pieces which can not stand alone, which do not deliver value to the business.  The business can&#8217;t prioritize those kinds of things.
</p>
<p>
The problem is diving too deep.  It&#8217;s so easy to do, too.  You want to understand the problem, so you divide and clarify, divide and clarify, and at some point you magically and invisibly have gone beyond <i>what</i> you are trying to accomplish and have transitioned into the <i>how</i> of accomplishing it.
</p>
<p>
Therein is the secret of making sure your backlog includes only items that add value:  They only tell you what it must do for the business, it does not specify how it is done.  Review every user story, and ask yourself: &#8220;Is this telling me what the system needs to do, or is it telling me how the system works?&#8221;  If it is the latter, change it to be the former.  If you can&#8217;t, then you probably broke down the functionality too far, and that story needs to be rolled into another one that it supports.
</p>
<p>
It takes discipline, and maybe even a shift in ways of thinking, but you need to deliver something that &#8220;works&#8221; every time.  It may be a mock-up or a prototype, it may not do everything it needs to do when initially delivered, but it is something that the business can see and wrap their brains around.  The purpose of this is to empower the business to give their guidance sooner rather than later, and save everyone the frustration of wasted effort.
</p>
<p>
&#8220;But isn&#8217;t a prototype a waste of time?&#8221;  Not really.  Build it right and you can simply refactor it as necessary to make it into what it needs to be.  And in the worst case, if you have to throw the whole thing away, you still ended up with valuable understanding of the problem, and that all-important frame of reference for the business to guide forward progress.
</p>
<p>
So, deliver working software.  But deliver it often.  Very often.  Here&#8217;s why:
</p>
<ul>
<li> If you have a term paper due in six months, what is the likelihood that you will finish it tomorrow?  What is the likelihood that you will do the bulk of the work the night before it is due?  The longer the sprint length, the more this tendency might rear its ugly head.</li>
<li> The bigger the sprint backlog, the more overwhelming it can feel, whether there is any reason for it or not.  So, the longer the sprint, the bigger the sprint backlog, the harder it is to focus, for some people.</li>
<li> <b>The shorter the duration, the sooner the business can give its feedback, the more Agile you become.</b></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.irie-inc.com/2009/10/27/frequent-and-functional-deliveries/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Welcoming Change</title>
		<link>http://www.irie-inc.com/2009/10/26/welcoming-change/</link>
		<comments>http://www.irie-inc.com/2009/10/26/welcoming-change/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 21:51:59 +0000</pubDate>
		<dc:creator>jarrowwx</dc:creator>
				<category><![CDATA[Agile Training]]></category>
		<category><![CDATA[Principles]]></category>
		<category><![CDATA[agile software development]]></category>
		<category><![CDATA[change]]></category>
		<category><![CDATA[frame of reference]]></category>
		<category><![CDATA[mature team]]></category>
		<category><![CDATA[perspective]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[rework]]></category>
		<category><![CDATA[waste]]></category>

		<guid isPermaLink="false">http://www.irie-inc.com/?p=21</guid>
		<description><![CDATA[Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.]]></description>
			<content:encoded><![CDATA[<blockquote><p>Welcome changing requirements, even late in development. Agile processes harness change for the customer&#8217;s competitive advantage.</p></blockquote>
<p>
There is an innate aversion to wasted effort.  Nobody really wants to do something, only to find that they have to start all over again because what they did was not what was really wanted.  In response to this aversion, people are naturally inclined to do more up-front planning.  &#8220;If they just would have asked for what they really wanted, we could have delivered it, and it would have saved so much time!&#8221;
</p>
<p>
It&#8217;s true.  If the development team were handed a detailed plan, and the plan were perfect, they would avoid a great deal of rework that happens when plans change.  We all know it is true.  And so, instinctively, we resist change, instead trying to push for &#8220;getting it right the first time.&#8221;
</p>
<p>
What we don&#8217;t always realize is that you could probably build it 3 times, two a total waste of effort, in the same time that it would take to plan to get it half-right.  Yes, that&#8217;s right, there is something <i>gained</i> in doing it even if it&#8217;s wrong.
</p>
<p>
&#8220;What is gained in doing it wrong?&#8221; you ask?  The short answer is &#8220;perspective.&#8221;  You want to get from A to Z.  A is where you are.  Z is where you want to be.  You think you know how to get there.  Or maybe you don&#8217;t, but you know that the first thing you need to do is go from A to B.  Once you have gotten to B, your position has changed, and so has your perspective.  Now you have something tangible to look at, and that may reveal to you that Z isn&#8217;t over here, it&#8217;s actually more like over THERE.  And now, it is a little more clear that the next step in the progression is C.  Suppose it turns out that C didn&#8217;t get you any closer to Z.  It was a waste, right?  No.  You have something tangible that you can point to and say &#8220;From here, we need to go in THAT direction.&#8221;  It is the hardest thing in the world to say &#8220;I want to go in THAT direction&#8221; when there is no frame of reference.  Giving yourself a frame of reference will accelerate progress by orders of magnitude more than the time wasted doing it the &#8216;wrong&#8217; way.  Besides, who says you won&#8217;t use C later on for something else?
</p>
<p>So, a truly agile team, both in form and in mindset, <i>welcomes</i> change.  Because when the roadmap is changing, that means that forward progress is being made.  It means that previous unknowns are no longer unknown.  The mature team realizes that if things aren&#8217;t changing, it could well mean that somebody isn&#8217;t paying attention to what you are doing.  And that doesn&#8217;t bode well for anyone.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.irie-inc.com/2009/10/26/welcoming-change/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
