Evolutionary Prototyping

by michael on June 7th, 2008

Mercury Grove uses an agile programming model called “Evolutionary Prototyping” to develop its software.

Evolutionary Prototyping uses multiple iterations of requirements gathering (captured in our AppManager) and prototype development. After each iteration, the resulting product is reviewed with the “customer”.

Our particular flavor of Evolutionary Prototyping involves scouring the Open Source community for a pre-existing app to serve as the initial prototype. If we cannot find the right “fit” for the project requirements, we start with a static prototype, using either simple wireframes or basic HTML. When developing our own products, we tend to skip the scan of the OS community altogether so that we don’t have to worry about dealing with licensing issues later on.

It’s a refreshing departure from the lumbering, and often ineffective, waterfall models mandated by the PMOs of many large corporations. Don’t get me wrong… traditional waterfall models that employ rigorous requirements gathering sessions, reams of documentation, and never-ending loops of approval have their place in the world Enterprise applications…but I no longer work in this world.

The model works particularly well for us - both internally for our own product development and also in our consulting engagements. It allows us (and our clients) to see steady progress. Instead of boiling an ocean of requirements, we start with the prototype that meets the base-level of requirements and chip away at the problem - always talking to the prototype instead of abstracting orally dictated requirements through documentation.

It’s a great fit in today’s outsourced, off-shore model, too. When we are able to start with a pre-existing code-base, it makes it much easier to communicate requirements/enhancements to the developers in small chunks.

Let’s face it. Requirements change rapidly. Using this approach allows us to be nimble without being irresponsible.

Tags: ,

Leave a Reply


Mercury Rising is proudly powered by WordPress
Entries (RSS) and Comments (RSS).