Common Agile Frameworks and Methods
During the last few decades, several approaches to product development and service delivery have emerged. The level of complexity of products and services is ever-increasing which is why many people wonder which framework or method to choose. Perhaps you are also wondering which framework or method will work best for your team. Below we summarize the key elements of four main agile frameworks and methods, some differences between them, and how they can complement one another.
Scrum
Scrum is a lightweight framework that helps teams and organizations deliver value incrementally.
The Scrum framework consists of the Scrum team with its three accountabilities, five Scrum events, and three artifacts. Each component serves a specific purpose and is important for Scrum’s successful adoption.
The easiest way to understand Scrum is to read the Scrum Guide. There are three main things that you should realize:
- As an agile framework, Scrum has rigid boundaries. These are the specific team accountabilities, events and artifacts. Agile frameworks are intentionally incomplete and do not specify all the steps required to build and deliver a product or service. This provides the flexibility and freedom to apply the framework to various domains.
- Scrum attaches particular importance to the cross-functional Scrum team and the accountabilities defined for the Developers, Scrum Master and Product Owner. Said accountabilities include maximizing customer value, improving team effectiveness and increasing product quality, among others.
- Another key element of Scrum is the continuous improvement of the product, the team, its practices, and the working environment. This improvement typically happens but is not limited to regular sprint retrospectives. Retrospectives are arguably the most important event within the Scrum framework and should never be neglected.
Contrary to popular belief, Scrum is not an approach to estimate and plan what work will be completed in a given time period. Scrum allows teams to create value for their customers and users by letting them focus on one sprint goal at a time, while continuously getting better.
Recommended online course: Scrum Foundations
Extreme Programming (XP)
Nowadays, XP is not used as much as it was in the late 1990s and early 2000s. However, XP, its creator Kent Beck and other people like Ron Jeffries played a crucial role in the development of agile thinking and agile approaches. Therefore we would like to include XP in this list as well.
As the name suggests, Extreme Programming has its roots in software development. The core idea of XP is to develop software iteratively and incrementally while focussing on users’ needs. As such, it is an agile framework that is comparable to Scrum.
While there are many similarities between XP and Scrum, there are also subtle differences. For instance:
- Iterations in XP tend to be shorter compared to sprints in Scrum.
- Scrum teams typically avoid changes to their sprint plans while XP teams are more open to change.
- The work of an XP team is prioritized by the customer while the work of a Scrum team is prioritized by their Product Owner.
The most important and noticeable difference, however, is that XP explicitly suggests development practices such as the following:
- User stories
- Spikes
- Pair programming
- Test-driven development
- Refactoring
- Continuous integration
These development practices are still being embraced by many software development teams, regardless which agile framework or method they adopt.
Recommended training: Certified Scrum Developer (CSD)
Kanban
The Kanban method helps organizations, teams and individuals manage their professional services, and enables them to respond better and faster to their customers’ needs and expectations.
The principles and practices of the Kanban method are described in the official Kanban Guide. Here are three important things to understand about Kanban:
- Kanban is neither a methodology nor a framework. It does not prescribe events, workflows, roles or responsibilities. Rather, it is a method that is applied to an existing way of working, with the purpose of making that way of working more effective.
- The myth around Kanban only being suitable for teams that are handling interrupt-driven, ad-hoc workload is unfounded. The Kanban method, with its change management and service delivery principles and its six core practices, can be applied to any process or system.
- In many aspects, Kanban takes inspiration from lean manufacturing.
In his book “Kanban: Successful Evolutionary Change for Your Technology Business”, the creator of the Kanban method David J. Anderson, tells the story of his trip to Tokyo, in spring 2005. Spring is the cherry blossom season in Japan and he wanted to see the beautiful cherry trees at the Imperial Palace Gardens. There he realized they were using a kanban system to control how many people could visit the garden during peak times of the day. This kanban system, as used in lean manufacturing, inspired the Kanban method for knowledge work.
Related reading: How to create a Kanban board
In knowledge work, a kanban system allows work to flow by limiting work in progress and establishing a pull system. With the Kanban method, you visualize invisible work and how it moves through a workflow. This will help operate your business effectively, as well as understand and manage risks in delivering services to your customers. The Kanban method enables continuous improvement in an evolutionary way.
Because Kanban is almost universally applicable, many Scrum or XP teams use Kanban to improve their way of working, for instance by visualizing their work or optimizing their delivery. Some people call this a hybrid approach and give it a specific name such as “Scrumban”.
Recommended online course: Kanban Foundations
Design Thinking
Even though Design Thinking is not really considered an agile framework or method, its principles and practices are popular among agile teams and organizations and complement their toolbox. For instance, the persona is a widely used tool.
Design Thinking emerged much earlier than Scrum, XP or Kanban as it is based on the way designers approach new projects or products in general. Design Thinking has been developed by a number of different organizations (e.g. IDEO, HPI, Dark Horse) that follow slightly different approaches and theories. However, together they define what Design Thinking is.
Here are some important facts about Design Thinking:
- Design Thinking fosters creativity by utilizing a large toolbox of practices, tools and techniques.
- The core idea of Design Thinking is to understand the environment and the customer’s problem before building a solution. Design Thinking is based on continuous divergence and convergence.
- Teams applying Design Thinking try to validate an idea for a solution by testing prototypes and iterating multiple times.
A major breakthrough was Jake Knapp’s book Sprint. Design sprints provide a structure that allows teams to prepare themselves for a challenge and solve it by going through all phases of Design Thinking within five days.
Recommended online course: Design Thinking Foundations
Which Agile Framework or Method Should You Use?
We often see teams asking themselves whether they should use one framework, method, approach or another in order to deliver outstanding value to their customers.
The reality is that you shouldn’t choose between Scrum, Kanban, XP, Design Thinking or others; rather, you should discover which practices work best for your team and tweak the system of work accordingly. By tweaking, we mean combining those elements that work best for your team in order to plan, track and manage your work more efficiently so that you satisfy your customers’ needs better and faster.
Ask yourself how work arrives at your team, and how often that work and the information around it changes. The answers could guide you in choosing a paradigm that suits you. You might find that a timeboxed mechanism or limiting your work in progress will help. Can you plan your work and commit to it for one or two weeks?
Scrum, Kanban, XP and Design Thinking aren’t mutually exclusive and complement each other when combined. The bigger challenge that lies ahead for teams is the journey of discovering which practices and structures work best for them in satisfying their customers’ needs in a sustainable and ever-growing way.
Every team, every product and every customer is different. There is no one-size-fits-all approach. By keeping an eye on what agility might offer beyond the methods, frameworks or tools you are already using, by trying out new things and hence continuously inspecting and adapting your system of work, you will eventually find what fulfills your team’s and customers’ needs best.
We hope this blog post made you curious about the idea of an agile mix-and-match approach and encourage you to find the best practices for your team right away:
- Do you like the idea of having a Scrum Master? Try it out!
- Pair programming sounds interesting? Go for it!
- The concept of work in progress limits convinces you? Implement them!
- Design sprints sound exciting? Just do it!
Want to Learn More About These Agile Frameworks and Methods?
agile42 offers online courses including Design Thinking Foundations, Scrum Foundations, and Kanban Foundations. We also offer Kanban System Design (KMP I) and Kanban Systems Improvement (KMP II) certifications, as well as coaching, mentoring, and consulting services. Reach out to us if you want to learn more.