Monday, December 12, 2011

Why Software Projects Collapse

In Sowing the Seeds of Failure: Understanding Why Software Projects Collapse Robert N. Charette takes a look at software project failures, including Denver Airport's failed baggage handling system, and offers sage advice for avoiding future failures.

The article is concise and makes some excellent points:
  • Any software project can be make to be late, over-budget, and technically unsound by simply not providing the requisite time, resources or specifications. There is no complicated trick involved - one out of the three will suffice.

  • Virtually all large software projects are unprecedented - meaning they have never been done before. They are in fact existence proofs, with high likelihoods of failure. Successful projects are always aware of this.

  • ...software is a means to an end, and not the end itself...software is being used because there is no other way to accomplish a project's objectives at a reasonable cost, in a reasonable period, with acceptable performance and reliability, and the flexibility to grow...software is in effect the choice of last resort

  • In failed efforts, developing the software is frequently regarded by key decision-makers as not particularly difficult, from either a technical or managerial perspective.

  • Not admitting what you don't know, as well as not being able to reverse decisions in the face of refuting information, are the call signs of imminent project failure.

  • Projects that collapse fail to recognize that a plan is nothing more than a hypothesis, a (hopefully) educated guess about what is expected to occur over the future , if the assumptions at each point in time do not change.

  • Successful projects understand that decision uncertainty is not a risk, but a problem that must be worked everyday.

No comments: