What is an Agile Methodology?
Is Agile even a methodology? We’ll get to that in a second. First, let’s focus on the very beginnings of Agile.
Agile emerged in 2001 when the Agile Manifesto was released. It established 4 key truths and 12 principles that revolutionized the software development world.
Now down to the real question. What is an Agile methodology?
Some would argue that Agile is not a methodology but a set of principles and beliefs. We think of it more in terms of a software development “philosophy” or even a “religion.” How you practice that religion with different Agile events, “traditions,” methods — that’s a methodology.
Agile methodologies show you HOW to do things to align with the Agile processes, values, and principles.
One of the core Agile values is team collaboration. When creating complex software products, we need Agile methodologies to guide us on how to work efficiently together. The ultimate goal is to increase customer satisfaction with each software release.
What are those popular types of Agile methodologies, then?
Let’s get right to it!
Popular Agile Methodologies Examples
Scrum is the most popular Agile framework, defined by the Scrum Guide in 2010. According to the 15th State of Agile report, 66% of respondents identified Scrum as one of the Agile frameworks they follow most closely.
What are the main characteristics of a Scrum team?
- Scrum teams work in short iterations called Sprints, with 2 weeks being the most popular choice. Each Sprint has its goal.
- Scrum clearly defines the team roles like Scrum Master, Product Owner, and Development Team.
- Scrum teams attend regular Agile events, like Sprint Planning, Daily Scrum, Sprint Review, and Sprint Retrospective.
Which teams would benefit the most from Scrum?
Scrum works well in companies with frequent cross-team collaboration. It fits small teams, 3 to 9 people maximum. It’s a good choice for teams that work in short development cycles focused on timely releases.
The Scrum framework is also great for “newbies” in Agile because it provides clear guidelines. It’s one of the best-defined Agile frameworks: a good choice to start your Agile journey.
Kanban is roughly translated from Japanese and means “cards you can see.” In Kanban, the progress of the development process is visualized on a Kanban board.
What are the main characteristics of a Kanban team?
- Kanban teams work with a Kanban board. Typically the Kanban board includes the “To Do,” “In Progress,” and “Done” columns. In software development, the Kanban board is usually extended to: “To Do,” “Dev,” “Test,” and “Done.”
- Kanban teams work with “Work in Progress” limits to prevent bottlenecks and achieve quicker release cycles.
- Kanban is a continuous workflow. Product improvements happen on an ongoing basis through continuous collaboration and ad-hoc team meetings.
Which teams would benefit the most from Kanban?
Kanban is the way to go for teams that handle different-size tasks and need to juggle frequently changing product requirements. Kanban methodology is not as clearly defined as Scrum, so it wouldn’t be advised to inexperienced Agile teams.
The Kanban concept is usually recommended to smaller teams that work on repetitive tasks and are not heavily dependent on others. Kanban is a great choice if your team prioritizes the speed to market and is more advanced in Agile methods.
Scrumban is a Scrum Kanban hybrid, taking some of the principles from Scrum and some of the principles from Kanban.
What are the main characteristics of the Scrumban team?
- Scrumban teams work on a time-based schedule. Instead of 2-week Sprints, they work with 3-month, 6-month, and 1-year buckets.
- Agile events are not a must in Scrumban. The team can choose to skip certain events, however, retro sessions and ad-hoc planning are definitely recommended.
- Scrumban teams visualize their tasks on a Scrumban board with applied ‘Work In Progress’ limits.
Which teams would benefit the most from Scrumban?
Scrumban is a great choice for either small or large teams that are experienced or just starting with Agile. It’s a good fit for those who find Scrum too rigid and think that Scrum rules are hindering the team’s productivity.
Scrumban works well with teams that are developing multiple products in fast-paced environments and have less strict estimation requirements from the senior management.
4. Extreme Programming (XP)
Extreme Programming (XP) focuses on producing higher quality software, sharing knowledge, and taking care of the software teams’ wellbeing.
What are the main characteristics of the Extreme Programming team?
- The team values simplicity, quick feedback, collaboration, and quality work.
- XP teams go through 5 development phases: planning, designing, coding, testing, and listening.
- The most important practices are test-driven development, pair programming, simple design, collective code ownership, plus a 40-hour week that prevents burnout.
Which teams would benefit the most from Extreme Programming?
XP is a good choice for mixed-skill level teams, especially ones where junior and senior programmers work together. It could also work well for teams with tight deadlines, smaller budgets, and frequently changing project requirements.
Extreme programming would not be recommended to remote teams, as it performs best when applied to small teams that work from the same location.
5. Lean Software Development
Lean product development focuses on producing only what the product actually needs. It optimizes time and resources and reduces unnecessary activities.
What are the main characteristics of the Lean Software Development team?
- The team works with Minimum Viable Products (MVPs) that are released to the customers as early as possible. Customer feedback is then collected and included in future software iterations.
- The team eliminates redundant activities to save time (like reworking the code or using resources in an inefficient way), and team members are empowered to make their own decisions, which results in higher morale.
Which teams would benefit the most from Lean Software Development?
Teams that are responsible, experienced, and can be trusted to make important decisions on their own would benefit the most from the Lean methodology.
Lean methodology is not easily scalable as it’s more suited to smaller teams that are cohesive as well as teams that can embrace more detailed documentation.
Crystal methodology is made up of smaller Agile project management methodologies that were first introduced by Dr. Alistair Cockburn, co-author of the Agile Manifesto, and place the main focus on collaboration practices.
What are the main characteristics of the teams following the Crystal approach?
- Teams following the Crystal approach work with smaller Agile development methodologies like Crystal Clear, Crystal Yellow, Crystal Orange, Crystal Orange Web, Crystal Red, Crystal Maroon, Crystal Diamond, and Crystal Sapphire.
- The Crystal approach is very flexible and adaptable, and it works well for different types of Agile teams.
- Crystal teams avoid unnecessary documentation and reporting and practice one of the lightweight Agile software development methodologies.
Which teams would benefit the most from Crystal methodology?
Different team sizes can benefit from the Crystal project management process. For example, Crystal Clear fits smaller teams and shorter projects (up to 6 developers), and Crystal Red works better with larger teams (up to 80 team members).
The Crystal approach is a good choice for teams that communicate frequently and cooperate without the day-to-day involvement from the higher management.
Crystal methodologies are not recommended to inexperienced Agile teams as the structure is not clearly defined, and there are some grey areas open to interpretations.
7. Dynamic Systems Development Method (DSDM)
Created in 1994, DSDM was meant to complement another Agile framework RAD (Rapid Application Development). DSDM’s main focus was to help with planning and creating more discipline in the team.
What are the main characteristics of the team following the Dynamic Systems Development Framework?
- Timely delivery, focus on business needs, and not compromising on code quality.
- DSDM teams work on a fixed cost, fixed time schedule, and negotiable features.
- Teams following the Dynamic systems development framework work mostly with the MoSCoW prioritization technique, facilitated workshops, and time-boxed iterative development.
Which teams would benefit the most from Dynamic Systems Development Method?
DSDM Agile framework works well with small as well as larger, more complex projects. It would be a good fit for teams that can embrace ambiguity and frequently changing requirements.
DSDM works well in the corporate environment, where other Agile methodologies can be harder to implement.
8. Feature Driven Development (FDD)
Feature Driven Development originated from a long 15-month project, in a Singaporean bank, back in 1997. FDD blends different types of Agile methodologies and puts customer satisfaction at the center.
What are the main characteristics of the team following the Feature Driven Development method?
- Teams adopting Feature Driven Development focus mainly on making progress on features.
- FDD teams follow a 5-step development process flow: “develop an overall model,” “build a feature list,” “plan by feature,” “design by feature,” and “build by feature.”
- Features that the FDD teams build are similar to the user stories we know from Scrum.
Which teams would benefit the most from FDD?
FDD Agile method is handy in large-scale software projects, especially in the finance and banking industry, where the main focus is on speeding up the release of features. It wouldn’t be recommended for smaller projects, though.
You might want to test it out if your project grows too complex for the regular Scrum team to handle, especially in organizations where only software development teams follow Agile methodologies.
9. Adaptive Software Development (ASD)
Adaptive Software Development has also originated from RAD. The main focus of ASD is to adapt rapidly to changing product requirements or sudden shifts in user behavior and market trends.
What are the main characteristics of the team following the ASD methodology?
- The team develops software according to three phases: speculate, collaborate, and learn.
- The ASD team focuses mainly on the end user and user feedback which can lead to more user-friendly products.
- Teams are required to deliver on time, embracing early delivery.
- Testing is introduced into every stage of the development process.
Which teams would benefit the most from Adaptive Software Development?
If your company puts the main emphasis on timely delivery and is expected to continuously change the offering, you might want to test the Adaptive Software Development methodology with your team.
The ASD method works well for teams involved in complex software projects; however, it might not be the best choice if there is no room or budget to introduce user testing into every stage of the development process.
Agile Project Management Cheat Sheet: Which Method is Right for You?
There’s no one-size-fits-all formula in Agile. Different types of Agile methodologies benefit different Agile software development teams. It depends on the team’s size, industry, or level of experience.
In today’s world of complex software development projects with lots of uncertainties and unknowns, Agile is the way to go.
Check out our Agile Methodology Cheat Sheet to help you decide which types of Agile methodologies are right for you!
In addition, have a look at our selection of Agile templates – they can help you kick-start the Agile transformation in your organization!