Top 3 Mistakes in Software Development

by Jeffry R. Fisher

I was recently asked what I thought were the top 3 mistakes in software Development. Here's my reply:

1) Lack of vision / mission:

Without a clear end point to draw all participants' efforts together, the project fails for lack of cohesion. Participants include both programmers and non, like graphic artists, marketing, management etc. Example of vision can be identifying target markets. Example of mission can be (clear) high-level requirements that are then translated into detailed technical requirements.

2) Group-think:

(Agreeing for the sake of being agreeable)

It can be a big thing or many little things, but it all comes down to accepting that 2+2=5 because nobody has the guts to challenge the assertion. This often takes the form of agreeing with the highest ranking pointy-haired boss present at any given moment. At other times, it takes the form of agreeing with whomever speaks first at a meeting.

Unfortunately, in the binary world of computing, some ideas are flat out WRONG. They might be nice, but they just won't work within the constraints of a given project (hardware, interfaces etc.). However groupthink occurs, if a team follows it like lemmings into the sea, then a project can founder or be delayed into unprofitability.

3) Feature-creep:

This can occur even when there is a vision and a mission. The problem is that creative people continue to create. Somebody needs to draw a line on the white-board and say "this is enough for version X; everything else will be put off until version Y or later." Without this firm project segmentation (which can be interleaved by competent management), the software is always "broken" because something new is always buggy.

Jeff Fisher is the founder and president of Propagate Ltd, which is "liberating digital content" as LiberateIP.com.
Copyright 2007 by Jeff Fisher