Sep 05, 2002
Developing software for the Internet requires certain approaches, and everybody knows it. This Harvard professor has also done some detailed empirical research, which he translates into advice for all of us. Very good
article. A summary of the main aspects of the article follows.
"Now there is proof that the evolutionary approach to software development results in a speedier process and higher-quality products."
Early release of low-functionality version
You should release a version of the evolving product design very early to your customers.
Using a prototype is not as useful. Force yourself to have a real low-functionality version out at the earliest possible stage.
In the empirical study that led to this article, this variable explained more than one-third of the variation in product quality across the used sample.
Also, interestingly, the number of beta releases couldn't be found responsible for product quality at all. One or two early releases were much more important.
Why is this so important? Reduced risk. Dropping features early that the customers will not want anyway (but might not know when they draw the specs). Finding out early which features are missing.
Daily Builds and Rapid Feedback
Incorporate new software code daily.
Use feedback rapidly and implement it into your design.
Divide your project into many microtasks and manage those intensively.
Team with experience in multiple projects
Hire a team with a broad experience in shipping multiple projects.
The length of experience is by far less important than having shipped multiple projects from start-to-finish.
Product Architecture
Invest majorly into the design of your product architecture which most importantly has to be flexible, modular and scalable.
Well, easier said than done. I guess every architecture in the world tries to do that, but never mind.
Posted by Stefan Smalla on Sep 05, 2002 at 0:22 |
Permalink