Link: http://adhdocddba.blogspot.com/2010/01/why-being-agile-without-long-range.html
...Cary sent me another link recently - this one is a blog post by Jason Cohen titled 'Releasing early is not always good? Heresy!'. I like it because it captures what I see as the shortcomings of the Agile philosophy but I won't attempt to summarize this one. (I'd like to get a little sleep tonight) Instead I'll reference a few of my favorite points and let you read the original on your own.
Take a look at the section describing the general line of reasoning behind the Agile methodology and notice the difference in scale between the bullet points that follow. Think about it. While it is certainly possible to address bugs or rewrite an interface in a month, can you really address the root cause of a scalability problem in the same amount of time? Or fix a flawed architecture? These bullet items are not equal yet some Agile proponents treat them as if they are. Some components in a design need to be flexible and are expected to change many times over in the early design period. But replacing the architecture is a whole different magnitude from changing a screen or fixing a bug, and user feedback shouldn't be driving the architecture or data model anyway. Some components of an application should be transparent to the user and those components should be designed based on the long term goals of the application. True, you don't want to build the architecture now for future processing needs, but you can develop a plan for extensibility that will minimize disruption when those extensions are needed.
Perhaps the most important point Mr. Cohen makes is that great designs aren't built by consensus. If you get a group of people together with different viewpoints and skills, the result is likely to be average at best. Someone may suggest a truly groundbreaking idea but the more cautious team members are likely to push for less risk, while others will push for more resources in a different area and by the time all the compromises are added, the result is a lowest common denominator type of solution. (Congress attempting to pass the healthcare bill is a great example of design by committee with a less than optimal result) Great design needs to begin with a vision to provide a useful tool for the end user. There needs to be a plan with a desired destination and someone needs to make sure that the iterations keep the momentum moving in the right direction. Otherwise, you just end up nowhere very fast and that's not the kind of talk anyone wants to generate among their customers.
Posted by Robyn at 12:47 AM
Excerpt from article
Items against Agile
- The best ideas aren't built by consensus
- Apple doesn't ask customers what they want
- You're misinterpreting the 80/20 rule
- Mock-ups are faster than code iterations, without some of the drawbacks
- Releasing too early can ruin your reputation
- Ignoring architecture creates waste
- Untrue: "The worst thing you can do is built an unnecessary feature."
- Customers are notoriously bad at providing feedback
In the end, of course it's better to have more feedback than less, better to be more agile than less, and better to have technical debate with a successful product than a failed product. However, it's just not fair to present only one side of the argument!




| ©2010 by Barry Chase |
Credits: