What Are Agile Methodologies?
Agile methodology is a project management or software development framework that breaks a project into smaller pieces and facilitates a flexible work structure. Agile methodologies encourage teams to think creatively and remain adaptable throughout a project.
Agile methods are iterative approaches to project management and software development. Users apply the values and principles of the Agile Manifesto to marketing, project management, and software development to empower team members to act within their expertise and produce the best possible versions of products on time and within specifications.
The goal of Agile methodologies is to create shorter work cycles, or sprints, that produce a working product with a shorter feedback loop. The feedback received within each cycle informs the sprints, so managers and their teams can react quickly to changing needs.
Mark C. Layton, the Co-Author of Agile Project Management for Dummies, explains Agile as “a descriptor. Agility is not a ‘thing,’ it’s a goal. There’s no place in the world that’s in a perfect state of agility – agility is the goal that places are working toward.”
Dozens of Agile methodologies have surfaced over the years, most of which originated in software development but have since been adapted for use in project management. We’ll go into more detail about individual methodologies and how they relate to project management and software development below.
Types of Agile Methodologies
There are many varieties of Agile methodologies, making it easy to find the type that best fits your needs. From Scrum and Kanban to Extreme Project Management and Crystal, we’ve compiled a comprehensive overview of Agile methodologies below:
- Kanban: Developed in Japan, Kanban uses a visual system of cards to track incremental work. It is one of the most popular Agile methodologies because it is easy to set up, understand, and use. Kanban aims to drive continuous improvement — as workflow becomes more efficient, the time it takes to produce a shippable product or piece of software from start to finish decreases. Teams can easily track the progress of tasks as “cards” across the project lifecycle and can be set up with software or on a physical Kanban board.
- Scrum: Scrum unites cross-functional teams and provides a framework for independent work management. The Scrum methodology breaks work into sprints and encourages quick production. Scrum is defined by its sprint cycles as well as the daily Scrum meeting to keep teams integrated and accountable. Scrum relies on a more defined set of roles (Product Owner, Scrum Master, Scrum Team) with specific responsibilities, as well as a series of meetings held at different stages of the sprint (sprint planning, daily Scrum, sprint review, and sprint retrospective).
- Scrumban: This hybrid method reconciles the structure of Scrum with the fluidity of Kanban. Scrumban works best in environments where Scrum would be too limiting, such as creative or development projects that experience changes and shifting priorities. The methodology also provides a useful stepping stone for teams who are planning to transition from Scrum to Kanban, but many teams find this hybrid approach is an effective tool on its own merits.
- Scaled Agile Framework (SAFe): Scaled Agile Framework combines the practices of Agile with a Lean mindset. It emphasizes system thinking to maximize value to the customer. SAFe encourages visibility, cohesive teams, and quality work. SAFe includes a structured set of roles, resulting in more efficient planning and management of work at scale.
- Adaptive Methodologies: Adaptive System Development and the Adaptive Project Framework encourage teams to learn from their experience and adapt successful processes to future projects. It has a three-phase cycle: speculate, collaborate, and learn.
- Adaptive Project Framework: The Adaptive Project Framework is a system that builds upon past successes and best practices within a business. By using your own experiences as a guide, this framework allows you to streamline your processes in the way that is proven to be best for your business.
- Agile Digital Services (ADS): Agile Digital Services provides a framework for applying the Agile methodology to digital products and services. This methodology helps facilitate the development of strong, internal processes focused on digital outputs.
- Agile Programme Management: Agile Programme Management is a framework designed for use at the program level. It encourages the use of best practices for program management and includes a focus on stakeholder satisfaction and the efficient achievement of program goals.
- Business, Development, and Operations (BizDevOps): Created for software development and formerly known as DevOps, BizDevOps is a framework to bring together cross-functional teams to produce outputs quickly, respond efficiently to changing requirements, and maximize company value. BizDevOps encourages teams to work together more closely than many traditional software development practices and helps to remove silos by integrating departments into all levels of the software development process.
- Crystal: This people-focused methodology emphasizes communication and collaboration over processes and tools. The lightweight method can be easily adapted to projects and industries of all kinds and combined with other methodologies.
- Design Thinking: This methodology focuses on user experience and satisfaction. Originally used for design work, Design Thinking encourages a team to consider the impact of project decisions on project results and how that affects the way customers might interact.
- Disciplined Agile: Disciplined Agile emphasizes the strength of individual workers and provides a lightweight framework to encourage efficient use of a team’s time and other resources. Disciplined Agile is less structured than some other frameworks but provides guidance for individual flexibility and quality of work.
- Dynamic Systems Development Method: The Dynamic Systems Development Method was created to address common issues with traditional software development. This methodology focuses on delivering quality products on time by establishing ongoing, two-way communication with the customer and the team.
- Extreme: The Extreme framework focuses on short projects and encourages flexibility at all stages. Teams can alter their budget, project plan, or requirements at any time to fit the changing needs of the customer. This methodology is best for projects with smaller scopes and shorter lifespans.
- Feature-Driven Development: Feature-driven development is an iterative model that adds functionality to existing products or services over time.
- Large-Scale Scrum (LeSS): Like Scrum@Scale, Large-Scale Scrum is a framework created to manage Scrum in a larger business. Unlike S@S, LeSS scales Scrum processes at all levels, not only the team level. LeSS can support teams of any size, from a few to dozens to hundreds of people working on a single project.
- Lean Agile: Lean methodologies encourage waste reduction and efficient use of resources. Originally created for manufacturing, it has been adopted by businesses in all industries because of its emphasis on optimization, efficiency, and flexible problem-solving. Lean is also often used as a company-wide framework in combination with other management practices to ensure the business is producing as little waste as possible.
- Nexus: Nexus was created for larger organizations that need to manage significant numbers of teams and projects. This scaled Agile framework is useful for organizing a number of Scrum teams. The teams operate with a common product and task backlog, and Nexus helps to keep them organized and on track by encouraging teams to communicate transparently and operate with increased visibility.
- PRINCE2 Agile: PRINCE2 Agile encourages consistent and intentional strategic planning. Often combined with other methods, its primary focus is on the planning stage of project management.
- Project Half Double: The Project Half Double framework focuses on value creation for a business. It has three core pillars: impact, flow, and leadership. Project Half Double embraces the unpredictability of human nature and focuses on managing people before projects.
- Scaled Agile Lean Development (ScALeD): Scaled Agile Lean Development (ScALeD) is a hybrid framework combining Agile and Lean methodologies at scale. ScALeD practices will differ based on the company using them, but they focus on flexibility and efficient resource use in businesses at scale.
- Scrum at Scale (S@S): The Scrum@Scale framework was created to manage Scrum at scale in a larger business. S@S manages Scrum at the team level and scales processes that surround product delivery.
- Spotify Model: The Spotify Model is a scaled Agile framework that encourages team building and company culture. It promotes individuality and the strengths of each team member, as well as how they work together and communicate to achieve quality results.
If any of the terminology we use in the descriptions is new to you, check out our Agile dictionary of terms and processes for reference.
Most Popular Agile Methodologies
The two most common Agile methodologies are Scrum and Kanban. But many teams use hybrid methodologies, such as Waterfall, to handle their project management needs. Each has advantages and lends itself to a particular style of work.
Scrum is defined by its sprint cycles, as well as the daily Scrum meeting that keeps teams integrated and accountable. Each sprint usually lasts two to four weeks and focuses on completing an individual task from the product backlog. Tasks are assigned to a team member who is responsible for completing it. The goal is to produce a single, shippable product or piece of software.
Kanban is much more fluid than other methodologies. By contrast, Kanban does not assign any specific roles or responsibilities, and work items do not have time limits. Instead, limits are placed on the amount of work in progress (WIP) at any given time — this promotes a smooth, continuous flow of work and helps reveal and alleviate bottlenecks. Therefore, rather than assigning specific tasks to team members, they simply pull work from the backlog into the WIP category.
“Because of its simplicity and visibility, the overwhelming majority of people use Scrum. When we talk about different methodologies, you really have Scrum first, and then others like Kanban right behind it. Scrum has a prescribed inspect-and-adapt phase at the product level, but Kanban is looser than that. Some teams use a combination of the two,” explains Layton.
Scrum was originally developed for use in software development and Kanban for use in manufacturing. Both methodologies have evolved and have been adopted for wider use. Some companies combine Agile methodologies with non-Agile methods, the most common of which is Waterfall. To learn more about how these popular Agile methodologies resemble and differ from one another, check out our full comparison of Agile, Scrum, Waterfall, and Kanban.
Many teams also use a combination of methodologies for different projects or phases. For example, it may make more sense to use Waterfall during the planning phase because requirements are not likely to change and the process is more methodical, then use another Agile methodology during the development phase to produce the best results in the shortest amount of time. Hybrid models are proof that Agile has adapted to various industries to suit the unique nature of projects, products, or services.
Most Popular Agile Methodologies for Software Development
The most widely used Agile methodologies for software development are lightweight. They offer a structure for flexible problem-solving and efficient use of time and resources. Scrum and Extreme Programming are two of the most popular for their ability to respond rapidly to changing requirements.
Jim Highsmith, one of the 17 original Co-Authors of the Manifesto and primary developer of the Adaptive Software Development Agile Methodology, wrote in his book Agile Software Development Ecosystem that Agile software development methodologies should include:
- A clear definition of the elements of a methodology, including its system of practices
- An effective set of design principles
- An overall framework, project templates, and development scenarios
- A series of collaborative design steps
- Processes for methodology customization and tailoring
- Guidelines for scaling to large projects
Software development Agile methodologies are based on short lifecycles. They require solutions that can respond quickly to changes in requirements, prioritize the skills of each team member, and involve ongoing communication with the client. Most teams use some combination of the following methodologies to manage their software development projects.
- Scrum: Originally created for software development projects, Scrum lends itself especially well to them because of its iterative processes and flexible response to changing requirements. It encourages teamwork between software developers, project managers, marketers, customers, and everyone else involved in a project. Scrum is simpler than other methodologies and equally as effective for most teams.
- Scrumban: Scrumban is popular for software development for all of the same reasons as Scrum, and it allows for an easy way to display and share progress. Scrumban boards are easy to understand, so software developers can spend less time translating from “developer speak” and more time doing their work. A Scrumban board can be shared with and parsed by stakeholders at any level.
- Adaptive System Development (ASD): ASD is popular for software development teams that prefer a lightweight framework that builds upon their own best practices. It has all of the flexibility of Agile and encourages companies to continually develop their processes and learn from their successes and failures.
- Crystal: Many teams that do not use Scrum opt for some form of the Crystal methodology. Where Scrum is a one-size-fits-all solution, Crystal was developed with the idea that every project and every team is different and customizes processes based on the team and the project’s requirements. This option is great for companies with diverse product and service offerings.
- Dynamic Systems Development Method (DSDM): Originally developed in 1994, DSDM has been used alongside other Agile methodologies to encourage direct and continuous communications between development teams and the customer. When developers are notified early and directly of changing requirements, they can respond to them better.
- Extreme Programming (XP): XP includes concepts such as pair programming and code review, and is primarily a collection of software development best practices and not a project-level framework. It encourages a simple management structure and frequent communication with stakeholders to continually define project requirements. For these reasons, XP is often used as a development layer along with Scrum and not as a standalone project methodology. Many teams also combine XP with Kanban to manage the flow of work.
- Feature-Driven Development (FDD): FDD is favored for large-scale software projects with strong, experienced developers. It allows an experienced team to achieve results rapidly, but produces less documentation. There is less oversight than with other methodologies.
- Lean Software Development: Lean methodologies are used and loved by managers and executives for their emphasis on waste reduction and cost-saving practices. Software developers like it because “waste reduction” translates to “less time spent on unnecessary code.” Organizations often combine lean practices with project-level frameworks like Scrum to ensure that projects satisfy the customer’s needs on time and on budget.
Most Popular Agile Methodologies for Project Management
Agile methodologies for general project management focus on collaborative problem-solving and a flexible approach to work. Kanban and Scrum are two of the most popular methodologies, but many teams use different approaches based on the particular project or phase.
The phrase Agile project management does not describe a single method or framework; it is an umbrella term that includes many methodologies and frameworks that are tailored to specific industries, projects, or teams. While Agile was originally developed for the software industry, it has become almost ubiquitous in its use because it is highly adaptive and its principles are often simple and successful.
“The techniques are not that different,” explains Layton. “It just depends on what you run into in reality. Under an Agile approach, we think tactically. We allow changes on a release-by-release basis, always with the product goal in mind.”
The line between general project management and IT applications is not set in stone, and many project and program frameworks can be used for both IT and general purposes. “There are some techniques that have been optimized for specific industries,” Layton continues. “You just have to know what your team is capable of.”
While almost every Agile methodology has been developed for a particular purpose, many can be used in any industry, for any project, with only minor adaptations. Most teams use some combination of the following Agile methodologies for their general project management needs:
- Scrum: Scrum is popular for project management for many of the same reasons it became popular for software development. Scrum is a well-proven, one-size-fits-all Agile framework that can be adapted to virtually any project or company. Scrum encourages collaboration and ongoing communication, and it’s simple to understand and use, making it a great choice for managing projects.
- Kanban: Kanban is ideal for project management, as it allows teams to have insight into all tasks in progress at all times, along with the next steps and goals. Kanban boards can be created for project teams of any size, and many project management software tools include Kanban functionality. Kanban allows increased visibility into a project’s status, saving time you might otherwise spend in meetings or generating update reports.
- Scrumban: Many teams use a combination of both Scrum and Kanban to achieve their project management goals. Scrum offers a flexible, adaptive framework for project planning and management, and Kanban offers increased visibility and better task tracking. Scrum teams can replace time limits with WIP limits to promote a smooth, continuous workflow. Kanban teams, on the other hand, can incorporate more structure by holding daily scrums (standup meetings) that ensure everyone is on the same page. Scrumban is a powerful and popular methodology that requires few tools to function, but can be made more powerful with the addition of project management software.
- PRINCE2 Agile: PRINCE2 prioritizes results over the steps taken to achieve them. It is highly focused on defining project requirements and allocating resources in the planning phase, so many teams use it in combination with other methodologies in the implementation phase.
- Business, Development, and Operations (BizDevOps): BizDevOps is a popular methodology that acts as both a business strategy and an Agile framework. It is especially useful for projects that include a software development component, but that are not strictly software development projects. BizDevOps might not always produce the fastest results, but it often results in a more cohesive total business structure.
- Adaptive Project Framework (APF): Project managers prefer APF because it provides a lightweight framework that integrates well with business processes and encourages iterative changes to those processes based on past successes and failures. APF allows you to build on things that go well and learn from those that don’t, enabling you to make each successive project more streamlined and more likely to succeed.
- Extreme Project Management (XPM): XPM is more flexible than most other frameworks and is used by teams that take on diverse, sometimes ill-defined projects. XPM is used for projects that are on a short timeline and that have drastically changing requirements that can lead to high stress for the teams involved. For this reason, XPM also encourages teams to embrace the chaos and work well together under pressure.
- Scaled Agile Framework (SAFe): Many larger companies employ various combinations of SAFe and other frameworks to manage large-scale projects and teams. SAFe is popular for project management because it combines the flexibility of Agile methodologies with Lean manufacturing to encourage the efficient use of resources and maintain a waste reduction mindset in day-to-day processes.
Most Popular Agile Methodologies for Project Management and Software Development Chart
We’ve compiled the most popular Agile methodologies for both project management and software development into this handy reference chart. Remember that many teams use a combination of methodologies for different project phases or types.
Agile Methodology | Project Management | Software Development |
---|---|---|
Scrum | ✅ | ✅ |
Kanban | ✅ | |
Scrumban | ✅ | ✅ |
Scaled Agile Framework (SAFe) | ✅ | |
Adaptive Methodologies | ✅ | |
Agile Digital Services (ADS) | ✅ | |
Business, Development, Operations (BizDevOps) | ✅ | |
Crystal | ✅ | |
Dynamic Systems Development Method (DSDM) | ✅ | |
Extreme | ✅ | ✅ |
Feature-Driven Development | ✅ | |
PRINCE2 Agile | ✅ |
How to Choose an Agile Methodology
Agile methodologies are applied at one of three levels: the team, the product or program, or the portfolio. The Agile methodology you choose depends on your company’s needs and how your teams work on projects.
Highsmith weighs in on how to choose: “The bottom line is there is no one methodology that will do everything. You have to adapt one or develop your own. The question of which one to start with will change for each person; you’ll have some needs for project management, collaboration, and technical practices, plus the values principle system that comes from Agile. Pick one of the approaches and add and subtract things until it suits your needs.
“Your methodology should be chosen based on the project, your teams, and what they’re good at. There’s an infinite number of similar projects — whether it’s climbing Mount Rainier or climbing Mount Everest, you approach them all the same way. The hardest thing for most people to do is to understand a broad range of methodologies and decipher what is best for their team,” he explains
Highsmith shares some advice given to him by Alistair Coburn, another Agile Manifesto Co-founder. “It’s the concept of Shu-Ha-Ri, which depends on what level you are as a group, individual, or company. One of the main tenets of Shu-Ha-Ri is that behavior sometimes changes the mindset. Actually doing the practices and going through the Agile project methodology will help change it.
“As an example, think about an architect who wanted to take three months to do architecture, but he was given two-week iterations. Four or five iterations in, he pushed back. But a month and a half into the project, he found a way to do it better and says he would never have figured that out in the beginning. Sometimes you have to experience something before you really understand the benefits it can bring,” notes Highsmith.
What to Consider When Choosing an Agile Methodology
Key points to consider when selecting an Agile methodology include budget, team size, and existing processes. You’ll also want to look at documentation needs and evaluate the software and tools available.
Layton advises, “Teams should look at the level of social and technical complication associated with the initiative. If you have something socially and technically simple, with stakeholders who know what they want and that the exact requirements aren’t going to change, and you’ve done similar projects a million times, use any approach you want. As you move up in social or technical complications, Agile’s the sweet spot. The larger and more complex it is, the more appropriate Agile is for it.”
Considering Highsmith’s advice on Agile is a mindset, his foundational book, Agile Software Development Ecosystems, lays out methodology selection, “On what basis should an organization manage complex software development projects? That basis should be threefold. First, decide what methodology appears most compatible with your unique organizational culture. Next, decide what methodology appears best suited for a particular type of project. Finally, when there is a clash between the first and second decisions, determine how to customize your predominant methodology.”
Adrian Pyne, the author of Agile Beyond IT, offers similar advice: “There’s no point in implementing agility where the organization’s culture is not just going to support it. You do projects because you want value. If you are battling forever against your organization to get the level of engagement you want, then it’s going to fail and you won’t deliver the value. However, you can use Agile as a model to develop great project professionals. Because agility is at least 50 percent behavioral, it needs an organization where the culture of the organization can support and fit that kind of behavior. Agility is about adaptation.”
Getting training in an Agile methodology, such as a Scrum Certification, can help provide further knowledge on how to adapt the methodology you pick to your project or organization.
How to Choose an Agile Methodology for Software Development Projects
When choosing an Agile methodology for a software development project, consider the experience of your team members, the project’s requirements, the possibility they might change, and the estimated schedule of the project.
For example, an experienced development team with a short project timeline might benefit from Feature-Driven Development because they can be trusted to get the work done quickly with little oversight. A less experienced team, or a project with frequently changing requirements, might be better served by a more traditional methodology such as Scrum that can help guide their work day to day or as the customer adds requests. If your projects or teams are often rotating or disparate, consider Crystal, which looks at every project as an individual and encourages the best processes based on the team and project needs.
Highsmith suggests, “Try things before you say you don’t like them. For example, pair programming or XP — people evaluate them before they have even tried them. You’re not going to like things at first, but you have to get past the negative part of the learning curve. It’s going to be slower and harder to think about, and it will take time. Be persistent until you really understand it, and then try to adapt those methods.”
As you and your team become more experienced, adapt the things you like from each framework you try until you come up with a set of proven best practices that truly align with your team’s needs and style.
How to Choose an Agile Methodology for Non-IT Projects
To choose an Agile methodology for a non-IT project, consider the size of your team, the number of stakeholders, and their departments. Take into account the level of complexity of the project itself, as well as available software.
For example, large teams working on complex projects will benefit from a methodology such as Scrumban, which helps organize roles and responsibilities, streamlines task completion, and allows visibility into what is completed and remaining tasks. Many project management software solutions include Kanban board functionality, but a huge draw of Scrumban is that boards can be easily set up and used without software of any kind. If your project involves numerous handoffs or phases and stakeholders in different departments, consider BizDevOps to ensure smooth transitions and that all departments feel heard and understood.
The decision to implement Scrumban depends entirely on the organization’s environment, culture, and business needs. Scrumban: Choosing the Middle Ground Between Scrum and Kanban offers a more in-depth look at Scrumban and what environments would be best for introducing this hybrid of Scrum and Kanban.
How to Choose an Agile Methodology Based on Your Project Needs
Choosing the right Agile methodology for your project and team can be difficult. This chart outlines different project scenarios and the methodology that might work best.
If... | Then try... |
---|---|
Your project requires input and handoffs to different departments and teams | Business, Development, and Operations (BizDevOps) |
Your project includes many tasks and moving parts, or you’re struggling to track progress | Kanban |
Your team has clearly defined roles, and your project requires frequent interaction and input with stakeholders | Scrum |
Your team often works on diverse projects with changing team compositions | Crystal |
You want a loose guideline that helps you develop best practices over time | Adaptive Framework Methodologies |
You want a well-defined framework for work processes with increased progress visibility for stakeholders | Scrumban |
You have an experienced team, need quick, reliable results and do not need to thoroughly document the process | Feature-Driven Development |
Your project is on a tight timeline, with unclear or changing requirements | Extreme Methodologies |
You need a flexible approach that prioritizes cost saving and waste reduction practices | Lean Agile |
The History of Agile
In 2001, a group of engineers created the Agile Manifesto for software development. While Agile was originally devised for high-tech industries, other industries and environments have adapted the concepts for use in project management.
“Agile has been around for a long time,” says Pyne. “It was developed for software development, but since then, the manifesto has been adapted to many areas of work. It’s been adapted significantly for project management, which isn’t surprising because a lot of software development goes with project development nowadays.”
Agile concepts existed prior to the Agile manifesto, but its creation codified the guiding principles and values in existence and created a foundation for new and emerging strategies. Agile methods continue to evolve as industries adapt and create new frameworks for their changing requirements.
“The bottom line is that there are two parts,” says Highsmith. “The first is the methodology, which is the process itself, diagrams, and standups that are all about the practices needed to produce software. The other part is the mindset — or the underlying values and principles that determine if you’re really agile or not. This mindset must permeate the organization, not just the development team.”
Project Managers and Software Developers Use Smartsheet to Streamline Work Management
Empower your people to go above and beyond with a flexible platform designed to match the needs of your team — and adapt as those needs change. The Smartsheet platform makes it easy to plan, capture, manage, and report on work from anywhere, helping your team be more effective and get more done. Report on key metrics and get real-time visibility into work as it happens with roll-up reports, dashboards, and automated workflows built to keep your team connected and informed. When teams have clarity into the work getting done, there’s no telling how much more they can accomplish in the same amount of time. Try Smartsheet for free, today.