Why Projects Fail

Rob Cozens rcozens at pon.net
Mon Mar 25 14:46:01 EST 2002


>Most failing projects I encounter have problems not with tools or 
>coding as such but with:
>- initial and continuing specification failure by the customer and analyst
>- estimation error or unrealistic deadlines, with feeble risk 
>management [words highlighted in bright red]
>- scope creep [words highlighted in red with clashing cymbals] both 
>in its natural form and feeding hungrily on the first two.

David,

I can't thank you enough for you wonderful analysis.  Every time I 
read about something like the California Dept. of Motor Vehicles 
abandoning an automated registration system after x years and $yM, I 
think, "give me this programmer, that programmer, and myself, and we 
could have done the whole job in six months [a manifestation of 
estimation error?], how is it with all those resources and all that 
money they had to give up?"

I thought your entire analysis was right on except for one issue: 
scope creep.  I think that some scope creep must be factored into 
original estimates.  This is because I don't believe anyone can 
design any application of significance that won't show some design 
failures during real-world testing.  I think initial specifications 
need to be viewed as general guidelines specifying desired 
functionality that are expected to evolve based on experience during 
testing.

I recognize that undertaking a contract project makes it more 
necessary for specific specifications that when doing in-house 
development.  In those instances I want the specifications as 
specific as possible; but the goal is to have a sound contractual 
basis when I come back and say "this and this are not in the original 
specs and will be billed separately".

OTOH, I certainly suffer from the "let me just add this one new 
feature before I release this" syndrome.  So I can see how this can 
get out of hand.

Anyway, I tend to see scope creep as a natural result when people 
experience with the application design as implemented points out 
errors in judgement or approach, and as the users become more 
knowledgeable in computer capabilities & more involved in the design. 
It's the people who were not forthcoming during the initial design 
stage that always seem to complain the most when they see the final 
design.

My guess is the leading cause of project failure--and this applies to 
small projects as well as large--is specification (communication?) 
failure between customer & analyst.  After years of being told "this 
will never happen" and programming accordingly, only to later be told 
"I know we told you this would never happen, but..." (and that's from 
the "good" clients, the others say "No one here would ever have told 
you that...", and I write them off as long-term clients); after years 
of having someone spend hours drafting a sample report format & me 
spend some time programming it only to have them take one look at the 
output and "this isn't really what I want.."; after years of saying 
"I know there is a better way to do this, but that's how the specs 
read; so I'd better follow them..." only to later find myself down 
some dead end or otherwise having to implement the design I knew was 
right in the first place; and after other real-world experience of 
that ilk, I have come to see scope creep as the inevitable result of 
imperfections in the design process, and as a necessary part of the 
implementation of an application adjusted to accommodate the 
realities of user interaction.
-- 

Rob Cozens
CCW, Serendipity Software Company
http://www.oenolog.com/who.htm

"And I, which was two fooles, do so grow three;
Who are a little wise, the best fooles bee."

from "The Triple Foole" by John Donne (1572-1631)



More information about the use-livecode mailing list