In 2001, the Agile Manifesto was created at Snowbird ski resort in the Wasatch mountains of Utah. Although the concepts of Agile had been around for several years before the manifesto was created, the birth of the manifesto may well be a good point to say that Agile was officially “born.” Since this time, people have been inventing and reinventing ways of working that they feel best align with Agile while still incorporating their own organizational culture.
When a company first makes the decision to “go Agile”, they need to decide what that looks like in a tangible way; what processes do they use? What tools do they use? What mental models do they adopt? Luckily, people have been experimenting with Agile for a long time and have come up with several standard ways of working which can give organizations a significant head start in their Agile journey.
What Do You Mean By “Framework”
In software development, software developers may (and more often than not do) choose to use a “framework” for their particular programming language of choice, which is essentially a collection of features that take care of all of the heavy lifting so that software developers can concentrate more on the business logic they need to implement, and less on creating the deeper layers of code that are needed to support this development. In other words, using a framework allows software developers to do more with less code (because the framework takes care of a lot of that underlying code), and also allows the creation of higher quality features because the underlying code is the result of years of work by some very talented developers.
Within Agile, using an Agile framework yields similar results as software frameworks for similar reasons. It is possible for a business to create a new implementation of Agile from scratch, but they will likely take a long time to come up with a good implementation and still fall short of some of the things that have been proven successful over the years (in other words, using an Agile framework yields higher quality and faster implementation, just like in software development).
“Agile” and the Specific Methodology
Over the course of the next few blog posts, I will guide you through several Agile frameworks. One thing to keep in mind is that all of these Agile frameworks are implementations of Agile, so the values of Agile are also part of these specific frameworks even though they might not be explicitly written there. For example, Scrum teaches that we should value Focus, Respect, Openness, Courage, and Commitment, but we should also focus on making sure that we interact with our customer on a daily basis (if possible). Even though it is not in the Scrum Guide to interact with our customers on a daily basis, it is implicitly there by means of being an Agile framework.
Of the many Agile frameworks that we will investigate as part of this series, I have chosen to plot these features based on three values: Comprehensiveness, Product Focus, and Efficiency Focus. I chose these particular values because I found them useful to distinguish between the Agile frameworks, and to highlight the strengths of each one.
In coming blog posts, I will zoom in on each one of these and discuss them individually, one per post. I will give a brief overview of where the Agile framework came from, what the Agile framework includes, what the biggest strengths are, what organizations have the best overall fit with the Agile framework, and why I plotted the Agile framework where I did on the three values that I mentioned earlier. The goal of this is to help you understand how to pick an Agile framework that best fits different organizations, or if you are adopting Agile yourself to help you understand which Agile framework you should choose based on your organization’s values and culture.