Agile Methodologies: A Beginner’s Guide
Thinking about implementing Agile methodologies in your organization? You aren’t alone.
Agile was originally developed by software developers as a better process for managing their work, but today, it encompasses a range of different Agile methodologies used in disciplines from marketing to customer success and beyond.
Regardless of where you are in your path toward adopting Agile methodologies, here’s an overview of the basic ideas behind Agile, different types of Agile methodologies, and how you can apply these ideas to improve work quality and deliver value faster.
What Is Agile?
To understand Agile methodologies, it helps to start with Agile itself. Agile Alliance defines Agile as “the ability to create and respond to change. It is a way of dealing with, and ultimately succeeding in, an uncertain and turbulent environment.”
This idea started in 2001, with the Agile Manifesto. Seventeen software practitioners got together to identify and put into practice a new way to develop software. The Agile Manifesto characterizes Agile values as:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Réagir au changement plutôt que de suivre un plan
You can be (lowercase) agile without being Agile, and you can technically be practicing Agile without truly experiencing agility. Dictionary.com defines agility (of any kind) as “the power of moving quickly and easily; nimbleness,” with this secondary definition: “the ability to think and draw conclusions quickly; intellectual acuity.” Meanwhile, (uppercase) Agile describes the specific set of practices, values, and beliefs that aim to enable business agility.
We like to use the definition of business agility created by researchers of McKinsey & Company to expand on this idea, who define Agile as “the ability to quickly reconfigure strategy, structure, processes, people, and technology toward value-creating and value-protecting opportunities.” These definitions reflect that Agile itself is a mindset, not a technique. That’s where Agile methodologies come in.
What Are Agile Methodologies?
Agile methodologies are frameworks that teams and organizations use to put the Agile mindset into practice. If Agile is the what, Agile methodologies are the how.
The purpose of implementing any Agile methodology is to increase your business’s agility.
It’s how you go about trying to achieve agility that determines whether or not you are practicing Agile. There are many methodologies that could be considered Agile methodologies, as well as many frameworks that can be utilized to effectively scale Agile across organizations.
Let’s take a closer look at several of the most popular Agile methodologies. These include:
- Scrum
- Extreme Programming (XP)
- Lean Software Development
- Kanban
- Crystal
- Feature-Driven Development (FDD)
- Dynamic Systems Development Method (DSDM)
Agile Methodologies Compared
How do different Agile methodologies compare to each other?
Scrum
Scrum is one of the most widely used Agile methodologies. A prescriptive framework, Scrum excels at managing iterative and incremental projects. Using the Scrum Agile methodology, a Product Owner sets a list of priorities, the Product Backlog, to be completed by a cross-functional team. The team works to deliver “potentially shippable increments” of software in 2-4-week sprints, at the end of which the Product Backlog is reevaluated and prioritized.
Agile teams like Scrum because it’s easy to follow and scale. It enables management teams to identify problems early on and fosters strong, active collaboration between teams and colleagues.
Extreme Programming (XP)
Another popular Agile methodology, Extreme Programming (XP) also emphasizes speed and continuous delivery. Like Scrum, XP enables closely-knit teams to deliver working software increments at frequent intervals, usually every 1-3 weeks. It relies on customers to communicate the most useful features of a software product and developers to work towards implementing that feedback.
XP is frequently recommended for small teams of experienced developers that are experienced in the XP Agile methodology and comfortable collaborating with stakeholders outside of IT.
Lean Software Development
Lean software development is more flexible than Scrum or XP, with fewer strict guidelines, rules, or methods. Lean is based on a set of principles developed to ensure value and efficiency in production in the mid 20th century and has evolved into the software setting. Lean relies on five principles of Lean management:
- Identify value
- Value Stream Mapping
- Create continuous workflow
- Create a pull system
- Continuous improvement
Lean particularly emphasizes eliminating waste. In the context of software development, that includes cutting out wasted time and unproductive tasks, efficiently using team resources, giving teams and individuals decision-making authority, and prioritizing only the features of a system that deliver true value.
Kanban
Like other Agile methodologies, Kanban focuses on helping teams work together more effectively to enable continuous delivery of quality products. Kanban is unique, however, for offering a highly visual method for actively managing the creation of products.
The Kanban Agile methodology relies on six fundamental practices:
- Visualize the workflow
- Limit work in progress
- Manage flow
- Make process policies explicit
- Implement feedback loops
- Improve collaboratively
Kanban achieves these practices through the use of a Kanban board. The Kanban board facilitates the visual approach to Agile using columns to represent work that is To Do, Doing, and Done. This Agile methodology improves collaboration and efficiency and helps define the best possible team workflow.
Crystal
The Crystal Agile methodology focuses more on the interactions of the people involved in a project versus the tools and techniques of development. A lightweight model, Crystal emphasizes interaction, people, community, skills, communications, and talents.
Crystal categorizes projects based on three criteria:
- Taille de l'équipe
- System criticality
- Project priorities
The approach is similar to other Agile methodologies in its attention to early and often delivery of software, high involvement of users, and removal of red tape. Crystal’s assertion that every project is unique, however, has led to its reputation as one of the most flexible Agile methodologies.
Feature-Driven Development (FDD)
Feature-Driven Development, or FDD, provides a framework for product development that starts with an overall model and gets progressively more granular. Like other Agile methodologies, FDD aims to deliver working software quickly in a repeatable way. It uses the concept of “just enough design initially” (JEDI) to do so, leveraging two-week increments to run “plan by feature, design by feature, build by feature” iterations.
Organizations that practice Agile like Feature-Driven Development for its feature-centric approach and its scalability.
Dynamic Systems Development Method (DSDM)
The Dynamic Systems Development Method (DSDM) rounds out our list of well-known Agile methodologies. DSDM originated in the 1990s as a way to provide a common industry framework for rapid software delivery. Today, it has matured into a comprehensive Agile methodology that revolves around:
- Business needs and value
- Active user involvement
- Empowered teams
- Frequent delivery
- Integrated testing
- Stakeholder collaboration
The DSDM framework is particularly useful for prioritizing requirements. It also mandates that rework is to be expected, so any development changes must be reversible. DSDM relies on sprints, similar to other Agile methodologies, and is often used in conjunction with approaches like Scrum and XP.
Frameworks de déploiement Agile à grande échelle
In addition to these Agile methodologies, organizations also rely on frameworks for scaling Agile across the enterprise. These include the Scaled Agile Framework (SAFe®), Large Scale Scrum (LeSS), Disciplined Agile (DA), Scrum@Scale, and others. These techniques and frameworks are often built upon and add value to the Agile methodologies explained above.
How do three of the most popular enterprise Agile frameworks differ?
Scaled Agile Framework® (SAFe®): The Scaled Agile Framework describes itself as a “knowledge base of proven, integrated principles, practices, and competencies for achieving business agility using Lean, Agile, and DevOps.”
SAFe is a well-established and rigorous approach to scaling Agile that includes planning at the team, program, and portfolio level. The framework introduced the idea of the Agile Release Train (ART) to structure work across teams of 50-125 people, as well as the Release Train Engineer (RTE) as the role at its helm. SAFe requires consistent two- and ten-week iterations, which can work well for organizations with a more established Agile practice but can prove ambitious for companies new to the practice.
Disciplined Agile (DA): Disciplined Agile, formerly known as Disciplined Agile Delivery (DAD), is “a people-first, learning-oriented hybrid agile approach to IT solution delivery.” DA is less prescriptive than SAFe and oriented more as a foundational approach to Agile than a strict “recipe” for scaling Agile. It emphasizes team roles and a goal-driven approach that makes it more flexible than other scaling Agile methodologies.
Large-Scale Scrum (LeSS): As its name implies, LeSS tackles the challenge of scaling Agile through the specific lens of the scrum, helping organization figure out “how to apply the principles, purpose, elements, and elegance of Scrum in a large-scale context, as simply as possible.” LeSS uses teams as its foundational building blocks, reduces the role of management, and advocates for simplicity versus strictly defined processes. LeSS is recognized as an impactful approach for organizations that already use scrum practices and want to scale Agile in a way that is both streamlined and robust.
Benefits of Agile Methodologies
If you’re reading this guide, it’s probably because you’re interested in realizing the benefits of Agile methodologies in your team or organization. We’ve touched on some of the benefits of Agile already in this guide, but we’ll expand on them here. Whether your goal is to increase innovation in your organization, enable more proactive solution development, or simply improve the efficiency of your planning / workflow management, Agile can help.
Agile methodologies can enable: | Comment : |
---|---|
Planification et gestion des workflows plus efficaces | Encouraging the adoption of more dynamic funding / cost accounting and project management methods |
Visibilité accrue sur l'ensemble de l'organisation | En encourageant l'utilisation d'outils visuels de gestion |
Meilleur alignement des activités de l'équipe sur la stratégie organisationnelle | Stimulating regular conversations around strategy with Program Increment (PI) planning and the use of Agile metrics like Objectives and Key Results (OKRs) |
Increased ability to respond to changes in the market | Cycles de planification plus courts et pratiques de gouvernance et de financement plus flexibles |
Développement de solutions proactif, plutôt que réactif | Accent mis sur l'échange de feedback et la collaboration avec les clients |
Meilleure capacité à prévoir et à réagir aux bouleversements du marché | Continuously gathering customer feedback; operating in short feedback loops |
Increased stability / sustainability of an organization | Développement d'équipes autonomes pérennes |
Who Practices Agile Methodologies?
The practice that we now know as Agile was the product of a slow evolution of traditional workflow management methods, plus the innovation of some forward-thinking software developers. These developers convened in 2001 to formally draft new, better guidelines for software development. These guiding principles have been expanded over time to be applicable to teams in a wide variety of industries, as we’ll explain more in the next section.
With the rise of scaling methodologies like SAFe, Agile practices are now used to increase visibility, promote process improvement, and increase speed of innovation at every level in the organization.
Core Values of Agile Methodologies
Let’s dive a bit deeper into how the four core values stated in the Agile Manifesto are applied in Agile methodologies today.
Individus et interactions par rapport aux processus et outils
While no one will say that having helpful, efficient processes and tools isn’t valuable in increasing the agility of your team, Agile methodologies place greater emphasis on individuals and interactions than processes and tools.
Here’s why: Many of the methods before Agile relied heavily on the ceremony and discipline of a highly regimented workflow management system to maintain control over people. You might recognize this in your own workplace as unnecessarily strict rules about where or how people work, dogmatic use of a “team building” software instead of honest conversations, or other ways of maintaining control over people that don’t produce positive (financial or cultural) results.
Instead, Agile methodologies value effective collaboration between people, with processes and tools only serving to support that collaboration. Put another way, Agile encourages humans to leverage the skills that only we as humans have: Emotional intelligence, creative problem-solving, and critical thinking. Tools and processes are useful for keeping us organized and saving time, but they should only serve as a way to automate tedious, repeatable tasks or share information – not take the place of real human interactions.
Regardless of your industry, you can think of this value when facing any decision that might require the nuance and intimacy of a face-to-face conversation: Is this something that requires my emotional intelligence, critical thinking, or creative problem-solving? If not, automate away. If a face-to-face, human interaction would provide you with more value, then make space for that.
Working (Software) Over Comprehensive Documentation
Although the inclusion of the word “software” in this value might sound software-specific, it actually contains a valuable concept that can be applied to virtually any type of work. This value intends to increase the pace of the development of anything (whether that’s software, a service, a consumer product, or any other offering), by emphasizing having a working product as a primary goal.
Here’s why: Before Agile, software development methods required teams to create extensive documentation for everything they did.
While disciplined and responsible, the problem with this method is that it is painstakingly slow. Teams usually wouldn’t release products until they were fully built and documented, only to learn hours after releasing them into the market that there were multiple major issues that required more building and more documentation.
With Agile methodologies, a working product, whether that product is an app, a website, or a marketing campaign, is more valuable than a perfect plan for that product.
Why? Because this gives your team infinitely more opportunity to collect and incorporate user feedback (more on this in the next section). Agile teams responsibly, but ambitiously, aim to launch things as soon as they’re ready, in as small of chunks as possible, so that they can collect more user feedback and continue to make the product better.
This value guides not only how products are created, but also how Agile teams plan, validate ideas, and delegate work.
La collaboration avec le client plutôt que la négociation du contrat
Regardless of your industry, working with your customer throughout the development process is a key value in Agile methodologies, which is done by planning and producing work in small batches and then testing that work in the market.
Agile organizations aim to amplify the voice of the customer and use it to guide product strategy and execution throughout the development process. This is far different than the “wait and see” approach traditionally used by organizations, in which products are created first (based on assumptions about the customer) and then user feedback is collected once the product is built and released (when it’s too late to incorporate).
Whether your customer is external (an actual paying customer) or internal (your boss, who’s waiting on that presentation you’re preparing), it’s always smart to gather and incorporate feedback throughout the “development” process to ensure that the thing you’re creating is the thing they want.
Working with customers throughout the development process, instead of simply at the beginning or end of an engagement, is not only a better strategy for increasing customer satisfaction, it’s also a much more efficient and cost-effective approach to development.
Réagir au changement plutôt que de suivre un plan
One of the primary benefits of practicing Agile methodologies is the ability to rapidly respond to changes. Before Agile and its related methods were created, software development was managed the way other types of work were managed at that time: In long development cycles, with lots of upfront planning, little room for change, and tightly prescribed timelines for each phase of work. You can probably point to areas of your business where things are handled this way.
The problem is, even with the most data-driven estimates, teams won’t always be able to deliver work according to a specific schedule. Changes in the team, data, weather, economy, or requirements can all impact the progress of a piece of work. Not to mention, creating long-term plans (and failing to re-evaluate them over time) means you’re likely not focused on listening to what your market is telling you as you’re developing it.
Teams that follow Agile methodologies realize that sticking to the plan at all costs often means ignoring valuable information and insights from the market.
Agile organizations use more dynamic planning and budgeting practices to better align these practices with Lean and Agile delivery.
How Can Technology Support Agile Methodologies?
One of the goals most organizations have for the implementation of any of the Agile methodologies they might select is the ability to connect and coordinate the efforts of various teams. Teams are typically organized into functional silos, with different objectives and goals, working concurrently but not necessarily in sync with each other. It’s especially difficult to coordinate the activities of these teams when they’re all using different tools to manage their work.
It becomes fairly obvious when trying to scale Agile that some standardization of tools is necessary to enable coordination across teams and value streams.
However, it would be unwise to try to force teams across a variety of disciplines to abandon the tools they know in favor of one that might not be purpose-built for their needs (a customer support team, for example, will have different needs than IT ops).
There are tools that can help bridge the communication gaps between the tools used across an organization to provide visibility into the big picture without sacrificing the level of detail teams need to do their daily work. With the growing adoption of Agile methodologies, a number of enterprise Agile tools have been designed to enable Lean and Agile delivery across complex organizations.
What to Look for in an Agile Software Solution
When looking for a software solution to support Agile methodologies, it’s important to keep in mind your overall goals for your Agile implementation. Are you looking for a team-level tool to help your team get its feet wet with Agile, or a tool to help you manage the planning, coordination, and dependency management involved in scaling Agile? This not only provides insight into the type of tool you should select, but also how your organization will use that tool.
Although the specific criteria to look for will vary depending on the size, maturity, and goals of your organization, be sure that your Agile software solution includes the following:
- Visual management
- Lean and Agile metrics
- Hierarchical structure
- Ability to integrate with existing tools
- Enables communication
- Easy to update and interact with
The practice of Agile is one of continuous improvement. Agile methodologies facilitate an evolutionary, not a revolutionary, approach, that over time can help your team or organization create more value, faster, and more reliably than ever before.
Découvrez la meilleure application de gestion de projets pour les équipes de toutes envergures
Inscrivez-vous pour votre premier projet et invitez gratuitement vos équipes
ProjectPlace Free Trial Full-functional 30-day trial • Planview projectplace-thick