<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Embracing Failure: Agile and Fear Driven Process</title>
	<atom:link href="http://softwaremaestro.wordpress.com/2007/07/02/embracing-failure-agile-and-fear-driven-process/feed/" rel="self" type="application/rss+xml" />
	<link>http://softwaremaestro.wordpress.com/2007/07/02/embracing-failure-agile-and-fear-driven-process/</link>
	<description>Examining the latest and best software practices today, with a critical (and humorous) look at XP/Agile/Scrum</description>
	<lastBuildDate>Wed, 19 Dec 2007 19:58:09 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Software Maestro</title>
		<link>http://softwaremaestro.wordpress.com/2007/07/02/embracing-failure-agile-and-fear-driven-process/#comment-54</link>
		<dc:creator>Software Maestro</dc:creator>
		<pubDate>Mon, 16 Jul 2007 19:15:47 +0000</pubDate>
		<guid isPermaLink="false">http://softwaremaestro.wordpress.com/2007/07/02/embracing-failure-agile-and-fear-driven-process/#comment-54</guid>
		<description>I&#039;m not a &quot;methodology expert&quot; so I don&#039;t read and study various methodologies to see what is the best.

What I do, and at somepoint I&#039;ll write a more in depth blog about it is very straightforward:

1) Hire the Best and Brightest

2) Use the Specialists for what they are good at

3) Get a Clear up front Specification in Writing

4) Start a Design and Prototype Interfaces/performance

5) Modify Design as Necessary

6) Begin Coding all the Unknowns first, since those are the ones that are impossible to predict in terms of schedule; eliminating these makes it easier to predict a schedule going forward

7) Incrementally develop and refine the software organized at medium length releases in the 2-4 month range.

8.) Use a Bugtracker with bugs/wishes/features prioritized and hand those off to developers on a daily basis 

9) Teams are organized into 1-4 persons &quot;Squads&quot; in charge or a particular module, providing pride of ownership and consistency of implementation and utilization of each persons skillset in a way that is most benfecial to the project.

Nothing fancy... as far as meetings I believe what is important is clear communication, not face time.

Whether it&#039;s emails, meetings, wikis, diagrams, all of those things can work, but I strive towards clear communication and not dogmatic process..

To be clear, in my writings I&#039;m criticizing Scrum and XP in particular, since these are the most useless, as well as most well known and most clearly overhyped and misleading a generation of programmers and managers with extremely false promises and laughably poor &quot;logic&quot;.

That doesn&#039;t mean any iterative process is bad and I would hope that people can stop calling iterative agile now :)

Agile = Iterative + Brand Name + Hype + Dogmatic Practices

Frankly I&#039;m not at all interested in the Hype or the Dogma, and most of what&#039;s useful in Agile has been known for quite a long time; they are merely taking sugared water and making a brand name to sell it (Pepsi).... Then they have a lot of voodoo and dogma to make it seem unique, a cult like clubby marketing plan, and a vast herd of sheep to keep bleating out the same platitudes all the web over.



The most important thing a programmer can do is think and be creative; it&#039;s the art, the magic or software; 

No certification, no methodology, no college can teach that; either you have it or you don&#039;t.  




