Sponsored By Aspose - File Format APIs for .NET

Aspose are the market leader of .NET APIs for file business formats – natively work with DOCX, XLSX, PPT, PDF, MSG, MPP, images formats and many more!

Joel On Software Discovers Agile Planning

Joel Spolsky needs no particular introduction.  He’s effectively “the” blogger on software development and definitely one of my inspirations for doing the Shade Tree Developer.  He’s also occasionally full of crap, especially when he’s making uninformed pronouncements on the effectiveness of agile processes (the apallingly ignorant “BDUF is good*” post comes to mind) or the superiority of shrink-wrapped developers over anybody else.  The amusing post in the office today is http://www.joelonsoftware.com/articles/SetYourPriorities.html where Joel describes their release planning activities.  Their process sounds fine to me, and it should, because it’s pretty close to how we do release planning in our Scrum process.  The implication that they have a separate testing phase at the end of coding (waterfall testing is even dumber than waterfall coding) is a little scary though.



* Like many others, my criticism isn’t with most of his contentions in that post.  If he thinks his high level requirements document helped him then it did, but that’s not BDUF by any means.  My criticism is that he clearly misunderstands the meaning of the term BDUF (Big Design Upfront).  All Joel describes with his spec is the equivalent of an Agile story backlog.  BDUF is the stereotypical “let’s create tons of detailed UML diagrams before any coding is allowed because coding is hard and we can make perfect UML.”  We thought that our user stories were easily as detailed as his spec, and that’s really not saying much.  Jon Tirsen had a good take on the blogstorm over Joel’s BDUF post a couple months back.

There’s also the issue that BDUF is mostly a straw man argument against people doing really stupid versions of a waterfall.  Almost nobody does a pure waterfall.  Arguably one of the biggest problems with a waterfall is that your reality doesn’t really match up with what the waterfall schedule says you’re doing.

About Jeremy Miller

Jeremy is the Chief Software Architect at Dovetail Software, the coolest ISV in Austin. Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. Jeremy is the author of the open source StructureMap tool for Dependency Injection with .Net, StoryTeller for supercharged acceptance testing in .Net, and one of the principal developers behind FubuMVC. Jeremy's thoughts on all things software can be found at The Shade Tree Developer at http://codebetter.com/jeremymiller.
This entry was posted in Ranting. Bookmark the permalink. Follow any comments here with the RSS feed for this post.