TraditionalDevelopment
This is a term commonly used by AgileDevelopment practitioners to refer to other approaches to development.
This phrase encompasses a wide variety of development techniques, but to qualify a TraditionalDevelopment process needs to be based on the assumption that CostOfChange increases exponentially through the life of the project.
Such projects are usually run on a Waterfall development model, where development is divided up into a series of sequential phases through the life of the project.
People who practice AgileDevelopment believe that TraditionalDevelopment practices focussed on trying to minimize costs and reduce risks by being more and more accurate in their predictions of the future are doomed to failure.
Projects based on TraditionalDevelopment processes represent the majority of software projects undertaken, and AgileDevelopment practitioners believe that this is a fundamental reason for the SoftwareIndustryRecordOfFailure.
TraditionalDevelopment projects provide the illusion of assurance by initailly seeming more ‘scientific’ but are actually based on qualitative rather than quantitative measures:
Ultimately most projects are based on an illusion of science; while they aim to be rigorous, in reality they are largely grounded on qualitative measures.
- “Let’s imagine what it would be like to use the system and define our requirements on that basis”
- “Let’s guess how many people may use this software and how frequently”
- “Let’s imagine a design that will be able to deliver these requirements”
- “Let’s guess how long it will take us to build all of this”
All of these activities are speculative; they are attempts to look ahead and predict the future based on the guesses of experienced people. The reason that so many projects attempt to predict the future in this way is fear of the CostOfChange.
- DaveFarley in “Intro To Agile Development” (International Developer Magazine)