Search code examples
prototypingthrowaway

When do you throw a prototype away and start over?


When you're prototyping a new system, what guideline(s) do you use to mark a stop-and-start-over point?


Solution

  • Typically I write prototypes as part of the architecture/design process, to answer questions that can only be answered by actually working with the code. For example, questions such as:

    • Can I do drag & drop in Silverlight?
    • What framework would I use to draw interactive canvas objects in WinForms?

    Usually you can write a prototype fairly quickly to answer such questions. Obviously the code does not have to be production-quality, it just has to go far enough to answer these questions.

    Once you run out of open questions, I would scrap the prototype and finish your "design". Then you are ready to begin creating a production version.