Agile project management was formed in the 1950s in the US but had not been broadly standardized until 2001. In that year, 17 software developers met in a resort in Snowbird (Utah) and developed 4 values (see picture below) and 12 principles of agile software development. This was the formal foundation of what is nowadays referred to as Agile Project (Management).
Characteristic of Agile Software Development
The 4 values of agile software development promote the following differences to traditional project management methodologies:
- A more people- and interaction-focused approach,
- a focus on working software,
- a collaborative approach with customers (which may also include internal customers and representatives of the business side),
- a high responsiveness to needs for changes.
Examples of these Values in Agile Frameworks
These values are reflected in many of the agile approaches that have become popular over the years. The people and interaction focused approach is, for instance, incorporated in the Scrum roles and the ‘non-existence’ of formal process requirements and boundaries within the development team. A product owner represents the business side rather than complex formal design and approval procedures.
All agile frameworks are addressing the focus on working software and the responsiveness to changes with an incremental development approach: Short development cycles and an early handover of a shippable piece of software ensure quality and a feedback loop. If a software development fails, it shall fail early and with a quick feedback to allow for the implementation of necessary enhancements, rather than late in a project (as in waterfall approaches where testing and acceptance of delivery are usually at the end of a project or release).
The collaborative approach is often reflected in the types of role of clients or business representatives in agile projects. The product owner in Scrum and some other agile frameworks is a good example: She or he is a person with the sole responsibility to define requirements and features, prioritize the backlog, facilitate the development of features by providing advice and clarification and, finally, presenting the increment to the stakeholders in the retrospective. The Scrum frame work does explicitly state that the product owner needs to be one single person, rather than a committee, to ensure quick decision-making processes and lean interaction between the development team and the product owner.
Examples of Common Agile Methodologies and Frameworks
Common agile methodologies and frameworks include but are not limited to:
- Extreme Programming (XP)
- Disciplined Agile Delivery
- Test-Driven Development
- Scaled Agile Framework (SAFe)
- Scrum of Scrums
- and many other approaches and frameworks.
Many agile frameworks encourage agile teams to adapt the principles and processes of an approach to their individual needs (tailoring). This is in particular true for Scrum and other light-weight frameworks. Therefore, there are many derivatives of these generic approaches out there while a methodology that works in one team might not be working for another team or in a different environment.
We hope you have found this short introduction to agile frameworks “in a nutshell” insightful. While agile projects are different from traditional projects in the way they approach and deliver solutions, they are yet facing similar risks. Read our blog to learn more about agile risk management and similarities and differences to managing risks in traditional projects.