Tuesday, 3 September 2013

Iterative and incremental design/development: a brief history

Iterative and incremental design/development (IID) is often pitched as a radical and transforming change that high-tech development teams should evaluate and adopt. Anecdotally however over half of industrial high-tech systems development is actually done using sequential or waterfall style development.
And yet... "IID concepts have been and are a recommended practice by prominent software-engineering thought leaders of each decade, associated with many successful large projects, and recommended by standards boards." (Larman and Basili, 2003).
So why hasn't incremental iterative development become the norm over the last 50 years? Why hasn't sequential or waterfall style development disappeared from the scene in spite of its acknowledged shortcomings? Indeed waterfall style approaches seem to be remarkably resilient, as does the desire for iterative development. Are these different 'styles' of management really so opposite? It seems they must coexist at the very least...

CA Associates (2010) Balancing Agility with Governance (link)
Weinberg, G (2011) Iterative Development: Some History (link)
Larman, C. & Basili, V. R. (2003) Iterative and Incremental Development:A Brief History. Computer,36, 47-56.