<?xml version="1.0"?>
<!-- RSS generated by Radio UserLand v8.0.8 on Fri, 03 Jan 2003 21:57:35 GMT -->
<rss version="2.0">
	<channel>
		<title>Craig Johnson: Agile Development</title>
		<link>http://radio.weblogs.com/0115489/categories/agileDevelopment/</link>
		<description>Better software through craft</description>
		<language>en-us</language>
		<copyright>Copyright 2003 Craig Johnson</copyright>
		<lastBuildDate>Fri, 03 Jan 2003 21:57:35 GMT</lastBuildDate>
		<docs>http://backend.userland.com/rss</docs>
		<generator>Radio UserLand v8.0.8</generator>
		<managingEditor>craig_johnson@mindspring.com</managingEditor>
		<webMaster>craig_johnson@mindspring.com</webMaster>
		<category domain="http://www.weblogs.com/rssUpdates/changes.xml">rssUpdates</category> 
		<skipHours>
			<hour>23</hour>
			<hour>0</hour>
			<hour>1</hour>
			<hour>2</hour>
			<hour>3</hour>
			<hour>4</hour>
			<hour>5</hour>
			<hour>6</hour>
			</skipHours>
		<cloud domain="radio.xmlstoragesystem.com" port="80" path="/RPC2" registerProcedure="xmlStorageSystem.rssPleaseNotify" protocol="xml-rpc"/>
		<ttl>60</ttl>
		<item>
			<title>Soviet Design - wish I had said that!</title>
			<link>http://radio.weblogs.com/0115489/categories/agileDevelopment/2003/01/03.html#a51</link>
			<description>&lt;P&gt;Peter Van Dijck in Ease uses the term &quot;Sovjet Design (Soviet Design)&quot;.&amp;nbsp; I love that term!!&lt;/P&gt;
&lt;P&gt;There is an additional point.&amp;nbsp; Process-centeredness is based on a mechanistic view of the world that holds, at its worst, that the skills of the individuals involved in the work doesn&apos;t matter so long as &quot;they follow the process&quot;.&amp;nbsp; It is frequently the result of over-internalizing the lessons learned from past problems (otherwise known as fighting the last war).&amp;nbsp; Excellence in any endeavor is rarely the result of unskilled or moderately skilled people looking hard in the rear-view mirror.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0115489/categories/agileDevelopment/2003/01/03.html#a51</guid>
			<pubDate>Fri, 03 Jan 2003 21:57:25 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=115489&amp;amp;p=51&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0115489%2F2003%2F01%2F03.html%23a51</comments>
			</item>
		<item>
			<title>Nice TDD for Web Apps Experience Paper now online</title>
			<link>http://radio.weblogs.com/0115489/categories/agileDevelopment/2003/01/03.html#a49</link>
			<description>&lt;P&gt;A &lt;A href=&quot;http://www.agilealliance.com/articles/articles/goingfaster.pdf&quot;&gt;paper &lt;/A&gt;on &lt;A href=&quot;http://www.xprogramming.com/xpmag/whatisxp.htm#test&quot;&gt;TDD &lt;/A&gt;for web apps is online at the &lt;A href=&quot;http://www.agilealliance.com/home&quot;&gt;Agile Alliance &lt;/A&gt;site. &lt;A href=&quot;http://www.edwardh.com&quot;&gt;Edward Hieatt &lt;/A&gt;and&amp;nbsp;Robert Mee have written a nice experience report on how the used TDD within their world at Evant.&amp;nbsp; There were just lots of great insights in this article!!&lt;/P&gt;
