User:KariTether/Demo-driven development

In computer programming, demo-driven development is an anti-pattern where development of a piece of software is driven by the need to demonstrate it (usually to get customer or management buy-in), using practices that focus on shortened development time at the cost of scalability. This often includes development that is too short-sighted to scale even to known goals. This anti-pattern often includes some element of smoke and mirrors.

Demo-driven development is often a misapplication of the important feedback stage of agile software development, where the goal is to provide an accurate report of progress and get feedback that will improve the software rather than simply to impress.

A more appropriate way of solving the need to demonstrate is to develop a prototype that is designed to demonstrate potential, but is not intended to be used as a platform for further development. Alternatively, a scalable system that is small but good enough can be created.