For many large organizations, the traditional approach for software development utilized waterfall project management. As Lindstrom and Jeffries describe in their 2004 article, “Extreme Programming and Agile Development Methodologies,” the traditional project management efforts often, “yielded silos of responsibility, with poor communication between the groups and distributed ownership and accountability.” (Lindstrom & Jeffries, 2004) In the 2005 article, “Primavera Get Agile: A Successful Transition to Agile Development,” Schatz and Abdelshafi describe similar problems with waterfall project management at Primavera, a software development company. Schatz and Abdeshafi state that, “relationships between the development team and other departments began to deteriorate because expectations were seldom fulfilled.” (Schatz & Abdelshafi, 2005) Project managers and software developers encountering these problems developed agile methods to remediate these problems.
Fernandez and Fernandez describe the differences between traditional and agile methodologies as,
Traditional projects are clearly defined with well documented and understood features, functions and requirements. In contrast, agile projects discover the complete project requirements by doing the project in iterations and therefore reducing and eliminating uncertainty. Because of this, agile tends to be higher risk compared to traditional projects, but agile has the flexibility to more easily adjust to changes in project requirements. (Fernandez & Fernandez, 2008)
There are many different kinds of agile development methodologies. One of the more popular methods is known as Scrum. Schatz and Abdelshafi’s article describes the lessons learned implementing Scrum at Primavera. (Schatz & Abdelshafi, 2005)
According to Schatz and Abdelshafi, Scrum is, “comprised a set of project management principles based on small cross-functional self-managed teams (Scrum teams), 30-day iterations (sprints), and 40-hour work weeks.” (Schatz & Abdelshafi, 2005) Key to Scrum is a small, autonomous, collaborative team and regular reviews. At Primavera, “each day, the teams hold a 15-minute stand-up meeting and each team member states his or her accomplishments for the previous day and plans for the current day as well as any obstacles pre- venting the team from doing its work.” (Schatz & Abdelshafi, 2005) Schatz and Abdelshafi highlight several business benefits from the adoption of Scrum, including:
In many cases, seeing 50 percent of the feature implemented was sufficient to meet the desired business value and, as a result, the product owner could either drop the remaining requirements for that feature or reduce their priority in the release backlog. (Schatz & Abdelshafi, 2005)
The authors also indicate improvements in relationships between product owners & developers and reduced management overhead as additional benefits. (Schatz & Abdelshafi, 2005) The transition from waterfall project management methods to Scrum was not perfect and Primavera did encounter some challenges, including, “focusing on short-term deliverables and, in some cases, losing sight of the code base’s technical infra- structure and long-term maintainability.” (Schatz & Abdelshafi, 2005) The authors emphasize that the net business value of the transition to Scrum was worth the effort, including the challenges and that an attitude of continuous learning is beneficial. (Schatz & Abdelshafi, 2005)
Agile development methodologies like Scrum offer many benefits over traditional project management techniques for modern software development. Traditional project management is often inadequate to adapt to changing requirements and priorities of today’s software projects. A common result is failed projects, finger pointing, and unsustainable work hours for developers. Agile methods provide collaboration and flexibility features that enable greater project success.
Fernandez, D., & Fernandez, J. (2008). Agile Project Management – Agilism Versus Traditional Approaches. The Journal of Computer Information Systems, 49(2), 10-17.
Lindstrom, L., & Jeffries, R. (2004). Extreme Programming and Agile Software Development Methodologies. Information Systems Management, 21(3), 41-52.
Schatz, B., & Abdelshafi, I. (2005). Primavera Gets Agile: A Successful Transition to Agile Development. IEEE Software, 22(3), 36-42.