Thursday, July 15, 2010

Every Project Fails

Every project fails - you and I both know it - in two places: the Beginning and the End. Both of these, as Douglas Adams put it, are due to sloppy thinking. The first is because the full scope of the thing is not realised. The second is because the full scope of the thing is realised. The are known, in order, as "not writing the spec properly" and "feature creep". Often, the spec is not written properly because it is perceived to have been written properly or that it is someone else's job to write it out more, read: "flesh it out", also read: "passing the buck". Further, the feature creep happens not because due diligence is not done, but because discipline is not employed in keeping the extra features out. Even further, those features only come about because it's easier to think of new things when you've had time to think about the existing things. Give a project 3 months to progress and I guarantee that everyone on that project will have thought about some feature that wasn't in the original (even aged-) concept, simply because they've had more time to think.

What can be done about these? Some would say agile development is one (of many) approach, providing the time to define a concept but with development time allotted for later to deliberately increase the feature set as time, or units of the project, get completed. This is fine, as long as the wider scope of the project is realised at the start.

No comments:

Post a Comment