There’s no doubt Agile has taken the project management world—and many organizations—by storm. While the Agile model was initially developed for the software industry, it has crept into many industries to help streamline processes and help teams build and evolve products incrementally, iteratively, and collaboratively.
But what does it mean to “go Agile”—and how do you know the Agile method will work for your team and projects? In this chapter, we’ll cover what the Agile methodology is, how the Agile process works, and the pros and cons of Agile project management.
What is the Agile methodology in project management?
The Agile methodology is an iterative project management approach designed around collaborative cycles of planning, execution, and delivery.
Agile is not so much a methodology as a mindset based on a common set of values and principles. These Agile values and principles advocate for self-organizing teams, adaptive planning, early delivery, and continuous improvement. However, a true Agile model requires organizational transformation to reach its full potential.
Agile is less about how to do things and more about why you do them. For example, the Agile process doesn’t dwell in documentation like the Waterfall methodology does because it’s focused on shipping things faster. This quicker delivery goal is also the driver behind Agile’s frequent, meaningful feedback loops and constant engagement with stakeholders.
The history of Agile: What is the Agile Manifesto?
In 2001, 17 software developers met at a resort in Snowbird, Utah, to discuss lightweight development methods. Fed up with traditional approaches that relied heavily on documentation, they felt there had to be a more efficient way to develop and deliver software that allowed more autonomy to the developer.
Together, they published the Manifesto for Agile Software Development, which is rooted in adaptive planning, early delivery, and continuous improvement—all with an eye toward being able to respond to change quickly and easily.
The Agile Manifesto laid out a set of 4 values and 12 principles. Organizations must understand and follow these values and principles to create a truly Agile environment for their teams and projects.
4 values of the Agile Manifesto
The Agile Manifesto revolves around 4 core values that serve as the foundation of the Agile approach for software development. Here are the Agile values you should know:
Individuals and interactions over processes and tools: This Agile value is easy to understand because people respond to business needs and drive the development process. If processes or tools drive development, the team’s less responsive to change and less likely to meet customer needs.
Working software over comprehensive documentation: More traditional processes spend a lot of time documenting a product for development and ultimate delivery, and this was often a cause for long delays in software development. Agile doesn’t necessarily eliminate documentation, but it streamlines it in a form that gives the developer what’s needed to do the work without getting bogged down in the details.
Customer collaboration over contract negotiation: Agile teams collaborate closely with customers throughout the project’s lifecycle to get an understanding of goals. The idea behind this Agile value is to avoid spending tons of time negotiating a contract that’s only going to change down the road.
Responding to change over following a plan: Agile values flexibility because plans inevitably change, and sometimes those changes can create issues. The Agile environment does everything to remove project issues by expecting and preparing for change from the get-go. Short iteration cycles make it easy to shift priorities and accommodate new requests without disrupting the entire plan.
It’s important to remember that Agile isn’t a process as much as a behavior. Agile values and principles focus on collaboration, iteration, and the ability to adapt to change.
12 Agile principles
Agile revolves around a set of 12 guiding principles. These Agile Manifesto principles are less about telling you what to do than giving you the ability to make a smart decision.
Satisfy the customer: Customer satisfaction takes priority and comes as a result of early and continuous delivery of valuable software.
Welcome change: It’s okay to change requirements, even late in development, as being open to change can give customers a competitive advantage.
Deliver frequently: Agile shortens time frames with the goal of delivering working software frequently—often in a matter of weeks vs. months.
Work together: Close, daily cooperation between business people and developers happens through the project lifecycle to ensure the product meets evolving goals.
Trust and support: If you build projects around motivated individuals and create a supportive environment for them, you can trust your team to do the work.
Face-to-face conversation: Face-to-face conversation is the clearest and fastest way to relay information, and colocation makes this easier for Agile teams.
Working software: Working software leads to happy customers and serves as the primary measure of progress in Agile projects.
Sustainable development: Maintaining a consistent and sustainable pace enables everyone to ship work at regular intervals indefinitely.
Continuous attention: Keeping a constant eye on technical excellence and good design paves the way for better agility.
Maintain simplicity: Simplify by maximizing the amount of work not done so you can get your product off the ground faster.
Self-organizing teams: Teams that are motivated and allowed to take ownership of a project produce the best architectures, requirements, and designs.
Reflect and adjust: Agile teams regularly reflect on how to get work done more effectively and adjust accordingly for continuous improvement.
Agile was developed for the software industry, so these values and principles relate most closely to development teams. That said, many other organizations and team types have adopted Agile methods with varying levels of success.
Industries that use Agile project management
Any industry that has some level of uncertainty can use Agile. Those may include, but are certainly not limited to:
If you’re new to Agile project management, you’ve probably heard of Scrum and maybe even wondered about the difference between Agile and Scrum.
The truth is, there really is no Agile vs. Scrum comparison. Scrum is simply one popular framework you can use to practice Agile development.
Let’s take a closer look at how the Agile process works when using Scrum as your framework.
How the Agile process works using a Scrum framework
The Agile principles and values are employed really well in the Scrum methodology. Scrum is the most widely used Agile development framework because it’s relatively simple to implement and there are a lot of resources and training programs available to help you understand the practice.
The Scrum method also solves a lot of problems software developers have struggled with in the past, such as convoluted development cycles, inflexible project plans, delayed production, poor collaboration, and more.
The Scrum team
In Scrum, the vision for the project and the priority of its features are determined by a product owner, who is closest to the product’s goals, stakeholders, and users. The work is done by a development team who’s 100% dedicated to a single project and works in short cycles called sprints.
Scrum teams are self-organizing and don’t need a traditional project manager. Instead, the team is led by a Scrum Master whose main job is to clear away all obstacles to work getting done more efficiently. The Scrum Master also facilitates all of the Scrum ceremonies, or meetings, to help guide the team through the process.
The Scrum process is made up of a series of events surrounding sprints. Sprints provide a structure for checking in on the work being done and pushing more frequent deliveries from the team.
Sprints are completed in 2-to-4-week cycles, and the ceremonies help structure the sprint by using a product backlog of features or user stories to direct the work being done.
The product backlog is essentially a list of all features or stories to be accomplished on the project. It’s typically owned by the product owner, who can set the priority of work to be done and even make decisions about work to be added or removed based on the needs of the user or client.
Let’s take a closer look at the Scrum ceremonies that help teams give sprints structure:
Sprint planning: A sprint typically lasts anywhere between 2 and 4 weeks, with the goal of delivering a working product (or part of it). Sprint planning enables the team to estimate tasks or stories and determine what work they’ll take on in the sprint backlog, which essentially serves as the task list for the next sprint.
Daily Scrum: This is a daily check-in where the team gets together to talk about what they worked on yesterday, what they’re doing today, and if there are any blockers in their way.
Sprint review: In this meeting, the whole team sits down with stakeholders to review or demo work done in the sprint and get feedback or approvals.
Sprint retrospectives: This is an important meeting where the team talks through what worked and what didn’t in the last sprint. Everyone commits to making changes together to improve communication, collaboration, and even deliverables to make future sprints go more smoothly.
Once the development team completes a sprint cycle, they start over and continue with the next priority, based on the prioritization of work waiting for them in the backlog.
Agile project management with Scrum is super-flexible. However, it does require a level of management and guidance to ensure teams are free of blockers and can continue to build on and improve products.
Additional Agile methods
While Scrum is the focus of this chapter, you should know there are other methods to explore and add to your Agile toolkit. Here are additional Agile methodologies you might consider:
Kanban: This visual approach puts time and resources aside and focuses on tasks. If you’ve used a tool that shows cards move through a progression of states to indicate where it is in process, you’ve used a Kanban board. The board allows teams to quickly point out and understand project obstacles, discuss them, and collaborate on ways to get past them.
Extreme Programming (XP): XP describes 4 basic activities that are performed in the software development process that allow for change and rapid revision: coding, testing, listening, and designing. Teams organize in shorter sprints and can immediately change the course of work being planned or executed.
Adaptive Project Framework (APF): With APF, you document project requirements, functions, subfunctions, and features before determining project goals. The team then operates in iterative stages rather than sprints, but stakeholders can change the project scope at the start of each stage. So, truly, you adapt to the project—and its people.
Agile methodology pros and cons
Now let’s break down the pros and cons of Agile project management. We’ll use Scrum as an example since it’s one of the more popular Agile methodologies.
Advantages of the Agile methodology
Here are the big key benefits you’ll find in Agile project management with Scrum:
Focus on quality: Because products are built collaboratively and tested during sprint cycles, the product has many eyes on it at all times. And the flexibility of the process enables teams to pivot and make a change for the better if something’s not working well.
Lightweight process: Scrum offers a light framework for helping teams work together. Lower-level documentation and collaboration through ceremonies means the focus is on rapid delivery and iteration.
Continuing evaluation and optimization: The measuring and evaluating of the work—and how it’s done—allows accurate and early visibility into the progress, or even problems, with a project. Plus, sprint reviews regularly open the door to act on feedback faster.
Reduced risk: Agile methodologies virtually eliminate the chances of absolute project failure—unless a team is just not performing well. But the fact that teams work in sprints toward releasing a working product means there is always progress. Even if that progress is open to change, a team is working toward goals set by the product owner.
High customer satisfaction: Because change is easy to adapt to in a Scrum framework, customers tend to be happy because they have a higher probability of getting what they want.
Agile method disadvantages
Despite its advantages, Agile’s not made for every team or project. Take these considerations into account to ensure Agile methods are a good fit for you:
Changing behaviors: Agile requires not only a project manager or team to buy into the values and principles, but the entire organization. And that can be difficult because change is hard for many people. In order to make a full “Agile transformation,” teams need to be trained and fully invested in the methods.
Understanding and embracing roles: Scrum roles are important, especially when it comes to the product owner and Scrum Master. And it can be tough to find trained individuals who can write user stories properly, manage conflicting priorities, and facilitate work successfully. Remember, training is necessary to make Scrum work well.
Lack of dedicated cross-functional teams: If your team is pulled in several directions or simply assigned to more than one project, they will not be able to dedicate themselves to a single project and the rest of their team. That will lead to a breakdown in process, collaboration, and team morale.
Collaboration: If your team doesn’t work in a space where they can freely meet and talk—or have the resources to do so remotely—you’ll end up in silos. And when that happens, the spirit of Agile breaks down.
Continue your learning
Now that you’ve got the Agile basics down, you’re ready to move on! Keep reading to learn how Agile and Waterfall methods compare to each other.