<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Object Mentor Blog: Tag reach</title>
    <link>http://blog.objectmentor.com/articles/tag/reach</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>Short Reach</title>
      <description>&lt;p&gt;I&amp;#8217;m always trying to find newer, better, shorter, more powerful ways to explain what Agile is about.  I suppose I&amp;#8217;m some kind of obsessive about expressive power and economy.&lt;/p&gt;


	&lt;p&gt;Finally I decided that Agile, as I understand it today, is about the &lt;i&gt;short reach&lt;/i&gt;.&lt;/p&gt;


	&lt;p&gt;It seems to me that all of the agile practices are about shortening our reach, the distance in time-and-space that one leaves an assumption, decision, or line of code untested and unconfirmed.  All the practices seem to follow this one rule.&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;The customer/analyst is keep in the same room, in the same short reach.&lt;/li&gt;
		&lt;li&gt;We feed back the iterations to the customer/analyst so that his every decision has a shorter reach. &lt;/li&gt;
		&lt;li&gt;We do iterations to ensure our planning has short reach.&lt;/li&gt;
		&lt;li&gt;We keep our teammates very close, in the same room, so that it&amp;#8217;s a shorter reach to them.&lt;/li&gt;
		&lt;li&gt;The test is written first, so that implementation has shorter feedback on correctness.&lt;/li&gt;
		&lt;li&gt;We compile/test frequently because our code time should have a short reach.&lt;/li&gt;
		&lt;li&gt;We pair so that our code is instantly vetted through a peer.  We don&amp;#8217;t pile it up and review it after the tests pass. &lt;/li&gt;
		&lt;li&gt;Our planning is based on &amp;#8220;yesterday&amp;#8217;s weather&amp;#8221;, data collected a very short time ago.&lt;/li&gt;
		&lt;li&gt;We don&amp;#8217;t plan the team structure and the assignments, we self-organize so that tasks are waiting for the shortest time possible.&lt;/li&gt;
		&lt;li&gt;We talk face-to-face, not across chat and email and official company documents.&lt;/li&gt;
		&lt;li&gt;Tell-dont-ask and the Law of Demeter guide us in keeping the reach of our objects very short.&lt;/li&gt;
		&lt;li&gt;We use unit tests to exercise a class directly, and we isolate with mocks to reduce the reach of our tests through the system. &lt;/li&gt;
		&lt;li&gt;Shared code ownership means that the guy sitting behind your keyboard has all the permission he needs to do excellent work, even if it impacts existing design.&lt;/li&gt;
		&lt;li&gt;Test-first development means that the guy who makes a change knows very quickly whether his change is safe or not.  He doesn&amp;#8217;t have to wait until the week before integration when the &amp;#8220;real&amp;#8221; tests are run.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Where does Agile run into logistical or operational difficulties? Wherever a long reach is required or imposed. Where an organization chooses to continue in waterfall-style management, where the team is distributed among managers with appointed &amp;#8220;point of contact&amp;#8221; and &amp;#8220;official channels&amp;#8221;, and where the developers are not placed in a common work area agility is very difficult.&lt;/p&gt;


	&lt;p&gt;I&amp;#8217;m not saying that agile techniques can&amp;#8217;t work for large companies, but that is an area where a lot of experts are trying (maybe succeeding) to extend the agile techniques and where the average &amp;#8220;agilist&amp;#8221; finds challenges.  When it works, it is almost certain it will be because someone has found a way to shorten the reach of the teams so that all they need to know is never more than a few seconds or minutes away.&lt;/p&gt;


	&lt;p&gt;At least that&amp;#8217;s my half-baked observation of the day.  Let me know if I&amp;#8217;m wrong here. Or if I&amp;#8217;m more right than I think I am.&lt;/p&gt;</description>
      <pubDate>Mon, 23 Apr 2007 15:33:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:d2b41a9d-04ef-4fec-9e4c-332c956369cf</guid>
      <author>Tim Ottinger</author>
      <link>http://blog.objectmentor.com/articles/2007/04/23/short-reach</link>
      <category>Tim's Tepid Torrent</category>
      <category>agile</category>
      <category>short</category>
      <category>reach</category>
      <category>philosophy</category>
    </item>
  </channel>
</rss>
