Agile but Not Quite Yet
Roy mentioned an article by Jeremy Miller discussing the order of code construction. Frans commented and although I agree with Frans on the first part I tend to disagree on the second. What I extracted from Jeremy’s article by reading between the line is that big (half the project) upfront research including business case, requirements understanding etc eventually lead to these so called "Frameworks". Sounds familiar (and yes I know my team is reading this :D). I’ve seen it happen on my current project…
We needed a solution to be able to deploy in this awkward hosting environment (CMS system). Sounds reusable right? So we gathered developers with to much time on their hands to build something impressive with the RequirementsOfTheMoment (how patternish) in scope. Then all of a sudden the business steps in and forms a clear picture of the business case. The pressure gets on in order to saddle up features… no time to maintain the framework with all these changing requirements, and we all know to what this leads. Exactly, phrases like “can’t we just go around the framework?” or “this would be easier without the framework” or even worse “we need to get [Some Guy] to change the framework first”.
Jeremy is relying on his experience in which I can find myself. He writes:
* Unfortunately they blundered by crafting an iteration plan that called for them to write the entire data access layer first, the business layer second, then finally put together the user interface. It failed miserably.
* This is a terrible example of working iteratively. The idea of working iteratively and incrementally is to build fully working pieces of the application, one at a time. What they did was just BDUF + Waterfall with some trappings of iterative development.
One of the traps developers fall into these days is the Agile but Not Quite Yet syndrome. Jeremy explains this AbNQY syndrome using his framework, workflow and VB6 shop examples. We’ve had a lot of good discussions amongst our team why we had fallen into this trap ourselves and under what circumstances it is most likely to do so. My proposal for a follow up post.