13 September 2023 (updated: 20 September 2023)
Chapters
Learn about the top 5 most popular Agile Frameworks recommended by EL Passion's Agile Project Managers.
Flexibility and adaptability are essential in modern business environments. So, as traditional project management principles struggle to keep up with the pace, Agile thrives offering teams enhanced product quality, transparency, and continuous improvement and delivery. With the growing popularity of Agile, there is also a rising need for Agile project management services to help teams navigate through various frameworks and methodologies. Read the article to learn about the most popular Agile frameworks selected by our Agile Project Managers, and learn how to choose one for your next project.
All Agile frameworks are based on the concept of Agile. In project management, it is an iterative, flexible approach to software development. The core of Agile is a mindset - prioritization of collaboration, transparency, continuous improvement, and user satisfaction. Typically, in the Agile development framework, a project is divided into smaller parts, and through the process of iteration, the team delivers the product feature by feature. This approach is very flexible and focuses on delivering exactly what users need.
The core of Agile is written in the Agile Manifesto, a document created in 2001 by a group of software developers frustrated by the lack of flexibility in traditional project management frameworks. They agreed that companies are too focused on documentation and planning rather than what really matters - customer satisfaction. They outlined the core values of Agile development:
Over the years, many frameworks and methodologies have emerged to answer common project management problems. Some, like Kanban, have emerged from different industries and were adapted to fit Agile values. Agile Frameworks incorporate elements of Agile values, such as continuous planning and improvement, testing, user satisfaction, and adaptation to change.
Agile is a very broad and versatile term, so to ensure all its principles are applied effectively, many structures and frameworks have emerged. The broad spectrum of versatile frameworks empowers the teams to choose the one that best fits their needs, the project, and the team experience. Different Agile Frameworks include SCRUM, Kanban, Scrumban, Extreme Programming, Crystal, Feature Driven Development, Lean, and Dynamic Systems Development Method.
Scrum is undoubtedly the most popular Agile Framework, valued for its versatility and efficiency. This framework values collaboration, iteration, and transparency, making it a great fit for teams across many industries. Product and software development teams value Scrum for its adaptability in handling changes, short iterations, continuous improvement, and backlog management.
The main objective of Scrum is the concept of iteration, presented by Sprint. A Sprint typically lasts two or four weeks during which the team works on a set of prioritized tasks from the product backlog. The goal of each sprint is to deliver an Increment - a potentially shippable product element. This iterative approach to software development allows the team to gather and implement regular feedback to ensure the product meets customer needs.
Scrum Process
Scrum relies on a set of ceremonies, artifacts, and roles:
Scrum implementation often results in changes in the company’s culture, as it encourages communication, collaboration, and feedback among the team. Scrum also promotes ownership and empowers the teams to make decisions. It also emphasizes delivering value to users and customers, aligning with business goals.
Kanban originated in manufacturing and was later adopted by various industries, including software development. The term "Kanban" originates from Japanese, meaning "signboard." The core of this framework is visualizing work and optimizing the workload by aligning Work in Progress (WIP) with the team's capacity. The main advantage of Kanban is a visual representation of work, making it easy to prioritize tasks and identify blockers, flexibility, and the promotion of continuous flow and efficiency.
The Kanban board is a central element of this framework. The board consists of cards representing individual tasks and columns representing their current status. The team tracks the progress of each task by moving cards from one column to another. The basic Kanban board typically has a 3-step process - To Do, In Progress, and Done, but this process can be adjusted to fit the project's needs. Often, more columns are added to support the development process, for example: Selected for development, Ready for testing, or Code Review.
Kanban Board
A key concept of Kanban is the Work in Progress Limit. Each Kanban column has a maximum number of tasks that can be in progress simultaneously. WIP limits reduce the number of "nearly done" tasks and encourage a "get things done" approach. WIP limits are also crucial in identifying blockers and bottlenecks and preventing team members from becoming overloaded.
Kanban also places significant emphasis on continuous improvement (Kaizen). Teams regularly review their boards and processes to optimize workflow. The purpose of continuous improvement is to enhance quality while minimizing waste.
Kanban is often compared to Scrum as the two most popular Agile Frameworks. While Kanban heavily focuses on workload visualization, Scrum is centered on structure, values, practices, and ceremonies. Kanban promotes a continuous flow approach, continuously planning and reviewing their work, however, SCRUM teams work in sprints. Remember that these frameworks are a guideline, not a rule book, so if you are familiar with different frameworks, you can choose and combine features that make sense for your project. It is very common to integrate elements from various Agile Frameworks to create a customized solution for a specific project. That’s how a new hybrid framework Scrumban emerged, combining the best of both worlds.
Scrumban is a hybrid Agile Framework that combines Scrum and Kanban. It merges the structure and routines of Scrum with the flexibility of Kanban, resulting in increased efficiency, productivity, and agility. It is particularly well-suited for projects that require a balance between structure and flexibility, as well as for teams in the process of transitioning from one framework to another.
Scrumban incorporates elements from both frameworks. From Scrum, it includes practices such as iteration planning, Scrum ceremonies, and prioritization on demand. On the other hand, it borrows elements from Kanban, such as working on a board, setting Work in Progress (WIP) limits, and adopting a continuous flow approach.
Implementing Scrumban may cause challenges, as it requires a solid understanding of both Scrum and Kanban practices. Nevertheless, it is gaining popularity as a balanced approach to Agile project management for teams seeking a middle ground between Kanban and Scrum.
Extreme Programming, or XP, is an Agile Framework specifically tailored to engineering teams. The framework is based on quick and simple production, collaboration, and immediate feedback. The main focus of XP is understanding the customer through User Stories. Quick MVP and frequent product releases are utilized to gain insights and adapt quickly to feedback. XP is less structured than other frameworks, making it very appealing to developers. The framework is best suited for smaller, experienced, and customer-centric teams that can easily adapt to change.
XP is built upon 5 rules, 5 values, and 12 practices based on the Agile Manifesto. The key values of XP are simplicity, communication, feedback, courage, and respect. The rules translate these values into practical guidelines on how to make the most of the framework. These rules include planning, with a focus on user stories and business value, managing, which involves asynchronous communication and daily standups, designing, coding, and testing.
XP Process
An important element and one of the 12 practices of XP is Test-Driven Development (TDD). TDD is a technique that emphasizes testing, requiring developers to write automated tests for specific functionalities before they even write the actual code. Every piece of code must pass the test to be released. This approach keeps developers focused on writing code that meets the requirements. TDD improves code quality, maintains integrity, and speeds up the detection of bugs.
Another of the 12 practices of XP is pair programming. Two programmers work together on the same code. While one focuses on writing code, the other reviews it, fixes mistakes and suggests improvements. Despite the fact that pair programming takes slightly more time, there are numerous benefits to this approach. Such teamwork results in higher-quality code, better knowledge sharing, and minimizes the risks of bugs.
Shape Up is one of the newest Agile Frameworks first implemented internally in Basecamp and later introduced in the book Shape Up: Stop Running in Circles and Ship Work that Matters by Ryan Singer, Head of Product Strategy at Basecamp. According to Singer, “One of the core tensions in product management is the urgency of day-to-day implementation details vs. the necessity of strategic planning. Left unresolved, this tension leads to a slew of practical problems (missed deadlines, tangled codebases) and low morale.” The framework was created as a response to Basecamp’s challenges with traditional project management techniques.
Shape Up takes a fresh perspective on project management, and puts emphasis on scopes, fixed timeframes, and work prioritization. It aims to solve common problems like never-ending projects, unclear scopes, and lack of predictability. Its main objective is to bring clarity and predictability to the project. The work is based on “appetite” - team capacity rather than precise estimates. Shape Up also departs from traditional meetings like daily stand-ups and sprint reviews, in favor of asynchronous communication.
Shape Up Process
The key objectives of Shape Up include:
It’s hard to choose the right Agile framework for your project with so many different approaches and principles. Sadly, with Agile, there is no one-size-fits-all answer. When evaluating which Agile Framework to use, consider the specific needs of your project. There are also other factors that you should take into account, such as team size and structure, the complexity of the project, available resources, and the needs of the stakeholders. Remember that choosing the framework is only the beginning. It also has to be successfully implemented, and managed by someone like an Agile project manager who knows the ins and outs of the chosen framework.
When choosing the framework for software development you need to remember that there is no perfect framework. What works for others might not work for you, and each framework has strengths and weaknesses that may differ depending on your project requirements.
For software development where requirements are often changing, SCRUM’s structure may be beneficial, and Kanban’s WIP Limits ensure the team handles the change while maintaining a steady workload. Scrumban is the best of both worlds, combining structure and flexibility, however, it may be complex and create confusion. XP is ideal for projects that require the highest code quality, however, pair programming may take longer than the regular approach. Shape Up may be a great choice for teams tired of the lack of predictability and the constant change of Agile. Additionally, for larger companies, it may be worth trying scaled Agile frameworks as they support coordinating efforts across multiple teams.
With the growing popularity of Agile Frameworks, larger organizations typically connotated with waterfall project management, are becoming more interested in Agile. Typically, Agile Frameworks are tailored for smaller organizations with a few teams, so the need for new Agile Frameworks emerged.
There are several scaled Agile Frameworks, with SAFe being one of the most popular ones. SAFe is designed to implement Agile practices across the entire organization and many different teams. There are three main pillars of SAFe: Team, Program, and Portfolio. SAFe aims to align business strategy with execution, and gives teams more flexibility than traditional project management methodologies in large organizations.
Applying Agile Framework takes several steps and it is important to ensure the process is as smooth as possible. You have to start by deciding if you’re ready for Agile, and why you’re choosing Agile frameworks over traditional project management methodologies. After choosing the right Agile framework, start by educating the team about framework principles and rules, by providing workshops and training. You’ll also need an expert or a facilitator who makes sure the project goes according to the chosen rules.
Next, form Agile teams, and implement agile project managament ools if necessary. Implementing an Agile Framework also requires leadership support - ensure that managers provide the necessary support and are familiar with the methodology. As a result of implementing Agile Framework, you’ll notice a shift in the company’s culture - Agile values collaboration, feedback, and continuous improvement.
Choosing the right Agile Framework is not an easy task as it involves a deep understanding of the unique characteristics of your project. By understanding the strengths and weaknesses of each framework, and focusing on successfully implementing the chosen methodology, your team can significantly improve the quality of work. Implementing an Agile Framework that aligns with your company’s values and objectives brings numerous business benefits and overall results in higher customer satisfaction, as Agile is a very user-centered approach.
21 November 2024 • Mariusz Heyda