Early prototyping is essential in both hardware and software to manage risk. The prototype in all its form ranging from
PaperPrototype to
FullFunctionalSimulator are all ways of
GettingItRight that
InvolveTheCustomer -- without getting it right and involving the customer the prospect of success is reduced tremendously. Prototyping also has the advantage of revealing early that the requirements are inadequate. In an environment where normally 60% or more of the requirements are "discovered" after the project is well underway -- the payoff from early prototyping can be tremendous. --
RaySchneider
"In an environment where 60% of the requirements are discovered after the project is well underway" -- I've never been in any other kind.
The effect of
DoTheSimplestThingThatCouldPossiblyWork as a core strategy of XP is that you are always working on a prototype. The difference is that it is a prototype that is always passing all of its unit and functional tests. Iterative development, if you will,
WorstThingsFirst and all that.
The best prototype: the actual system, built in such a way as to be provably correct and readily evolved. --
RonJeffries
Beware of
DeadlyGuiPrototypes --
MartinFowler
I have found that sometimes during the course of prototyping you are actually performing sociological services to corporation (see
IndustrialSociology), delineating boundaries between workgroups and departments, clarifying workflow and responsibilities.
See
PrototypingVsSpecifying.
CategoryAnalysis