The transition of the USA DoD standards from waterfall to iterative and evolutionary is instructive. In 1980s a DoD standard for software development or procurement was released, DOD-STD-2167, based on a waterfall model and document-driven approach.[2]
As mentioned earlier, the DoD was experiencing failure in the acquisition of software based on a waterfall approach and the 2167 standard. For example, a 1995 report on failure rates in a sample of earlier DoD projects drew grave conclusions: Out of a total cost of $37 billion USD for the sample set, 75% of the projects failed or were never used, and only 2% were used without extensive modification [Jarzombek99]. Thus, there was a motivation to improve the 2167 standard. In the latter 1980s, Firesmith, motivated from the stultifying influence of 2167 on the Magnavox project, helped lead the Ada community's promotion of IID to replace 2167 with a new IID-friendly 2167A standard. In collaboration with Lt. Colin Gylleat (who was deeply involved in producing 2167A), they were able to remove the legal requirements for functional decomposition and the waterfall development cycle. However, the original single-step waterfall diagrams remained in the updated 2167A from 2167, because (in the words of Firesmith):
His assessment would prove correct. Shortly thereafter, another push to replace the waterfall with evolutionary IID was made in a task force report [DSB87], chaired by Dr. Frederick Brooks. The report recommended to replace the waterfall, disproved on many large DoD projects, with iterative development:
And on incremental acquisition and development:
Finally, in the section titled Professional Humility and Evolutionary Development (humility that it should be accepted that the waterfall goals of getting the specifications or design accurate without evolutionary implementation and feedback are rarely possible):
The updated DOD-STD-2167A (Feb. 1988), which is often viewed by both DoD overseers and contractors as the epitome of a waterfall specification, was ironically actually an amendment promoted by Firesmith and Gylleat (and others) to allow lifecycle neutrality, to encourage IID alternatives to the waterfall:
Despite this intent, the new standard was interpreted with justification by many to still contain an implied preference for the waterfall model, due to its document-driven milestone approach. Due to ongoing failure with waterfall projects, and to re-emphasize replacing the waterfall with IID for DoD projects, a Report of the Defense Science Board Task Force on Acquiring Defense Software Commercially, June 1994, was issued that stated:
As a consequence, 2167A was superseded by MIL-STD-498 in December 1994. In "Changes from DOD-STD-2167A to MIL-STD-498," Crosstalk: The Journal of Defense Software Engineering, April 1995, Maj. George Newberry summarizes the changes to encourage "evolutionary acquisition" and IID in the section Removing the Waterfall Bias:
The MIL-498 standard explains and promotes evolutionary requirements and design; for example:
In 2000 the DoD 5000.2 acquisition "instruction" was released, that again recommended evolutionary delivery and the use of IID:
See also the scanned memo in Figure 6.6 that clearly communicates the DoD preference for evolutionary and "spiral" (iterative) development. Figure 6.6. scanned memoThus, the DoD perhaps the world's largest and most experienced procurement agency for software started with the assumption that a waterfall model and up-front specifications was best (codified in 2167), and then based on the experience of high rates of project failures adopted iterative and evolutionary methods, demoting the waterfall. The practice of IID is important to the DoD. For example, there is now an annual conference on the subject, Evolutionary Acquisition & Spiral Development, organized by the Institute for Defense and Government Advancement. See www.idga.org. Unfortunately (for taxpayers worldwide) STD-2167 influenced the definition of standards in other countries, who did not keep up with the fact that the DoD later abandoned 2167 and the waterfall; many of these standard bodies still impose single-pass, document-driven processes. The DoD is not the only standards group to make this shift. In 2002 the USA Food and Drug Administration (FDA) updated their prior waterfall model requirements [FDA97] for software development of FDA approved devices (e.g., medical devices) with a new standard that promotes iterative development [FDA02]. To quote,
Although a number of European standards are still waterfall oriented, promising signs of change have emerged, such as the 2002 Bonn Germany NATO Symposium on Evolutionary Software Development. |