Steve Mushero line
Technology Advisor for Startups and Investors

About Steve





Developing Software -> Prototyping
Prototyping serves two primary functions, to evaluate the user interface design, and to test various architecture and technology choices.

The biggest mistake made in prototyping is to use the prototype to build the actual product.  It is very important to discard the entire prototype and start over when building the 'real thing.'  Of course, some code fragments can be brought over, but every prototype is a kludge that was built and rebuilt many times; as such, it simply should not be used in the real product.  

A good prototype, coupled with good design practices, should enable developers to replicate prototype functionality very quickly, often in days, using a clean architecture and good practices.

Good prototypes will be very aggressive in trying different things, from UI flow to various architectures to find the optimum result.  Even though prototyping may take a fair amount of time (weeks or even months), it is time well spent, as a great many lessons are learned on this 'practice' code.  In the end, the final product will come together quickly and smoothly, since everything will have already been worked out.


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