&lt;P&gt;First, how did they get started with TDD?&amp;nbsp; They sat down as a group and groped throught the process of writing the first tests together.&amp;nbsp; Now I am sure one could get mentoring and training, but I wonder if anything is better than fighting through it on your own.&amp;nbsp; What a great model for kicking off the team effort!&lt;/P&gt;
&lt;P&gt;Second, TDD allowed them to practice what Ron Jeffries calls &lt;A href=&quot;http://www.xprogramming.com/xpmag/expEmergentDesign.htm&quot;&gt;emerging design &lt;/A&gt;leading to emerging architecture.&amp;nbsp; It allowed them to start with EJBs, then move off of them with minimal impact and high confidence.&amp;nbsp; It allowed them to move into JSPs and then out of them with minimal impact.&amp;nbsp; It forced them to confront some of the harder TDD problems, like how do we test javascript effectively.&amp;nbsp; It&amp;nbsp;forced them to explore separation of concerns between servers and clients from the beginning. It forced them to create an acceptance testing framework that also served as an EAI integration framework when that was required.&lt;/P&gt;
&lt;P&gt;Third, it allowed them to minimize documentation on the development side by forcing them to document tests well enough to serve as documentation.&lt;/P&gt;
&lt;P&gt;Let&apos;s look at those emergent architecture points just a bit more. First what is emergent architecture?&lt;A href=&quot;http://iawiki.net/EricScheid&quot;&gt; Eric Sheid &lt;/A&gt;has a &lt;A href=&quot;http://iawiki.net/EmergentArchitecture&quot;&gt;good site &lt;/A&gt;for emergent architecture linkage in the context of IA.&amp;nbsp; But from my standpoint, emergent architecture is the&amp;nbsp;result of &lt;A href=&quot;http://www.xprogramming.com/xpmag/whatisxp.htm#test&quot;&gt;TDD &lt;/A&gt;&amp;nbsp;plus the &lt;A href=&quot;http://xp.c2.com/YouArentGonnaNeedIt.html&quot;&gt;&quot;You aren&apos;t gonna need it,&quot; &lt;/A&gt;&amp;nbsp;(YAGNI) principle plus the &quot;&lt;A href=&quot;http://c2.com/cgi/wiki?DoTheSimplestThingThatCouldPossiblyWork&quot;&gt;Do the simplest thing that could possibly work&lt;/A&gt;&quot; (DTSTTCPW) principle.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Let&apos;s get rid of the problems that probably shouldn&apos;t have been problems had YAGNI and DTSTTCPW been in force from the beginning.&amp;nbsp; It is likely that the EJB problem would not of occurred because EJBs violate both principles.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;For every other point, one&amp;nbsp;can argue that a well executed predictive system&amp;nbsp;development&amp;nbsp;process (&lt;A href=&quot;http://xp.c2.com/BigDesignUpFront.html&quot;&gt;BDUF&lt;/A&gt;)&amp;nbsp;could have prevented the problem by &quot;considering it from the beginning&quot;.&amp;nbsp; The underlying assumption in that statement is that the engineering involved in refactoring is greater than the engineering involved in up front infrastructure work. But that equation only works if the emergent architecture is ignoring critical customer requirements.&amp;nbsp; In any case where the stories have been identified and prioritized, the critical requirements&amp;nbsp;will emerge and be dealt with.&amp;nbsp; And the added benefit of the constant refactoring is the team acquires the confidence to do serious refactoring in ways that are efficient and effective.&lt;/P&gt;
&lt;P&gt;Commitment to emergent architecture means taking away the blame game (why didn&apos;t the customer, the requirements analyst, the development team, the management, the testers, the vendors, etc. foresee this problem and do something about it).&amp;nbsp; Commitment to emergent architecture does not mean ignoring requirements, does not mean not thinking about design choices, does not mean making poor design choices.&amp;nbsp; The commitment simply means that we will make the best choices we can based on what we know &quot;right now&quot;.&amp;nbsp; It means that we trust the participants to make needed changes &lt;EM&gt;as they are needed &lt;/EM&gt;with high confidence that the result is both operationally equivalent and runs.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0115489/categories/agileDevelopment/2003/01/03.html#a49</guid>
			<pubDate>Fri, 03 Jan 2003 17:41:32 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=115489&amp;amp;p=49</comments>
			</item>
		<item>
			<title>Why small code increments are good if tinkering is expected</title>
			<link>http://radio.weblogs.com/0115489/categories/agileDevelopment/2002/12/31.html#a48</link>
			<description>&lt;P&gt;&lt;A href=&quot;mailto:stefano@apache.org&quot;&gt;Stefano Mazzochi &lt;/A&gt;(via &lt;A href=&quot;http://www.intertwingly.net/blog/&quot;&gt;Sam Ruby&lt;/A&gt;) &lt;A href=&quot;http://archives.real-time.com/pipermail/cocoon-devel/2000-October/003023.html&quot;&gt;states the case &lt;/A&gt;eloquently for small increments of code in an open source project.&lt;/P&gt;
&lt;BLOCKQUOTE style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;P&gt;&lt;EM&gt;&quot;The hardest and best the code is, the more harm it creates to the&lt;BR&gt;community; this is because people will rather use the software rather&lt;BR&gt;than extend it. Normally, if more than one blackboxware submission is&lt;BR&gt;donated, the community will ask for a complete refactoring. (see&lt;BR&gt;Xerces2)&quot;&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;This is a great insight.&amp;nbsp; Every time this has happened on a project that I am working, the incentive to stay away from that code has been high.&amp;nbsp; When a large chunk of code drops in (I would argue even if it is relatively easy to understand) it creates a large barrier to understanding and thus to extension.&amp;nbsp; Now this may be a virtue if you don&apos;t want extension:), but if the expectation is that things will be changing over time then incrementalism is a good friend.&lt;/P&gt;
&lt;BLOCKQUOTE style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;P&gt;&lt;EM&gt;&quot;The good old Software Engineering practices they teach you in college&lt;BR&gt;are bullshit: making architecture decisions without continous&lt;BR&gt;reversibility is expensive because design constraints change too much.&lt;BR&gt;Those who want to apply hardware engineering practices miserably fail.&lt;BR&gt;Open source is here to prove that such a &quot;messy&quot; way to do code is&lt;BR&gt;actually the only one that works and scales.&quot;&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;This is another key insight.&amp;nbsp; Architecture as an emergent property rather than a static set of constraints or characteristics.&amp;nbsp; This is particularly important where adaptation is more important than optimization (see &lt;A href=&quot;http://www.jimhighsmith.com&quot;&gt;Jim Highsmith&amp;nbsp;&lt;/A&gt; &lt;A href=&quot;http://www.jimhighsmith.com/articles/order.html&quot;&gt;here). &lt;/A&gt;I like that! Architecture should follow design whenever possible to allow the system to evolve rapidly to where it wants to go.&amp;nbsp; Build it often, build it to run, make sure you can always go back to what ran previously.&amp;nbsp; &lt;/P&gt;
&lt;P style=&quot;MARGIN-RIGHT: 0px&quot;&gt;&amp;nbsp;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0115489/categories/agileDevelopment/2002/12/31.html#a48</guid>
			<pubDate>Tue, 31 Dec 2002 17:05:46 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=115489&amp;amp;p=48&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0115489%2F2002%2F12%2F31.html%23a48</comments>
			</item>
		<item>
			<title>Leaky Abstractions &amp; Why You Should Care</title>
			<link>http://radio.weblogs.com/0115489/categories/agileDevelopment/2002/11/14.html#a31</link>
			<description>&lt;P&gt;&lt;A href=&quot;http://www.joelonsoftware.com/&quot;&gt;Joel Spolsky &lt;/A&gt;has an &lt;A href=&quot;http://www.joelonsoftware.com/articles/LeakyAbstractions.html&quot;&gt;excellent piece on Leaky Abstractions&lt;/A&gt;, if you haven&apos;t read it, go read it now.&lt;/P&gt;
&lt;P&gt;First, one of the great things about agile methods is the focus on early deployment of real user capabilities.&amp;nbsp; If anything will surface the leaky abstractions in the toolset, early and often testing is key.&lt;/P&gt;
&lt;P&gt;My favorite bits:&lt;!--StartFragment --&gt;&lt;/P&gt;
&lt;BLOCKQUOTE style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;P&gt;&lt;EM&gt;Abstractions fail. Sometimes a little, sometimes a lot. There&apos;s leakage. Things go wrong. It happens all over the place when you have abstractions. &lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;All products/frameworks/tools make assumptions and those assumptions get driven up into the abstractions upon which the products/frameworks/tools are based.&amp;nbsp; We cannot predict the system failures that will occur from any arbitrary assembly of software parts, because it is nearly impossible to understand how the abstractions will leak, particularly between the piece parts.&lt;/P&gt;
&lt;P&gt;Why do leaky abstractions matter in web services land?&amp;nbsp; Remember that standards and tools can only shield you a bit from the harsh unabstracted world.&amp;nbsp; And remember that a good deal of the glue-ware in existence&amp;nbsp;is specifically designed to be the bandage for leaky abstractions that are bleeding all over the place:).&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0115489/categories/agileDevelopment/2002/11/14.html#a31</guid>
			<pubDate>Thu, 14 Nov 2002 16:21:03 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=115489&amp;amp;p=31&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0115489%2F2002%2F11%2F14.html%23a31</comments>
			</item>
		<item>
			<title>Get your submissions in - O&apos;Reilly Emerging Tech 2003 on tap</title>
			<link>http://radio.weblogs.com/0115489/categories/agileDevelopment/2002/11/12.html#a23</link>
			<description>In from &lt;A href=&quot;http://wmf.editthispage.com/&quot;&gt;Wes Felter&lt;/A&gt;, if you think you might be interested, &lt;A href=&quot;http://conferences.oreillynet.com/cs/et2003/create/e_sess&quot;&gt;submissions &lt;/A&gt;welcome until December 13, 2002 for the &lt;A href=&quot;http://conferences.oreilly.com/et2003/&quot;&gt;O&apos;Reilly Emerging Technology Conference 2003 &lt;/A&gt;running April 22-25 2003 in Santa Clara.</description>
			<guid>http://radio.weblogs.com/0115489/categories/agileDevelopment/2002/11/12.html#a23</guid>
			<pubDate>Tue, 12 Nov 2002 16:16:50 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=115489&amp;amp;p=23&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0115489%2F2002%2F11%2F12.html%23a23</comments>
			</item>
		<item>
			<title>New Article in CACM Helps Debunk Some Junk Science About Estimating on Software Projects</title>
			<link>http://radio.weblogs.com/0115489/categories/agileDevelopment/2002/11/11.html#a22</link>
			<description>I have written a short &lt;A href=&quot;http://127.0.0.1:5335/stories/2002/11/11/discussingThe10UnmythsOfProjectEstimationOrWhyWhatYouDontKnowCanHurtYou&quot;&gt;article &lt;/A&gt;based upon an excellent article in the November Communications of the &lt;A href=&quot;http://acm.org&quot;&gt;ACM&lt;/A&gt; by &lt;A href=&quot;http://corvusintl.com/biograph.htm#Phillip%20Glen%20Armour&quot;&gt;Phillip Armour&lt;/A&gt;.&amp;nbsp; I love his metaphor of software as a knowledge creation/extraction activity, which he then links to many common estimation problems in software land.</description>
			<guid>http://radio.weblogs.com/0115489/categories/agileDevelopment/2002/11/11.html#a22</guid>
			<pubDate>Mon, 11 Nov 2002 18:00:03 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=115489&amp;amp;p=22&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0115489%2F2002%2F11%2F11.html%23a22</comments>
			</item>
		<item>
			<title>Trust and Social Network Analysis</title>
			<link>http://radio.weblogs.com/0115489/categories/agileDevelopment/2002/11/05.html#a19</link>
			<description>&lt;P&gt;&lt;A href=&quot;http://www.strategy-business.com/&quot;&gt;strategy + business &lt;/A&gt;(free subscription required) has a nice longish &lt;A href=&quot;http://www.strategy-business.com/press/article/?ptag-ps=&amp;amp;art=9056282&amp;amp;pg=0&quot;&gt;article &lt;/A&gt;on trust and social network analysis within corporations.&amp;nbsp; First on trust.&lt;/P&gt;&lt;SPAN class=articletext&gt;
