Agile software is becoming more and more common in today’s world, as organizations realise that it offers better ways to build teams and discover valuable products. However, the agile manifesto doesn’t explain much about how to put its values and principles into action. There are a number of agile frameworks available that do that. This article will explain what these frameworks all have in common.
Agile is a new approach to software development that emerged in the 1990s. Many people were fed up with the traditional project management (or “Waterfall“) approach to building software. This approach was appropriate for construction and engineering domains, but did not suit the fast-moving world of IT.
Unlike physical materials, software can be quickly changed in terms of its design, behaviour and appearance. Software products are also unique (since existing software can just be copied). So unlike manufacturing (where you are trying to make each thing the same), every software project is a unique enterprise with great uncertainty.
Some thinkers in this space assembled at a ski resort in Utah in 2001 and wrote the Agile Manifesto. This document is very short and simply consists of the four values and twelve principles that underlie the agile movement. It is important to understand that this manifesto explains the philosophy and mindset behind the agile movement.
It has almost nothing to say about how to actually put this into practice in the real world! That is for two reasons:
Since 2001, agile has increased in popularity. It is being used all over the world, including in some non-technology or software domains. Steve Denning’s excellent book “The Leaders’ Guide to Radical Management” gives some good examples of what this looks like.
The Agile Manifesto was an important and groundbreaking document. However, it doesn’t provide much guidance on how to make these ideas work in the real world. Therefore, many agile frameworks have arisen to answer that challenge.
An agile framework provides rules on how to implement agile values and principles, so people who follow the ideas behind the manifesto can take action and start delivering value.
There are many agile frameworks to be found today. And new ones are appearing quite frequently. Some are much more stable and widespread than others.
There are a number of things agile frameworks have in common (though they also have some major differences).
There are also, importantly, things that they should not include:
There are many agile frameworks, such as Scrum, Kanban, XP, Crystal, DSDM, SAFe, LeSS, DAD, etc). This can be confusing for people who are looking into the world of agile software development.
As was mentioned, the reason for this is that people have different perpsectives and focuses for implementing agile, and they come from different domains.
For example, DSDM focuses on control and governance, so is better suited for slower and more conservative organisations such as government entities. XP has a ruthless focus on technical excellence so is well suited for startups and technology organisations that want a strong technical codebase.
Scrum and Kanban are both “lightweight” frameworks that gives teams a lot of room to find their own ways of doing things. This is why they are both popular (and against popular belief, can actually be combined well). I would recommend looking into either of these if you are unsure where to start.
So we have seen the critical things that agile frameworks must have in common, to be considered heirs to the legacy of the agile manifesto. I hope you found this article helpful! Do you have any experiences or thoughts in this area? Please leave a note in the comments!