Imagine a majestic waterfall cascading gracefully from one level to the next. Now, envision managing a project in the same way. The waterfall methodology may seem efficient at first, but it carries its own set of challenges. Much like the waterfall's linear flow, this methodology uses a linear structure. Each phase must be completed before the next begins.
Unfortunately, real-world projects, especially in the realm of knowledge work, often face uncertainties and changes. Picture your team hurtling down the waterfall, unable to change course mid-descent. The rigidity of the waterfall methodology can lead to a lack of adaptability, delayed feedback, and an inability to address evolving requirements—resulting in a project journey that mirrors a rocky descent instead of a smooth, iterative, agile flow.
The agile movement began as a response to the rigid and inflexible nature of traditional project management, with a goal of improving development cycles to enable much more rapid integration of feedback. Rooted in agile principles and an agile mindset, the agile movement emphasizes flexibility, adaptability, and collaboration–core values of various frameworks like Scrum, Kanban, and Extreme Programming.
While a framework is not essential for being agile, it can serve as a useful tool. Let’s look at some of the most popular frameworks and methodologies. They all share the common goal of fostering agility within a project team or organization.
Agile Framework vs. Agile Methodology
The terms “agile framework” and “agile methodology” are often used interchangeably, but they refer to different things.
A framework is a structure that acts as a guide but doesn’t tell you exactly what to do. Think of an agile framework like the framework for a house. The framework provides a literal frame for building the house, but it does not dictate a step-by-step process for building. There’s plenty of room for creativity and flexibility. The house could be painted red or white. A room could be used as an office, bedroom, or playroom.
A methodology is more prescriptive than a framework. It defines a specific way of doing something. The scientific method is a well-known example of a methodology. It is a defined, step-by-step agile process that people use to investigate our world.
What Are the Most Popular Agile Methodologies and Frameworks?
In surveying 3,000 people in the agile community, the 16th State of Agile Report found that–on average–people are currently using 2.3 different agile frameworks. You might wonder, how is that possible?
It’s easy to assume that every agile team uses a single framework or methodology. The reality is that a single agile framework is rarely the perfect fit. The idea that there is no single framework or methodology that works for every team is a cornerstone of ICAgile’s philosophy. One of the key benefits of taking an ICAgile class is that you’ll learn about multiple agile frameworks and methodologies.
Some of the most popular agile methodologies and frameworks include Scrum, Kanban, Lean, Extreme Programming (XP), and the Scaled Agile Framework (SAFe). Each of these approaches has unique principles and practices, but all share the common goal of iteratively delivering value to the end user.
Let’s explore the key features of these popular agile methodologies and frameworks and how they can benefit teams and organizations.
The Scrum framework revolves around key elements, including roles (developers, product owner, and Scrum master) and events (sprint, backlog refinement, sprint planning, daily scrum, sprint review, and sprint retrospective).
Here are the three most widely used Scrum roles:
- Developers- a group of people responsible for delivering a potentially shippable product increment at the end of each sprint
- Product owner- prioritizes the product backlog, collaborates with others to execute on the product roadmap and vision, and communicates with stakeholders
- Scrum master- facilitates the Scrum process and addresses obstacles that hinder the team’s progress
Here are the most common Scrum events:
- Sprint Planning: The team plans the work for the upcoming sprint.
- Daily Scrum: Team members share progress, discuss impediments, and plan the day's work during this brief daily check-in.
- Sprint Review: The team reviews the completed work from the sprint and makes adjustments to the product backlog, if needed.
- Sprint Retrospective: The team reflects on performance and identifies ways to improve in the next sprint.
- Backlog Refinement: While this event is not called out in the current Scrum Guide, it is a best practice for teams. The team reviews and prioritizes items in the product backlog, ensuring the backlog is ready for upcoming sprints.
Scrum is a somewhat prescriptive approach which can help new cross-functional teams build a solid foundation. However, it may not be the best approach for a team with repetitive and unpredictable work, like customer support. Traditionally, a Scrum team plans its work before the start of a sprint. This approach won’t work for a team that is constantly prioritizing requests in a support queue.
Kanban is a methodology that emphasizes workflow visualization, limiting work in progress and focusing on continuous learning and improvement.
The Kanban board is a key tool, enabling teams to visually manage work, track progress, and identify bottlenecks.
Originating in the manufacturing industry, Kanban is now used widely in a variety of disciplines and industries. Kanban can increase transparency, improve productivity, and streamline workflows, allowing teams to effectively manage agile projects and continuously enhance their processes.
Because it’s visual and intuitive, Kanban is one of the simplest methodologies for teams outside of IT to implement. However, when Kanban is implemented as a tactical approach, it can be challenging for teams to connect their work to long-term business strategies. It can be easy to lose sight of the big-picture and the long-term view when using a Kanban board, so teams will often need to design ways to visualize connections to big picture goals as well.
Extreme Programming (XP)
Extreme Programming (XP) is an agile methodology that helps software development teams deliver high-quality software while remaining responsive to customer requirements.
Here are some of the most common XP Roles:
- Customer- represents the end-user's needs and provides feedback to the team
- Coach- guides the team in implementing XP practices
- Developer- writes, tests, and refactors the code
- Tracker- monitors the team’s progress on tasks and user stories
- Tester- performs continuous testing for software quality and functionality
Core practices include pair programming, test-driven development, frequent communication, and simple design. XP teams are guided by the values of communication, simplicity, user feedback, courage, and respect.
To ensure continuous delivery and high-quality software, XP teams prioritize customer needs through user stories, plan work with planning games, deliver working software early through small releases, and ensure code quality with collective code ownership.
Because XP is highly focused on agile software development, it won’t be an effective framework for many non-development teams.
Lean Product Development
Lean product development is a methodology that aims to create new and improved products while minimizing waste and maximizing learning. Rooted in the Toyota Production System, it focuses on measuring value, defining a practical course of action, exposing and eliminating waste, enabling rapid decisions, and supporting teams to generate and sustain knowledge.
Applicable to both software and non-software product development, lean methodologies encourage teams to continually refine their processes, leading to higher quality and efficiency. The customer-centric approach ensures that a minimum viable product is created to meet the customer needs, boosting customer satisfaction and market success.
Overall, lean product development is a powerful approach for innovation and efficiency, driving continuous improvement and customer satisfaction across various industries.
In industries that are highly regulated, such as healthcare or finance, a lean development approach can be challenging. These industries are often required to have extensive documentation, compliance checks, and rigorous quality control, which can clash with the iterative and minimalist approach of lean methodologies.
Teams that are deeply invested in research and development projects might also find lean methodologies ineffective. These teams need to do in-depth exploration in pursuit of groundbreaking innovations. Lean methodologies, which emphasize efficiency and reducing waste, can make it difficult to do in-depth research.
In agile, a scaling framework can help large enterprises apply agile practices to complex projects that involve multiple teams.
One key difference between scaling frameworks and more team-based frameworks is the level of prescriptiveness. While many of the aforementioned agile frameworks typically have flexible guidelines, scaling frameworks provide more specific guidelines and rules to ensure consistency and coordination across multiple teams.
The prescriptiveness of a scaling framework is sometimes beneficial, but it can also force teams to use agile practices that don’t actually work for them.
SAFe, or the Scaled Agile Framework, provides a structured approach for scaling agile principles and practices from the program level to the enterprise level. SAFe includes roles, ceremonies, and artifacts designed to coordinate agile teams within a larger organizational context.
LeSS, or Large Scaled Scrum, is a scaling framework based on the principles of Scrum. It focuses on simplifying organizational structures, thus scaling up the single-team Scrum approach. Multiple teams collaborate as one unit, sharing a common product backlog, with guidelines for effective coordination to support large-scale projects.
In the Nexus framework, several Scrum teams work together on a project with a single backlog. Emphasizing transparency, inspection, and adaptation, Nexus helps manage dependencies and complexities, facilitating the delivery of working software every sprint while maintaining Scrum's agility and flexibility.
Scrum @ Scale
Like LeSS and Nexus, Scrum @ Scale extends Scrum across multiple teams. In Scrum @ Scale, networks of Scrum teams form an ecosystem, often to work on different parts of a large product. It’s considered a lightweight and flexible framework, allowing customization while maintaining a standardized approach.
Disciplined Agile (DA) is less of a framework and more of a toolkit. It integrates best practices from many different agile methods, allowing teams to choose agile ways of working that fit their unique context. Because DA is so flexible, it’s best suited for organizations that have experience with agile ways of working. For organizations that are new to agile, the lack of strict guidance can make it challenging to implement.
Where Do You Start?
If you're new to agile practice, the first challenge can be figuring out where to start. The key is to understand the mindsets that support agile, then take the first steps toward implementing it within your team or organization. This may involve training, adopting agile practices, and adjusting your mindset and processes.
How To Decide Which Agile Methodology or Framework Fits Best
Before choosing an agile methodology or framework, you should consider the following factors:
- Project needs, including scope and complexity
- Current and potential team configurations
- The team’s level of experience with agile and openness to experiment with something new
- Team member skill sets
Your goal is to align your team’s strengths and the project’s demands with an adaptable process to help you reach your desired outcomes. Remember, many teams mix and match agile practices from multiple frameworks to create their own framework. This approach allows the team to customize agile ways of working to their context.
Here are a few ways to assess if your chosen agile methodology or framework is working:
- Collect feedback from team members, stakeholders, and customers
- Evaluate if the approach has improved efficiency and flow of value delivery or minimized waste
- Assess the impact on project timelines, productivity, and the quality of deliverables
Regularly review and adapt your agile approach to ensure continuous improvement and successful project outcomes. If an approach isn't meeting your team's needs, you can always try another framework or mix and match aspects of multiple frameworks into a cohesive, tailored approach.
At ICAgile, we believe that agility is achieved through people, not processes and that agile implementation is not “one-size-fits-all.” Each team and organization deserves to find agile ways of working that meet their unique context and industry. To learn more about a variety of agile frameworks and methodologies, check out our Business Agility Foundations certification course.