This is a kanban board example for agile methodology — visualize work in progress, limit WIP, and optimize flow in Aha! Develop.
Scrum's popularity
Scrum is indisputably the most popular agile framework used by teams today. One reason that scrum is adopted by so many is that it offers a lightweight framework for continuous improvement, from sprint planning to retrospectives. According to findings from one annual report, 63% of agile teams leverage scrum. Notably, this particular survey includes all types of teams — from marketing to IT to engineering. That is … a lot of teams.
The range of methodologies
You are unlikely to encounter more than a handful of methodologies and frameworks during your career. People you work with will not follow — or even know about — the approaches listed below. But it is still worth gaining a general awareness of the breadth of agile, as it will help you to understand the diversity and richness of different approaches.
No matter which one(s) you choose to follow, each methodology promotes the elements at the root of agile development: flexibility, collaboration, iteration, short release cycles, and immediate feedback.
Agile methodologies and frameworks |
The Aha! Framework | The Aha! Framework was developed by Aha! and released publicly in 2024. It is the engine that has powered our company's success and the development of our software suite. The Aha! Framework is unique in that it ensures strategic alignment while supporting ongoing sprints with continuous deployment. It is organized around the phases of product development, with discrete activities within each that support rapid value delivery. The activities begin with biannual strategy-setting and include ongoing sprints. Related: |
Adaptive Software Development (ASD) | ASD is built on the principles of RAD. ASD follows a continuous cycle of "speculate, collaborate, and learn" to adapt as work progresses. Its key characteristics include being mission-focused, feature-based, iterative, time-boxed, risk-driven, and tolerant of changes throughout the development process. |
Agnostic agile | Agnostic agile practitioners might balk at being included in a list of agile frameworks, given one of the key principles is not to adhere to the specifics of any one framework. This approach is about leading with agile principles and then choosing any framework that best serves the specific organization's needs. |
Crystal | Crystal is a collection of agile software development approaches. With all, the focus is on customization. Crystal practices iterative and incremental development, active user involvement, and delivering on commitments. Agile teams are encouraged to define the most effective way of collaborating, based on details like the number of team members and the specific type of project you are working on. Developers have the autonomy to adjust processes and optimize workflows as needed. Agile pioneer Alastair Cockburn wrote a book about crystal methods in 2004. |
Dynamic Systems Development Method (DSDM)
| Dynamic systems development methodology (DSDM) combines the principles of time-boxing and collaboration with an emphasis on goals and business impact. It lays out four distinct phases for tackling projects: feasibility and business study, functional model or prototype, design and build iteration, and implementation. DSDM is typically selected by larger organizations and governments with the budget to cover overhead and implementation. |
Extreme Programming (XP) | XP is all about collaboration and transparency. It espouses five key values: communication, simplicity, feedback, courage, and respect. Characteristics include sitting together, pair programming, test-first programming, continuous integration, collective ownership, and incremental design. The approach is intended for small teams that are co-located and close-knit. |
Fluid Adaptive Scaling Technology (FAST) | FAST puts an emphasis on self-organizing teams (or "tribes") who form, change, dismantle, and reform dynamically over value cycles as short as two days. FAST self-describes as product-centric, with equal weight given to product discovery as product delivery. |
Feature-Driven Development (FDD)
| FDD is a model-driven methodology intended for larger teams working on a project using object-oriented technology. It defines five processes: develop the overall model, build the feature list, plan by feature, design by feature, and build by feature. The goal is to deliver more features that customers want. Work moves quickly — developers typically build each feature in two weeks. FDD can be useful for companies with a more rigid or hierarchical structure where lead developers make decisions that impact the rest of the team. |
Kanban | Kanban is a tricky one, even though it is incredibly popular with many types of agile development teams (as well as product and project teams). Tricky because it is not technically a methodology or framework — it is a workflow management system with an emphasis on continuous delivery. The core principles of kanban are to visualize what you do today, limit the amount of work in process, and optimize flow. Teams visualize work on a kanban board and follow a pull-based approach, grabbing a new task as they have bandwidth. Progress across the board is monitored until work is completed according to the team's definition of done. Related: |
Large-Scale Scrum (LeSS) | LeSS defines 10 principles for deploying and maintaining scrum across an entire company. It was created to support organizations with multiple scrum teams. There are two configurations: one for two to eight scrum teams, and one for more than eight scrum teams. LeSS co-creators Craig Larman and Bas Vodde co-wrote a book that outlines how teams can adopt the principles. |
Lean Software Development (LSD) | LSD applies lean manufacturing principles and practices to software development. It promotes a minimalist approach — the key principles are to eliminate waste, ensure quality, create knowledge, defer commitment, deliver fast, respect people, and optimize the whole. Lean teams collaborate to deliver a Minimum Viable Product (MVP). Once that product is released, the team gathers customer feedback and then applies those insights to new product iterations. |
Nexus
| The Nexus framework was created by Ken Schwaber, one of the co-creators of scrum. It is an agile model that is used in tandem with scrum. Nexus adds an integration team composed of a product owner, scrum master, and integration team members. The team focuses on facilitating dependencies and other issues across teams. |
Rapid Application Development (RAD)
| RAD emphasizes speed and flexibility. Developers build prototypes, collect user feedback, and iterate often. RAD is ideal for highly skilled teams that need to develop a product quickly (within a few months) and are able to collaborate with customers during the process. |
Scaled Agile Framework® (SAFe®)
| SAFe is a set of principles, guidelines, and prescribed levels for implementing agile and lean principles at scale. The core principles of SAFe include taking an economic view, applying systems thinking, assuming variability and preserving options, building incrementally, basing milestones on objective evaluation, making value flow without interruption, planning and delivering across a portfolio in a synchronized cadence, unlocking the intrinsic motivation of knowledge workers, decentralizing decision making, and organizing around value. Related: |
Scrum | Scrum is an iterative and incremental agile software development framework. Scrum teams operate from core pillars of transparency, inspection, and adaptation. There are defined roles, including scrum master and product owner. Teams work in time-boxed sprints of two to four weeks and follow scrum ceremonies — such as sprint planning, daily scrum, sprint review, and sprint retrospectives. These ceremonies facilitate the continuous improvement and tight alignment that allow scrum teams to deliver value at a sustainable pace. Scrum is well suited to teams that are nimble, cohesive, and willing to pivot often based on stakeholder feedback. Related: |
Scrumban
| Scrumban is a hybrid of scrum and kanban. It was initially developed as a way for teams to transition from scrum to kanban or vice versa. But over time, it gained traction as a standalone methodology, not just as a stopgap. The scrum part of scrumban gives teams defined guidelines for roles, planning, and running sprints effectively. The kanban part of scrumban offers a way to balance work against resources with the pull system, plus visualizations of work in progress. |
What about DevOps?
It is also worth mentioning DevOps, an approach to software delivery that grew out of agile thinking. DevOps emphasizes short development cycles and continuous delivery of high-quality software. The focus is on close working relationships between the development and operations teams. Many principles of DevOps — such as automated testing, short feedback loops, and frequent collaboration — are similar to the agile methodologies above.
Top
How to choose an agile methodology
It is rare to choose an entirely new way of working. That is because most companies already have some way of managing product development. Even if the current way is dysfunctional, rolling out an entirely new workflow methodology across an entire organization midflight — while you are still planning, developing, and releasing functionality — can feel riskier than sticking with the status quo.
It is more common to incrementally update and add to an existing method (with varying levels of success). Unless you are working at a very early-stage startup or are part of an enterprise transformation at an established organization, you probably will not be involved in the selection or full rollout of any new methodology or framework. For the latter, the choice to seek out and implement a companywide product development methodology is usually tied to top-level business strategy.
So, who gets to choose? A CEO or CTO will typically select the methodology, with input and support from engineering and product team leads. If you are part of a group tasked with evaluation and eventual selection, there are a variety of factors that you should take into account, including:
Organizational characteristics
Size: Smaller companies can often get started with more lightweight approaches, whereas larger enterprises benefit from sophisticated frameworks.
Industry: Some industries require specific checkpoints for security or regulatory concerns, which can impact the agile method the team follows.
Culture: Management styles, communication, and openness to change all influence workflow choices.
Product characteristics
Type: Hardware, software, IT, consumer — what it is you are building and for whom will play a role in methodology selection.
Maturity: Products have a lifecycle with distinct stages.
Complexity: Highly complex products and product portfolios require a defined framework that still allows for adaptability.
Team characteristics
Size: Scrappy startups will have individuals doing the work of several different roles (versus an established company with many groups of engineers supporting it).
Experience: Novice developers do not need the weight of a heavy framework, but will benefit from structure.
Location: Small co-located teams have different needs than remote groups dispersed globally.
Related:
Top
Agile best practices
Agile represents a collective mindset shift. Everyone on the team needs to be able to articulate the ultimate goal: the reason why you want to become more agile, and the value it will deliver to customers beyond the individual features you ship.
There are some broad-strokes best practices that can help you orient around an agile approach, regardless of the methodology or framework you follow:
Motivated teams: Agile requires intrinsically motivated individuals who are driven by problem-solving, are able to accept and incorporate feedback, and thrive when working independently and as a collective. Many frameworks encourage self-organizing teams, which requires high commitment and performance to be successful.
Backlog prioritization: Creating and maintaining a healthy backlog is critical to agile success. Having an up-to-date, prioritized list of features ensures the team can move quickly when ready to begin work. In many agile frameworks, backlog health is a team performance metric.
Incremental development: Agile hinges on iteration. Iterative cycles require that developers break down large projects into smaller, more manageable units of work. Each batch of work builds on previous increments and early feedback received, which means your product is constantly being improved.
Frequent communication: Agile teams transmit information daily. From standups to real-time conversations, core development teams communicate about capacity, work status, and any issues that need to be addressed. Alignment across the entire product development team is just as important. Regularly connecting with cross-functional teammates minimizes costly rework.
Cross-training: Development slows when there is only one teammate who can perform a particular task. Agile teams display an "all-hands" approach in that teammates should be able to pick up, contribute to, or peer review work in progress as needed. Cross-training increases team adaptability and, ultimately, team velocity.
Retrospectives: Team members check in with one another at regular intervals (typically after an iteration) to reflect on how to improve processes going forward. Agile retrospectives facilitate the kind of transparent, open communication that encourages teams to constantly evolve for the better.
Related:
Top
Common issues when implementing agile
Making the leap from old-school methods to an agile approach is not without its challenges. The most common issue is not the process, but the people. The larger and more established an organization is, the more difficult it can be to change "old guard" mentalities and processes.
In order to implement agile, you have to fundamentally change the way people think, operate as individual contributors, and collaborate as teammates.
Here are some other more tactical issues that product development teams face when implementing agile, with a few references that are specific to scrum:
Lack of sponsor support
Product owner role is not properly filled
Scrum master is also a contributor
Problem-solving in daily standups
Attempting to take on too much in an iteration
Adding stories or features to an iteration in progress
Adding unrelated tasks to sprints
Allowing technical debt to build up
Developer burnout
If you have experienced this hit list of pain before, then you likely know that agile itself is rarely the issue. That is because (as we have reiterated a few times so far) agile is a philosophical approach to work.
Swaying hearts and minds, inspiring folks to embrace a new philosophical approach to work, and putting the focus on delivering customer value over internal politics or policies — these are the true hurdles to adopting agile.
Related:
Top
As part of an enterprise transformation that involves shifting to agile, many companies also invest in workflow tools that encourage team alignment with the new way of working. Often, organizations rely on a standard office software suite (word processing, spreadsheets) and find that the siloed and disconnected nature of these static tools is at odds with fast-paced and interconnected agile workflows.
You can always try to adapt an existing workflow tool to fit an agile framework. But bug-tracking tools, simple task management boards, and spreadsheets can only take you so far. As you begin to mature in your processes, you will likely find that you need an agile workflow tool like the Aha! suite that provides templates, prioritization and reporting capabilities, and is tightly integrated with strategic plans and product roadmaps.
In this tutorial, learn about the workflows and tools we rely on to deliver lovable products.
Aha! software also includes brainstorming functionality via digital whiteboards, built-in customer feedback loops, and knowledge base hubs for product documentation and team training. To reimagine the way you build software, try the Aha! suite now.