Software Maestro</description>
		<content:encoded><![CDATA[<p>I&#8217;m not a &#8220;methodology expert&#8221; so I don&#8217;t read and study various methodologies to see what is the best.</p>
<p>What I do, and at somepoint I&#8217;ll write a more in depth blog about it is very straightforward:</p>
<p>1) Hire the Best and Brightest</p>
<p>2) Use the Specialists for what they are good at</p>
<p>3) Get a Clear up front Specification in Writing</p>
<p>4) Start a Design and Prototype Interfaces/performance</p>
<p>5) Modify Design as Necessary</p>
<p>6) Begin Coding all the Unknowns first, since those are the ones that are impossible to predict in terms of schedule; eliminating these makes it easier to predict a schedule going forward</p>
<p>7) Incrementally develop and refine the software organized at medium length releases in the 2-4 month range.</p>
<p>8.) Use a Bugtracker with bugs/wishes/features prioritized and hand those off to developers on a daily basis </p>
<p>9) Teams are organized into 1-4 persons &#8220;Squads&#8221; in charge or a particular module, providing pride of ownership and consistency of implementation and utilization of each persons skillset in a way that is most benfecial to the project.</p>
<p>Nothing fancy&#8230; as far as meetings I believe what is important is clear communication, not face time.</p>
<p>Whether it&#8217;s emails, meetings, wikis, diagrams, all of those things can work, but I strive towards clear communication and not dogmatic process..</p>
<p>To be clear, in my writings I&#8217;m criticizing Scrum and XP in particular, since these are the most useless, as well as most well known and most clearly overhyped and misleading a generation of programmers and managers with extremely false promises and laughably poor &#8220;logic&#8221;.</p>
<p>That doesn&#8217;t mean any iterative process is bad and I would hope that people can stop calling iterative agile now <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Agile = Iterative + Brand Name + Hype + Dogmatic Practices</p>
<p>Frankly I&#8217;m not at all interested in the Hype or the Dogma, and most of what&#8217;s useful in Agile has been known for quite a long time; they are merely taking sugared water and making a brand name to sell it (Pepsi)&#8230;. Then they have a lot of voodoo and dogma to make it seem unique, a cult like clubby marketing plan, and a vast herd of sheep to keep bleating out the same platitudes all the web over.</p>
<p>The most important thing a programmer can do is think and be creative; it&#8217;s the art, the magic or software; </p>
<p>No certification, no methodology, no college can teach that; either you have it or you don&#8217;t.  </p>
<p>Software Maestro</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fregas</title>
		<link>http://softwaremaestro.wordpress.com/2007/07/02/embracing-failure-agile-and-fear-driven-process/#comment-53</link>
		<dc:creator>Fregas</dc:creator>
		<pubDate>Mon, 16 Jul 2007 16:11:32 +0000</pubDate>
		<guid isPermaLink="false">http://softwaremaestro.wordpress.com/2007/07/02/embracing-failure-agile-and-fear-driven-process/#comment-53</guid>
		<description>Maestro,

I think you make a counter arguement, but you ignored this part of my post:
&quot;...and better than the politically charged waterfall at my last job&quot;

At my previous job, it was a large company with lots of beauracracy, and our process was basically waterfall.  Developers were expected to find ALL the requirements ahead of time in a slew of long meetings, write mounds of documentation (screen shots, functional specs, use-cases, etc.) and then start writing code to spec without changing anything.  The customer was required to literally &quot;sign off&quot; on the documentation and so the programming group would not have to change anything during development.  

It didn&#039;t work.  The reason it didn&#039;t work is because people don&#039;t know what they want/need until they see it.  Prototypes and screenshots and documentation CAN HELP, but until they see working software, you&#039;re not going to know whether you&#039;re on track.  Our software group didn&#039;t have the political clout to say &quot;no&quot; when the users inevitably changed their minds on what they wanted, and even if they did, we&#039;re there to serve them, not the other way around.  So these mounds of documentation and design up front were mostly waste.

I&#039;ve been on both sides--waterfall and chaos. I don&#039;t do TDD, paired programming or User Stories--we&#039;re not an XP shop.  I do have daily scrum meetings and they&#039;ve helped, without becoming a black hole of project management with long meetings that i had at the last job.  They are short and to the point and keep everyone on track.

I am interested in hearing what methodolgy you use Maestro.  Is it waterfall or is it something else?  I&#039;m not sure what alternative you&#039;re proposing as your comments seem contradictory.  You&#039;re calling heavy documentation &quot;fine-cuisine&quot; but earlier you said that watefall was too heavy and agile was too chaotic.  So what do you see as being the middle ground?

