Monday, April 28, 2008

Thought of the day: Why Projects Fail

I got a lot of good feedback to my inquiry about what makes projects fail - both here and on the internet-briefing blog. (Am also very embarrassed that I haven't followed up with the poll. It's coming - the answers were much more subtle than I expected).

On a different thread, I ran into another interesting analysis:

"There’s a lot of discussion about failed software projects. I’ll make a bold assertion here:

"Most software projects don’t in fact fail because they’re over time and over budget, but because they implement poor solutions to poorly understood problems."

— Jeff Patton, writing in his new book "Agile Development Outside-In"

Good point: Exceeding time and budget are symptoms of failure, not the causes.

This leads us to a lean practice at work: "the 5 whys". When something is going wrong, you ask "why?" But the reason itself has a cause, and you'll probably have to dig down 5 or 6 layers before you find the root cause and can eliminate it:
  1. The project is late and over budget. Why?
  2. Because we had to re-implement the XX and YY modules. Why?
  3. Because 'Business' said the solution did not meet their requirements. Why?
  4. Because the work flow was convoluted and complicated. Why?
  5. Because the developers did not understand the requirements. Why?
  6. Because the requirements specified screens and widgets, but did not communicate the purpose of the functionality.
Combine this with a "Stop the line" mentality -- eliminate problems before allowing production to continue -- and you a long way towards establishing the foundation for successful projects.