Peter Coffee is waxing strongly on the benefits of agile development at:
I know I am sounding like a broken record, but he asked for feedback by email, so this what I sent:
"As every good electrical engineer knows, the longer the signal path, the greater the parasitic losses due to inductance."…
An analogy that just rolls of the tongue… and has no relevance at all to the topic. Let's try another one: when I have my dream house built some day, I want to deal with the architect and maybe the overall contractor, I do not want to talk to the carpenters/bricklayers/plumbers/etc.
Business people do not want to invest time in software projects if they have to deal with the programmers; their respective frames of reference are so different they cannot communicate effectively.
That’s when a System/Business Analyst is needed, to get the business needs and develop the blue prints for the system. S/B Analysts speak both languages, and are the interpreter between the business and the programmer.
Why does agile have to react so well to change? Because the programmers did not hear what the business wanted in the first place, so odds are the software will be wrong. The SOFTWARE has to change because it is wrong, not because the business changed.
Oh, and please give the word "Agile" back to the English language; agility is not restricted to one methodology. Call yours "Programmer-Driven Development", no one can argue with that name.