&lt;BLOCKQUOTE style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;P class=articletext&gt;&lt;EM&gt;&amp;#147;People have at their very fingertips, at the tips of their brains, tremendous amounts of tacit knowledge, which are not captured in our computer systems or on paper,&amp;#148; says Professor Stephenson. &amp;#147;Trust is the utility through which this knowledge flows.&amp;#148;&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P class=articletext&gt;Bingo #1!! Information sharing slows to zero as trust degrades.&amp;nbsp; This is critical to understand in any agile development effort.&amp;nbsp; Agility requires that both customer and developer be able to share a lot of information.&amp;nbsp; Without trust, such sharing is difficult to understand or implement.&lt;/P&gt;
&lt;BLOCKQUOTE style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;P class=articletext&gt;&lt;EM&gt;&lt;!--StartFragment --&gt;&amp;nbsp;&lt;SPAN class=articletext&gt;Such social scientists as Francis Fukuyama, Mark Granovetter, and Robert Putnam have made strong cases that high-trust societies have an enormous competitive advantage over legalistic societies, in which suspicion of people is a cultural value, because the transaction costs go down. In high-trust organizations, transaction costs are similarly lower. &lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P class=articletext&gt;Bingo #2.&amp;nbsp; Corporate cultures usually come down on either as legalistic or as trust-based.&amp;nbsp; If your corporate culture is not trust-based, then agile methods are likely to be met with a great deal of resistance.&lt;/P&gt;
&lt;P class=articletext&gt;Now Social Network Analysis.&amp;nbsp; This is a lot fuzzier.&amp;nbsp; Prof. Stephenson is a prime mover behind &lt;A href=&quot;http://www.netform.com/&quot;&gt;NetForms International&lt;/A&gt;, which appears to provide tools and services related to Social Network Analysis. Now I can easily understand how such analysis might help visualize the eco-systems inside a company, it is not as clear to me how much help comes from techniques that require the kinds of commitments these do to form a static picture that is eroding from day one.&amp;nbsp; I am not a big fan of static view in agile worlds, and doubt that trust is a static value:)&lt;/P&gt;&lt;/SPAN&gt;</description>
			<guid>http://radio.weblogs.com/0115489/categories/agileDevelopment/2002/11/05.html#a19</guid>
			<pubDate>Tue, 05 Nov 2002 17:28:08 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=115489&amp;amp;p=19&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0115489%2F2002%2F11%2F05.html%23a19</comments>
			</item>
		<item>
			<title>Platforms - why I care, and some current thoughts.</title>
			<link>http://radio.weblogs.com/0115489/categories/agileDevelopment/2002/11/02.html#a11</link>
			<description>&lt;P&gt;Platforms have been in the blogs a bit in the past couple of months, and after this week they are in my mind as well. Trying to decide which platforms to understand, support, and follow is a key problem for anyone in this business.&amp;nbsp; I recommend all these links for a good range of thought on what platforms are, and how platform developers think differently than application developers.&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://www.flightpath.com/&quot;&gt;Brent Sleeper &lt;/A&gt;jumps in this week with his &lt;A href=&quot;http://www.stencilgroup.com/ideas_wsscope_20021031.html&quot;&gt;take &lt;/A&gt;on platforms.&amp;nbsp; &lt;A href=&quot;http://www.ozzie.net/blog/&quot;&gt;Ray Ozzie&lt;/A&gt;, &lt;A href=&quot;http://www.joelonsoftware.com/index.html&quot;&gt;Joel Spolsky&lt;/A&gt;, and &lt;A href=&quot;http://www.scripting.com/&quot;&gt;Dave Winer &lt;/A&gt;recently discussed platforms (&lt;A href=&quot;http://www.joelonsoftware.com/articles/Platforms.html&quot;&gt;Joel&lt;/A&gt;, Ray&apos;s &lt;A href=&quot;http://www.ozzie.net/blog/stories/2002/09/03/toJoelOnPlatforms.html&quot;&gt;first &lt;/A&gt;response, Joel&apos;s &lt;A href=&quot;http://www.joelonsoftware.com/news/20020925.html&quot;&gt;response&lt;/A&gt;, Dave&apos;s &lt;A href=&quot;http://scriptingnews.userland.com/backissues/2002/09/19#When:5:18:29AM&quot;&gt;input&lt;/A&gt;, Ray&apos;s platform &lt;A href=&quot;http://www.ozzie.net/blog/stories/2002/09/24/softwarePlatformDynamics.html&quot;&gt;piece&lt;/A&gt;).&amp;nbsp; &lt;/P&gt;
&lt;P&gt;The platform vendor (whether a single vendor or a consortium of vendors) has a vested interest in my having NO MORE THAN limited success.&amp;nbsp; If I create an application on top of the platform that is too profitable, they will try as hard as they can to pull that revenue stream back into the platform which means I have to respond to the customer faster than the platform vendor to remain viable.&amp;nbsp; If my needs at the platform level don&apos;t generate enough revenue, I will hear &quot;its coming in a future release&quot; until I run out of money:).&amp;nbsp; &lt;/P&gt;
&lt;P&gt;So where are my bets in the short term?&amp;nbsp; Well, I am betting on platforms that are globally transparent (licensing and pricing models that scale globally) meaning that I can leverage work being done around the globe.&amp;nbsp; I don&apos;t think those will be single vendor proprietary platforms, but that is just me:).&amp;nbsp; &lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0115489/categories/agileDevelopment/2002/11/02.html#a11</guid>
			<pubDate>Sat, 02 Nov 2002 19:34:04 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=115489&amp;amp;p=11&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0115489%2F2002%2F11%2F02.html%23a11</comments>
			</item>
		<item>
			<title>What consultants optimize - Why your mileage may vary</title>
			<link>http://radio.weblogs.com/0115489/categories/agileDevelopment/2002/11/01.html#a10</link>
			<description>&lt;P&gt;&lt;A href=&quot;http://www.rc3.org/&quot;&gt;Rafe Colburn &lt;/A&gt;has a nice &lt;A href=&quot;http://www.rc3.org/cgi-bin/less.pl?arg=4628&quot;&gt;rant &lt;/A&gt;on consultants and why the applications they produce are often a bit weak.&amp;nbsp;&amp;nbsp;My favorite quotes are:&lt;/P&gt;
&lt;BLOCKQUOTE style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;P style=&quot;MARGIN-RIGHT: 0px&quot;&gt;&lt;EM&gt;The bottom line is that the core skill for many consultants (and, no doubt, trainers) is willingness to travel, and TMC is a company that sells consulting and training. While there are certainly some fine consultants out there, most of the best are either working on their own so that they don&apos;t bill $200 an hour and take home $40 an hour.&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P style=&quot;MARGIN-RIGHT: 0px&quot;&gt;Don&apos;t be surprised if you consultants fit into this category, most do!&amp;nbsp; So why does this belong in the agile category?&amp;nbsp; Well...&lt;/P&gt;
&lt;BLOCKQUOTE style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;P style=&quot;MARGIN-RIGHT: 0px&quot;&gt;&lt;EM&gt;Consulting teaches you many bad habits, mainly due to the fact that they never have to own existing applications over a long period of time. That shields you from the day to day work of maintaining, refactoring, and optimizing applications that are the responsibility of people who work on commercial software or even internal projects. &lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P style=&quot;MARGIN-RIGHT: 0px&quot;&gt;Given an agile approach, no one can put off the maintaining, refactoring, and optimizing.&amp;nbsp; The myth of the consultant would hold that they can bring &quot;packaged expertise&quot; to an enterprise.&amp;nbsp; It should be no surprise that the real packaged expertise is the maintaining, refactoring, and optimizing that must be done as the system lives within the enterprise.&amp;nbsp; If your consultant gets to walk away when the project&amp;nbsp;is &quot;done&quot;, you should be worried.&lt;/P&gt;&lt;A href=&quot;http://www.rc3.org/cgi-bin/less.pl?arg=4628&quot;&gt;&lt;/A&gt;</description>
			<guid>http://radio.weblogs.com/0115489/categories/agileDevelopment/2002/11/01.html#a10</guid>
			<pubDate>Fri, 01 Nov 2002 18:54:11 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=115489&amp;amp;p=10&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0115489%2F2002%2F11%2F01.html%23a10</comments>
			</item>
		</channel>
	</rss>
