<?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; paradigm shift</title>
	<atom:link href="http://www.irie-inc.com/tag/paradigm-shift/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>Agile Software Development</title>
		<link>http://www.irie-inc.com/2009/10/24/agile-software-development/</link>
		<comments>http://www.irie-inc.com/2009/10/24/agile-software-development/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 04:44:52 +0000</pubDate>
		<dc:creator>jarrowwx</dc:creator>
				<category><![CDATA[Agile Training]]></category>
		<category><![CDATA[agile software development]]></category>
		<category><![CDATA[change]]></category>
		<category><![CDATA[paradigm shift]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[training]]></category>
		<category><![CDATA[waterfall]]></category>

		<guid isPermaLink="false">http://www.irie-inc.com/?p=3</guid>
		<description><![CDATA[Reality in the software development business is the continuous attempt to hit a moving target.]]></description>
			<content:encoded><![CDATA[<div style="border:1px solid silver; padding: 0.125in; background: #e7e7e7;"><a href="http://dictionary.reference.com/browse/agile">Agile</a>: -adjective</p>
<ol>
<li> quick and well-coordinated in movement; lithe: <em>an agile leap.</em></li>
<li> active; lively: <em>an agile person. </em></li>
<li> marked by an ability to think quickly; mentally acute or aware: <em>She&#8217;s 95 and still very agile. </em></li>
</ol>
</div>
<p>No plan can make it unscathed from concept to implementation.  No matter how meticulous the planning, by the time you can get it half implemented, half of what you built will be irrelevant, and there will be things you never thought of that are more important than anything you planned to build.  Reality in the software development business is the continuous attempt to hit a moving target.</p>
<p>The playing field is never static.  Business needs change.  Technology is continuously evolving.  &#8220;Agile&#8221; software development is a way of working that recognizes the inevitability of change, and embraces and readily adapts to it.</p>
<p>The difference between Agile and more traditional development methods (such as Waterfall) lies in the speed with which they facilitate adapting to change.  Through deliberately planning out only enough work to get through the next few weeks, and by revisiting the priority of upcoming work on a regular basis, changes to the playing field can be adapted to quickly, and in stride.</p>
<p>It&#8217;s simple, in principle.  But old habits die hard.  Truly Agile development is a paradigm shift, a complete change in thinking as well as methodology.  Attempts to adopt the methodology without understanding the reasons behind them will be frustrating at least, and may not reap all the rewards that it promises.  If you are going to adopt the methodology, invest in the people who will be exercising it.  Get them the training they need to be successful.  It will pay for itself before the end of your first Agile project.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.irie-inc.com/2009/10/24/agile-software-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
