<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Agile is a Step on the Path to Business Agility</title>
	<atom:link href="http://accurev.com/blog/2009/04/22/agile-is-a-step-on-the-path-to-business-agility/feed/" rel="self" type="application/rss+xml" />
	<link>http://accurev.com/blog/2009/04/22/agile-is-a-step-on-the-path-to-business-agility/</link>
	<description>SCM and Agile Software Development Blog</description>
	<lastBuildDate>Wed, 04 Jan 2012 22:30:54 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
	<item>
		<title>By: Brad Appleton</title>
		<link>http://accurev.com/blog/2009/04/22/agile-is-a-step-on-the-path-to-business-agility/comment-page-1/#comment-533</link>
		<dc:creator>Brad Appleton</dc:creator>
		<pubDate>Sun, 26 Apr 2009 23:02:04 +0000</pubDate>
		<guid isPermaLink="false">http://blog.accurev.com/?p=828#comment-533</guid>
		<description>Hi Lorne! I think you&#039;re missing the boat on the meaning (and appication) of some of these &quot;steps&quot; in the agility cycle. The &quot;Sense&quot; step is about the various feedback loops we setup to validate our knowledge so far and identify problems. I was planning on diving into that in one of my later posts in the series, but examples of this are:

&lt;b&gt;Iterations&lt;/b&gt;: An iteration is one feedback cycle we use, and one of the larger-grained ones. At the end of the iteration, we demonstrate the results to the customer and get feedback about what we did right/wrong and what to focus on next.

&lt;b&gt;Stand-up Meetings&lt;/b&gt;: This is another feedback cycle to hear from the workers in the trenches what problems and impediments there are. This typically is setup to happen daily.

&lt;b&gt;Continuous Integration&lt;/b&gt;: This is a feedback cycle that gives developers feedback on not just whether or not what they just coded works, but how well it does/doesn&#039;t fit with what everyone else just implemented. It happens at least a couple times per day per developer (if they are practicing CI properly, and not just doing daily/nightly builds)

&lt;b&gt;Test-Driven Development&lt;/b&gt;: This feedback cycle forces one to first validate their thinking about the test (even watching it fail first) before trying to write the code that passes it. As far as knowing what you&#039;re supposed to be trying to do, this forces that to happen at the front of the programming task, in terms of understanding the requirements very precisely, and designing for testability. It also forces the granularity of this feedback cycle to be pretty darn small (often just hours, or less).

&lt;b&gt;Pair Programming&lt;/b&gt;: This is the most fine-grained of all the feedback loops mentioned above. It gives that second pair of eyes whose purpose is not to try and co-author the code so much as to ask questions about the clarity, correctness, necessity of what the programmer is writing, and maintain the strategic direction of that effort.

Every single one of the above are feedback loops that are set-up to &quot;sense&quot; a problem/opportunity. Each one of them goes thru the agility cycle at its own level-of-scale. And each one of them requires being able to &quot;make sense&quot; of the problem/opportunity after you&#039;ve sensed it.

That&#039;s the second step of the agility cycle, the part I called &quot;seeing the problem in the context of the whole&quot;. Because, youre right, it&#039;s not enough to just have have a regular knowledge-validation indicator of feedback that something needs to be addressed, you have to remember to &quot;keep your eyes on the prize&quot; when considering what the heck to do about it. That&#039;s why we have to think strategically, about the end-goal before adding that unneeded abstraction or anticipating that not yet high-priority requirements, or solving that seeming urgent build-breaker with a band-aid that actually makes things harder for the next &quot;consumer&quot; downstream in the process.</description>
		<content:encoded><![CDATA[<p>Hi Lorne! I think you&#8217;re missing the boat on the meaning (and appication) of some of these &#8220;steps&#8221; in the agility cycle. The &#8220;Sense&#8221; step is about the various feedback loops we setup to validate our knowledge so far and identify problems. I was planning on diving into that in one of my later posts in the series, but examples of this are:</p>
<p><b>Iterations</b>: An iteration is one feedback cycle we use, and one of the larger-grained ones. At the end of the iteration, we demonstrate the results to the customer and get feedback about what we did right/wrong and what to focus on next.</p>
<p><b>Stand-up Meetings</b>: This is another feedback cycle to hear from the workers in the trenches what problems and impediments there are. This typically is setup to happen daily.</p>
<p><b>Continuous Integration</b>: This is a feedback cycle that gives developers feedback on not just whether or not what they just coded works, but how well it does/doesn&#8217;t fit with what everyone else just implemented. It happens at least a couple times per day per developer (if they are practicing CI properly, and not just doing daily/nightly builds)</p>
<p><b>Test-Driven Development</b>: This feedback cycle forces one to first validate their thinking about the test (even watching it fail first) before trying to write the code that passes it. As far as knowing what you&#8217;re supposed to be trying to do, this forces that to happen at the front of the programming task, in terms of understanding the requirements very precisely, and designing for testability. It also forces the granularity of this feedback cycle to be pretty darn small (often just hours, or less).</p>
<p><b>Pair Programming</b>: This is the most fine-grained of all the feedback loops mentioned above. It gives that second pair of eyes whose purpose is not to try and co-author the code so much as to ask questions about the clarity, correctness, necessity of what the programmer is writing, and maintain the strategic direction of that effort.</p>
<p>Every single one of the above are feedback loops that are set-up to &#8220;sense&#8221; a problem/opportunity. Each one of them goes thru the agility cycle at its own level-of-scale. And each one of them requires being able to &#8220;make sense&#8221; of the problem/opportunity after you&#8217;ve sensed it.</p>
<p>That&#8217;s the second step of the agility cycle, the part I called &#8220;seeing the problem in the context of the whole&#8221;. Because, youre right, it&#8217;s not enough to just have have a regular knowledge-validation indicator of feedback that something needs to be addressed, you have to remember to &#8220;keep your eyes on the prize&#8221; when considering what the heck to do about it. That&#8217;s why we have to think strategically, about the end-goal before adding that unneeded abstraction or anticipating that not yet high-priority requirements, or solving that seeming urgent build-breaker with a band-aid that actually makes things harder for the next &#8220;consumer&#8221; downstream in the process.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

