Summary
After reading this chapter, you should have a sound understanding of the many issues created by following the traditional plan-driven and linear-sequential development model and project management practices. Engineers, who most often bore the brunt of criticism for failed projects, began to develop so-called lightweight software development methodologies to overcome the problems associated with the traditional model.
In this chapter, you have learned that the traditional model often failed on four fronts. First, the traditional model created lengthy delivery cycles. Second, given the predefined project planning and linear-sequential processes, the traditional model is unresponsive to changes in market conditions, customer needs, or priorities. Third, the protracted development cycles made it difficult to locate and resolve bugs, and ultimately delayed deliveries and created more costs. Finally, the stochastic nature of developing highly customized software products makes it nearly impossible to predict with certainty a project plan's deterministically imposed constraints of scope, budgets, schedules, resources, and quality.
These engineers started experimenting with lightweight development methodologies that directly addressed the failings of the traditional model. This chapter introduced and contrasted a number of these methodologies, such as ASD, Crystal Clear, XP, RAD and Scrum.
Many of the lightweight development methodologies introduced in this chapter shared common concepts, many of which are retained today as techniques that facilitate agility. These practices were discussed in detail in the section titled Defining Agile's core implementation concepts.
Seventeen engineers involved in defining lightweight development practices met on February 13, 2001, at The Lodge at Snowbird ski resort, in the Wasatch mountains of Utah, to share their views and seek common ground. Though they practiced many of the lightweight concepts noted in this chapter, what they found they most shared in common were their philosophical views on the importance of values and culture, and not so much on specific development techniques or practices. Their collaboration resulted in the publication of the Agile Manifesto (www.agilemanifesto.org/) as a statement of 4 common values and 12 principles of Agile software development.
In the next chapter, you will be introduced to the basic Scrum approach, roles and responsibilities, and events defined within the Scrum Guide.