Steve Mushero line
Technology Advisor for Startups and Investors

About Steve





Developing Software


It is very difficult to develop new software products.  It is even more difficult to do it right, as there are numerous factors working against you, including the psychology of those doing the work.  This document endeavors to lay out the framework and steps necessary to execute this process for optimum results.

These lessons have been learned the hard way, usually by following a path different than this.  Inevitably the results were less than optimal.

Many of the elements described herein will seem intuitive and necessary, while others will appear counter-intuitive and a waste of time.  In particular, following the steps outlined herein will likely appear to be slow and perhaps a bit cumbersome; however, experience has taught that these steps are both necessary and optimum in terms of delivering high quality software on time.

Many projects skip some or most of these steps, generally paying the price for it about 60% of the way through.  In one recent project, the system was feature complete after a few months work in July, but then spent almost six months bug fixing, including architecture and design fixes.  This type of disorganization is precisely how projects fail, taking forever and never really achieving success. 

You'll probably notice that there is some overlap with the development strategy called Extreme Programming (or XP).  This is not coincidental, as the XP procedures are extremely useful, if not always practical.  The plan outlined here is a good blend of traditional methods with a healthy dose of XP practices mixed in where appropriate.

Now, on to The Development Process

Also See

"Steve provided by far the best requirements that we've ever received from a client... our COO and software team passes along their thanks"

- Engineering Team Manager