You also asked what was out there besides Scrum and XP.  The answer is A LOT.  While those two are undoubtedly the most popular, there is Lean, Crystal, RUP and others.  They don&#039;t get quite as much press but i think they are certainly worth looking into.</description>
		<content:encoded><![CDATA[<p>Maestro,</p>
<p>I think you make a counter arguement, but you ignored this part of my post:<br />
&#8220;&#8230;and better than the politically charged waterfall at my last job&#8221;</p>
<p>At my previous job, it was a large company with lots of beauracracy, and our process was basically waterfall.  Developers were expected to find ALL the requirements ahead of time in a slew of long meetings, write mounds of documentation (screen shots, functional specs, use-cases, etc.) and then start writing code to spec without changing anything.  The customer was required to literally &#8220;sign off&#8221; on the documentation and so the programming group would not have to change anything during development.  </p>
<p>It didn&#8217;t work.  The reason it didn&#8217;t work is because people don&#8217;t know what they want/need until they see it.  Prototypes and screenshots and documentation CAN HELP, but until they see working software, you&#8217;re not going to know whether you&#8217;re on track.  Our software group didn&#8217;t have the political clout to say &#8220;no&#8221; when the users inevitably changed their minds on what they wanted, and even if they did, we&#8217;re there to serve them, not the other way around.  So these mounds of documentation and design up front were mostly waste.</p>
<p>I&#8217;ve been on both sides&#8211;waterfall and chaos. I don&#8217;t do TDD, paired programming or User Stories&#8211;we&#8217;re not an XP shop.  I do have daily scrum meetings and they&#8217;ve helped, without becoming a black hole of project management with long meetings that i had at the last job.  They are short and to the point and keep everyone on track.</p>
<p>I am interested in hearing what methodolgy you use Maestro.  Is it waterfall or is it something else?  I&#8217;m not sure what alternative you&#8217;re proposing as your comments seem contradictory.  You&#8217;re calling heavy documentation &#8220;fine-cuisine&#8221; but earlier you said that watefall was too heavy and agile was too chaotic.  So what do you see as being the middle ground?</p>
<p>You also asked what was out there besides Scrum and XP.  The answer is A LOT.  While those two are undoubtedly the most popular, there is Lean, Crystal, RUP and others.  They don&#8217;t get quite as much press but i think they are certainly worth looking into.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Software Maestro</title>
		<link>http://softwaremaestro.wordpress.com/2007/07/02/embracing-failure-agile-and-fear-driven-process/#comment-52</link>
		<dc:creator>Software Maestro</dc:creator>
		<pubDate>Sat, 14 Jul 2007 05:27:41 +0000</pubDate>
		<guid isPermaLink="false">http://softwaremaestro.wordpress.com/2007/07/02/embracing-failure-agile-and-fear-driven-process/#comment-52</guid>
		<description>@Fregas:

See you validate my thinking completely, which is that the only people who would be impressed by Scrum/XP/Agile are people who had NO process before and anything was an improvement!

You say: &quot;At my current company, we had almost no process whatsoever. There was some documentation and analysis up front, but very little. After that the developers went off in their “coding caves” for 1-6 months, came back and it was shit because the requirements were not understood, not completely discovered or the client had changed their mind on some things.&quot;

Well of course -- no process and then big bang integrations is a recipe for disaster. But does that mean daily meetings and daily integrations are the answer?

It&#039;s like someone who has been starving to death for weeks, then finds some Cheez Whiz and Spam, and it&#039;s like manna from heaven.

Then these same people decry fine cuisine as overly documented, and you won&#039;t be hungry by the time you finish making it....So you just eat Spam and Cheez Whiz because it&#039;s quick and no documentation and that way you(or the customer @/) won&#039;t change your mind while baking something.

Obviously, I&#039;m not convinced, and the reason I&#039;m not convinced is because I&#039;ve been on, managed, and even been the CEO of companies, that had a well run software development process; that had bug free code on time and on budget- without TDD, User Stories, Daily Scrums, or any of the tripe, hype and dogma recommended by Agilistas round the world.

It certainly is hard to describe the taste of chocolate to someone who hasn&#039;t tasted it, but I can definitely tell you it doesn&#039;t taste like Cheez Whiz. :)

If people don&#039;t like it being called tripe, I&#039;m a little sorry, but I have to be clear: when people write books filled with tripe, and call it down home cooking, those of us who know how to cook have to say something about it.

But it sure won&#039;t stop people from crowing about how great their favorite greasy diner is.

Software Maestro</description>
		<content:encoded><![CDATA[<p>@Fregas:</p>
<p>See you validate my thinking completely, which is that the only people who would be impressed by Scrum/XP/Agile are people who had NO process before and anything was an improvement!</p>
<p>You say: &#8220;At my current company, we had almost no process whatsoever. There was some documentation and analysis up front, but very little. After that the developers went off in their “coding caves” for 1-6 months, came back and it was shit because the requirements were not understood, not completely discovered or the client had changed their mind on some things.&#8221;</p>
<p>Well of course &#8212; no process and then big bang integrations is a recipe for disaster. But does that mean daily meetings and daily integrations are the answer?</p>
<p>It&#8217;s like someone who has been starving to death for weeks, then finds some Cheez Whiz and Spam, and it&#8217;s like manna from heaven.</p>
<p>Then these same people decry fine cuisine as overly documented, and you won&#8217;t be hungry by the time you finish making it&#8230;.So you just eat Spam and Cheez Whiz because it&#8217;s quick and no documentation and that way you(or the customer @/) won&#8217;t change your mind while baking something.</p>
<p>Obviously, I&#8217;m not convinced, and the reason I&#8217;m not convinced is because I&#8217;ve been on, managed, and even been the CEO of companies, that had a well run software development process; that had bug free code on time and on budget- without TDD, User Stories, Daily Scrums, or any of the tripe, hype and dogma recommended by Agilistas round the world.</p>
<p>It certainly is hard to describe the taste of chocolate to someone who hasn&#8217;t tasted it, but I can definitely tell you it doesn&#8217;t taste like Cheez Whiz. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>If people don&#8217;t like it being called tripe, I&#8217;m a little sorry, but I have to be clear: when people write books filled with tripe, and call it down home cooking, those of us who know how to cook have to say something about it.</p>
<p>But it sure won&#8217;t stop people from crowing about how great their favorite greasy diner is.</p>
<p>Software Maestro</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Software Maestro</title>
		<link>http://softwaremaestro.wordpress.com/2007/07/02/embracing-failure-agile-and-fear-driven-process/#comment-51</link>
		<dc:creator>Software Maestro</dc:creator>
		<pubDate>Sat, 14 Jul 2007 05:18:00 +0000</pubDate>
		<guid isPermaLink="false">http://softwaremaestro.wordpress.com/2007/07/02/embracing-failure-agile-and-fear-driven-process/#comment-51</guid>
		<description>I think deferring design commitments (like Scalability) to the last moment is near suicide.

And that is how the Agilists would do it... YAGNI.. Then when you do, rewrite the whole system... Great....

As far as discarding Scrum and XP, what do you have left?

Iterative Process and some Unit Testing?

Those are things I believe and have been using long before they were published.

Everything else about so called Agile, collective code, pair programming, daily scrums, user stories instead of specs, user stories on cards, all of that nonsense, I have zero use for.

If you&#039;re in favor of &quot;Iterative&quot; development -- so am I -- and I think it&#039;s time for people who care about Iterative and nothing else about Agile to start espousing Iterative development.

The rest of it is just a collection of one-size-fits-all dogma thrown onto a common and well known concept and relabeled &quot;Agile&quot; or &quot;Scrum&quot; in attempt to create a Brand Name merely to make money from it.

The fact that some iterative proponents, possibly yourself included, jump on anything they see as facile and call it &quot;Agile&quot; merely futhers to muddy the water and promote a brand name filled with shills and posers....

I&#039;m sure we have some common ground here :)

As far as &quot;calling it roomba&quot;  is disrespectful -- that is just calling a spade a spade. Test first means make the test fails and then try  anything, or at most, &quot;a little&quot; design to make them pass. Go read Ron Jeffries laughable attempts to use that method to write a Sudoku Solver, referenced above, and you&#039;ll see that calling it roomba is largesse in the extreme.

Software Maestro</description>
		<content:encoded><![CDATA[<p>I think deferring design commitments (like Scalability) to the last moment is near suicide.</p>
<p>And that is how the Agilists would do it&#8230; YAGNI.. Then when you do, rewrite the whole system&#8230; Great&#8230;.</p>
<p>As far as discarding Scrum and XP, what do you have left?</p>
<p>Iterative Process and some Unit Testing?</p>
<p>Those are things I believe and have been using long before they were published.</p>
<p>Everything else about so called Agile, collective code, pair programming, daily scrums, user stories instead of specs, user stories on cards, all of that nonsense, I have zero use for.</p>
<p>If you&#8217;re in favor of &#8220;Iterative&#8221; development &#8212; so am I &#8212; and I think it&#8217;s time for people who care about Iterative and nothing else about Agile to start espousing Iterative development.</p>
<p>The rest of it is just a collection of one-size-fits-all dogma thrown onto a common and well known concept and relabeled &#8220;Agile&#8221; or &#8220;Scrum&#8221; in attempt to create a Brand Name merely to make money from it.</p>
<p>The fact that some iterative proponents, possibly yourself included, jump on anything they see as facile and call it &#8220;Agile&#8221; merely futhers to muddy the water and promote a brand name filled with shills and posers&#8230;.</p>
<p>I&#8217;m sure we have some common ground here <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>As far as &#8220;calling it roomba&#8221;  is disrespectful &#8212; that is just calling a spade a spade. Test first means make the test fails and then try  anything, or at most, &#8220;a little&#8221; design to make them pass. Go read Ron Jeffries laughable attempts to use that method to write a Sudoku Solver, referenced above, and you&#8217;ll see that calling it roomba is largesse in the extreme.</p>
<p>Software Maestro</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Martin Cron</title>
		<link>http://softwaremaestro.wordpress.com/2007/07/02/embracing-failure-agile-and-fear-driven-process/#comment-47</link>
		<dc:creator>Martin Cron</dc:creator>
		<pubDate>Fri, 13 Jul 2007 22:22:38 +0000</pubDate>
		<guid isPermaLink="false">http://softwaremaestro.wordpress.com/2007/07/02/embracing-failure-agile-and-fear-driven-process/#comment-47</guid>
		<description>Deferring design commitments until the last responsible moment is not the same thing as acting like a Roomba. 

You (rightly so) talk about the tendency of Agilists to create a &quot;waterfall&quot; bogeyman/strawman. It&#039;s something that I know I&#039;ve done in the past, and have resolved not to do.  Likening an approach  to a non-sentient robot vacuum cleaner? Not exactly respectful.

Anyway, what would happen if you were to temporarily discard the specific process implementations (such as Scrum and XP, both of which have their dysfunctions) and you look at Agile (and Lean, for that matter, which I think is a more useful framework) as just a collection of pre-packaged values?  Would you have the same negative reactions?</description>
		<content:encoded><![CDATA[<p>Deferring design commitments until the last responsible moment is not the same thing as acting like a Roomba. </p>
<p>You (rightly so) talk about the tendency of Agilists to create a &#8220;waterfall&#8221; bogeyman/strawman. It&#8217;s something that I know I&#8217;ve done in the past, and have resolved not to do.  Likening an approach  to a non-sentient robot vacuum cleaner? Not exactly respectful.</p>
<p>Anyway, what would happen if you were to temporarily discard the specific process implementations (such as Scrum and XP, both of which have their dysfunctions) and you look at Agile (and Lean, for that matter, which I think is a more useful framework) as just a collection of pre-packaged values?  Would you have the same negative reactions?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fregas</title>
		<link>http://softwaremaestro.wordpress.com/2007/07/02/embracing-failure-agile-and-fear-driven-process/#comment-46</link>
		<dc:creator>Fregas</dc:creator>
		<pubDate>Fri, 13 Jul 2007 19:43:04 +0000</pubDate>
		<guid isPermaLink="false">http://softwaremaestro.wordpress.com/2007/07/02/embracing-failure-agile-and-fear-driven-process/#comment-46</guid>
		<description>See, I just don&#039;t find that Agile is &quot;Chaos Hell&quot;.  I think agile is actually closer to the middle, except for the absolute extremists.  At my current company, we had almost no process whatsoever.  There was some documentation and analysis up front, but very little.  After that the developers went off in their &quot;coding caves&quot; for 1-6 months, came back and it was shit because the requirements were not understood, not completely discovered or the client had changed their mind on some things.  



Don&#039;t confuse XP with Agile either.  I was talking in general terms about Agile.  You were talking about one form of Agile called XP.



We&#039;ve started doing scrum, and its actually MORE process than what we had before.  We&#039;ve started moving from the far left (Chaos) to the middle (Agile) but not quite to the far right (Waterfall).  We&#039;re hitting deadlines, we know what we&#039;re supposed to be working on, we have some idea when certain things are going to be done.  We&#039;re starting to do development in smaller chunks and show our clients&#039; iterative deliverables to make sure we&#039;re on track.  Its not perfect, but its better than the chaos we had before, and better than the politically charged waterfall at my last job.  Less things are slipping thru the cracks.  



I haven&#039;t done XP specifically, but i have read some of the book but I don&#039;t see anything in there that says don&#039;t do any documentation.  XP at LEASE has User Stories which are a form of documentation.  It sounds like you just had a bad experience with XP, but that doesn&#039;t mean XP is always implemented so poorly or it doesn&#039;t work for anyone.  Also, XP focuses more on software development practices (paired programming, TDD, weekly iterations, Unit Testing, etc) and LESS on project management.  Scrum deals more with Project Management.  So maybe XP on its own tends to lead to chaos, because there is minimal documentation and management.  Maybe for small shops its fine but larger shops needs Scrum, crystal or something else to manage it all.  I have heard that many shops use XP &amp; Scrum together: XP for their engineering practices, and Scrum for the management aspects.



I don&#039;t think documentation is bad, but I feel it should be lean.  I think the larger projects need more documentation, but documentation always tends to veer from reality very quickly.  I think the general agile concepts of personal communication, feedback, small iterations, help make up for this failure.  You&#039;re right.  Its not either/or all or nothing, nor was it ever meant to be.



I read your article about whether XP violates Agile.  I think that anytime a methodology is inflicted on team members without their consent, e.g. they are not on board, its not very &quot;Agile.&quot;  The book &quot;Agile Project Management with Scrum&quot; by Kent Shwaeber talks about this very experience, and he had to back off on some of the changes he was trying to make using Scrum.  He had to ignore some processes because the team members didn&#039;t want to do them, and he chose to honor the team and Agile principles, rather than stick obsessively to the &quot;official scrum&quot; process.   

I disagree that things like stand up meetings, collective code ownership, etc. violate the Agile Manifesto or necessarily decompose into some form of &quot;Agile Communism.&quot;  We move people around from project to project and from one piece of code to another all the time.  Noone really has a problem with it.  We do specialize, so while i may be able to modify some CSS or graphics, i&#039;ll usually turn it over to our UI Developer if its something complicated. He in turn almost never touches and C# and ASP.NET, but i&#039;m teaching him a little bit of it and he&#039;s picking it up enough to do simple tasks.  The other C# developers will change my code and vice versa.  If there is a budget or time issue at stake, then the guy most familiar with that part of the code will usually work on it.  Its really not rocket science, and it doesn&#039;t feel like communism or stalinism.  We all get along pretty well, but we&#039;re a small team.  I think individual code ownership is actually more dangerous to a business, because of two reasons:

1) if that guy quits, noone else knows his code and it will likely look very different from everyone else&#039;s.  
2) if you put the same guy on the same project or part of a project, he&#039;ll often get burnt out.

Its just not as bad as you make it out to be.  There are (and should be!) exceptions to every rule.  If you adhere to anything dogmatically, it will be a curse rather than a blessing.  The scrum book i mentioned even says &quot;Change the process!&quot; if something doesn&#039;t work or needs to be tweaked.</description>
		<content:encoded><![CDATA[<p>See, I just don&#8217;t find that Agile is &#8220;Chaos Hell&#8221;.  I think agile is actually closer to the middle, except for the absolute extremists.  At my current company, we had almost no process whatsoever.  There was some documentation and analysis up front, but very little.  After that the developers went off in their &#8220;coding caves&#8221; for 1-6 months, came back and it was shit because the requirements were not understood, not completely discovered or the client had changed their mind on some things.  </p>
<p>Don&#8217;t confuse XP with Agile either.  I was talking in general terms about Agile.  You were talking about one form of Agile called XP.</p>
<p>We&#8217;ve started doing scrum, and its actually MORE process than what we had before.  We&#8217;ve started moving from the far left (Chaos) to the middle (Agile) but not quite to the far right (Waterfall).  We&#8217;re hitting deadlines, we know what we&#8217;re supposed to be working on, we have some idea when certain things are going to be done.  We&#8217;re starting to do development in smaller chunks and show our clients&#8217; iterative deliverables to make sure we&#8217;re on track.  Its not perfect, but its better than the chaos we had before, and better than the politically charged waterfall at my last job.  Less things are slipping thru the cracks.  </p>
<p>I haven&#8217;t done XP specifically, but i have read some of the book but I don&#8217;t see anything in there that says don&#8217;t do any documentation.  XP at LEASE has User Stories which are a form of documentation.  It sounds like you just had a bad experience with XP, but that doesn&#8217;t mean XP is always implemented so poorly or it doesn&#8217;t work for anyone.  Also, XP focuses more on software development practices (paired programming, TDD, weekly iterations, Unit Testing, etc) and LESS on project management.  Scrum deals more with Project Management.  So maybe XP on its own tends to lead to chaos, because there is minimal documentation and management.  Maybe for small shops its fine but larger shops needs Scrum, crystal or something else to manage it all.  I have heard that many shops use XP &amp; Scrum together: XP for their engineering practices, and Scrum for the management aspects.</p>
<p>I don&#8217;t think documentation is bad, but I feel it should be lean.  I think the larger projects need more documentation, but documentation always tends to veer from reality very quickly.  I think the general agile concepts of personal communication, feedback, small iterations, help make up for this failure.  You&#8217;re right.  Its not either/or all or nothing, nor was it ever meant to be.</p>
<p>I read your article about whether XP violates Agile.  I think that anytime a methodology is inflicted on team members without their consent, e.g. they are not on board, its not very &#8220;Agile.&#8221;  The book &#8220;Agile Project Management with Scrum&#8221; by Kent Shwaeber talks about this very experience, and he had to back off on some of the changes he was trying to make using Scrum.  He had to ignore some processes because the team members didn&#8217;t want to do them, and he chose to honor the team and Agile principles, rather than stick obsessively to the &#8220;official scrum&#8221; process.   </p>
<p>I disagree that things like stand up meetings, collective code ownership, etc. violate the Agile Manifesto or necessarily decompose into some form of &#8220;Agile Communism.&#8221;  We move people around from project to project and from one piece of code to another all the time.  Noone really has a problem with it.  We do specialize, so while i may be able to modify some CSS or graphics, i&#8217;ll usually turn it over to our UI Developer if its something complicated. He in turn almost never touches and C# and ASP.NET, but i&#8217;m teaching him a little bit of it and he&#8217;s picking it up enough to do simple tasks.  The other C# developers will change my code and vice versa.  If there is a budget or time issue at stake, then the guy most familiar with that part of the code will usually work on it.  Its really not rocket science, and it doesn&#8217;t feel like communism or stalinism.  We all get along pretty well, but we&#8217;re a small team.  I think individual code ownership is actually more dangerous to a business, because of two reasons:</p>
<p>1) if that guy quits, noone else knows his code and it will likely look very different from everyone else&#8217;s.<br />
2) if you put the same guy on the same project or part of a project, he&#8217;ll often get burnt out.</p>
<p>Its just not as bad as you make it out to be.  There are (and should be!) exceptions to every rule.  If you adhere to anything dogmatically, it will be a curse rather than a blessing.  The scrum book i mentioned even says &#8220;Change the process!&#8221; if something doesn&#8217;t work or needs to be tweaked.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Software Maestro</title>
		<link>http://softwaremaestro.wordpress.com/2007/07/02/embracing-failure-agile-and-fear-driven-process/#comment-43</link>
		<dc:creator>Software Maestro</dc:creator>
		<pubDate>Thu, 12 Jul 2007 17:33:20 +0000</pubDate>
		<guid isPermaLink="false">http://softwaremaestro.wordpress.com/2007/07/02/embracing-failure-agile-and-fear-driven-process/#comment-43</guid>
		<description>@Fregas:

You say: &quot;Agile is a reaction to beauracratic, over-documented, segregated, inflexible, and over architected project management methodology that was waterfall.&quot;

In reality, XP anyway was a reaction to a beauracractic project AT CHRYSLER.

Agile builds up &quot;waterfall&quot; as a straw bogeyman, and then posits &quot;agile&quot; as a reaction to a poorly run &quot;waterfall&quot;...

As if there are only two choices: Agile chaos hell, or Waterfall beauracratic hell, and which would you rather have?

In this case the cure is as bad or worse than the disease.

While people are checking out the &quot;agile maninfesto&quot; they should also check out my 
http://softwaremaestro.wordpress.com/2007/07/02/does-xpscrum-violate-the-agile-manifesto/
Does XP Violate the Agile Manifesto where they can find that Agile is not consistent with itself and is anti individual.</description>
		<content:encoded><![CDATA[<p>@Fregas:</p>
<p>You say: &#8220;Agile is a reaction to beauracratic, over-documented, segregated, inflexible, and over architected project management methodology that was waterfall.&#8221;</p>
<p>In reality, XP anyway was a reaction to a beauracractic project AT CHRYSLER.</p>
<p>Agile builds up &#8220;waterfall&#8221; as a straw bogeyman, and then posits &#8220;agile&#8221; as a reaction to a poorly run &#8220;waterfall&#8221;&#8230;</p>
<p>As if there are only two choices: Agile chaos hell, or Waterfall beauracratic hell, and which would you rather have?</p>
<p>In this case the cure is as bad or worse than the disease.</p>
<p>While people are checking out the &#8220;agile maninfesto&#8221; they should also check out my<br />
<a href="http://softwaremaestro.wordpress.com/2007/07/02/does-xpscrum-violate-the-agile-manifesto/" rel="nofollow">http://softwaremaestro.wordpress.com/2007/07/02/does-xpscrum-violate-the-agile-manifesto/</a><br />
Does XP Violate the Agile Manifesto where they can find that Agile is not consistent with itself and is anti individual.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Software Maestro</title>
		<link>http://softwaremaestro.wordpress.com/2007/07/02/embracing-failure-agile-and-fear-driven-process/#comment-42</link>
		<dc:creator>Software Maestro</dc:creator>
		<pubDate>Thu, 12 Jul 2007 17:28:22 +0000</pubDate>
		<guid isPermaLink="false">http://softwaremaestro.wordpress.com/2007/07/02/embracing-failure-agile-and-fear-driven-process/#comment-42</guid>
		<description>I guess by that definition then people like Kent Beck and Ron Jeffries are part of the &quot;lunatic fringe&quot; something I wouldn&#039;t necessarily disagree with.

If you do the right amount of design up front, the decisions will probably not be bad ones and won&#039;t need backtracking.

I&#039;ve never needed to use the roomba method to solve any problems in my career...

Software Maestro</description>
		<content:encoded><![CDATA[<p>I guess by that definition then people like Kent Beck and Ron Jeffries are part of the &#8220;lunatic fringe&#8221; something I wouldn&#8217;t necessarily disagree with.</p>
<p>If you do the right amount of design up front, the decisions will probably not be bad ones and won&#8217;t need backtracking.</p>
<p>I&#8217;ve never needed to use the roomba method to solve any problems in my career&#8230;</p>
<p>Software Maestro</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Martin Cron</title>
		<link>http://softwaremaestro.wordpress.com/2007/07/02/embracing-failure-agile-and-fear-driven-process/#comment-41</link>
		<dc:creator>Martin Cron</dc:creator>
		<pubDate>Thu, 12 Jul 2007 16:23:37 +0000</pubDate>
		<guid isPermaLink="false">http://softwaremaestro.wordpress.com/2007/07/02/embracing-failure-agile-and-fear-driven-process/#comment-41</guid>
		<description>If you look at zero documentation as one extreme, clearly you can see too much documentation, too early, as another extreme.

Only the lunatic fringe in the lean/agile/scrum/xp world have an outright ban on any documentation.

Of course you should do some analysis/design/documentation up front. It&#039;s just that you shouldn&#039;t think you can do all of it then. Just as importantly, you shouldn&#039;t *stop* doing design/analysis just because you&#039;re actually writing code at the same time.

Pretty much everyone agrees that you learn more and more about a system by building it. Why should you make a hard commitment to the decisions that you made at the beginning of the project when that&#039;s the time that, by definition, you know the least about what you&#039;re doing?</description>
		<content:encoded><![CDATA[<p>If you look at zero documentation as one extreme, clearly you can see too much documentation, too early, as another extreme.</p>
<p>Only the lunatic fringe in the lean/agile/scrum/xp world have an outright ban on any documentation.</p>
<p>Of course you should do some analysis/design/documentation up front. It&#8217;s just that you shouldn&#8217;t think you can do all of it then. Just as importantly, you shouldn&#8217;t *stop* doing design/analysis just because you&#8217;re actually writing code at the same time.</p>
<p>Pretty much everyone agrees that you learn more and more about a system by building it. Why should you make a hard commitment to the decisions that you made at the beginning of the project when that&#8217;s the time that, by definition, you know the least about what you&#8217;re doing?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fregas</title>
		<link>http://softwaremaestro.wordpress.com/2007/07/02/embracing-failure-agile-and-fear-driven-process/#comment-38</link>
		<dc:creator>Fregas</dc:creator>
		<pubDate>Thu, 12 Jul 2007 15:02:44 +0000</pubDate>
		<guid isPermaLink="false">http://softwaremaestro.wordpress.com/2007/07/02/embracing-failure-agile-and-fear-driven-process/#comment-38</guid>
		<description>You know there are extremists in every movement.  Agile is a reaction to beauracratic, over-documented, segregated, inflexible, and over architected project management methodology that was waterfall.  So naturally there will be some extremists that think there should be no design, no architecture, no documentation etc.  If you think of Waterfall on the left, and these extremists on the right, the original intention of Agile was to swing towards the middle.  

I think people should go read the original Agile Manifesto:
http://agilemanifesto.org/


------------------------------
- Individuals and interactions over processes and tools 
- Working software over comprehensive documentation 
- Customer collaboration over contract negotiation 
- Responding to change over following a plan 

That is, while there is value in the items on 
the right, we value the items on the left more. 
------------------------------

So Agile admits up front that there are values on the right, but that there is more value in whats on the left.  The items on the right are a possible means to an end, not the end itself.</description>
		<content:encoded><![CDATA[<p>You know there are extremists in every movement.  Agile is a reaction to beauracratic, over-documented, segregated, inflexible, and over architected project management methodology that was waterfall.  So naturally there will be some extremists that think there should be no design, no architecture, no documentation etc.  If you think of Waterfall on the left, and these extremists on the right, the original intention of Agile was to swing towards the middle.  </p>
<p>I think people should go read the original Agile Manifesto:<br />
<a href="http://agilemanifesto.org/" rel="nofollow">http://agilemanifesto.org/</a></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
- Individuals and interactions over processes and tools<br />
- Working software over comprehensive documentation<br />
- Customer collaboration over contract negotiation<br />
- Responding to change over following a plan </p>
<p>That is, while there is value in the items on<br />
the right, we value the items on the left more.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>So Agile admits up front that there are values on the right, but that there is more value in whats on the left.  The items on the right are a possible means to an end, not the end itself.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
