Saturday, December 1, 2007

Agile's biggest weakness...isn't


Tyner Blain blog lists these items being "Agile’s biggest weakness[es]." I don't know if he's serious or not, put none of these seem like legitimate complaints.

He says Agelists "minimize forecasting." I believe that forecasting is not minimized it's optimized. You forecast until you have as much of forecast as you need to move forward. Is there something wrong with that? You don't know what you don't know until you know it, so get there as soon as possible.

Here's the list from the Tyner Blain blog;
1. Most companies today, when they commit to a million dollar project, want to know what they get for their money. - The purpose of agile is fail faster and defer commitment (until the last responsible moment). Spend some money to remove some doubt. Spend some more money to remove more doubt. With each iteration you're getting more "committed" and eliminating the big doubts up front. Always gaining more assurance of success without (over) committing resources. Lean, right?

2. They want to know when they get it too. - Don't we all, but who can say? And how do you know they're right? You don't know without metrics. So do something (complete a user story), see how long it took and you've determined velocity. Now multiply that velocity against the rest of the stories, not only did you get something done, but you've got a real metric.

3. ...they want to know before they sign the check. - That's the wrong perspective, if you're signing a single check for a project then you're over committing. Agile to the rescue - pay as you go, you're never over committed.

4. The less planning you do at the beginning of a project, the less you know about the end of the project. If you believe Occams Razor then the simplest decision is the right one. Too much planning is futile since you don't know what you don't know until you get there. Pretending that everything is (accurately) knowable is folly. Determine the next step, execute and then re-evaluate. Have a loose plan, but don't make it your constraint. Stop going forward when it's no longer fruitful, find a new approach or let it die...fail faster.

5. This is hard for non-Agile companies (or executives) to swallow. No it's not, it's simple to explain and painless to buy. "Hi Mr. Stakeholder, we are only gonna spend what needs to be spent." This does not preclude a budget, it only precludes wasting a lot of time on pretending to know how much a project is going to cost.

6. By minimizing the upfront planning, Agile teams minimize their ability to forecast the pending results. Wrong, agile teams minimize there ability to make flawed decisions based on overly confident forecasts.

I'm really glad that the Tyner Blain blog stated these "perceived" Agile weaknesses in such a specific way. It makes it much easier to refute them. Most Post-Agelist or Anti-Agelists use some vague metaphor, which doesn't really address the project conditions.

No comments: