Agile project management is on the rise. Agile methodologies are applicable to all sectors. More and more businesses are adopting agile techniques as the default way they manage projects and deliver change.
It’s easy to see why. One of the characteristics of agile projects is that there is constant collaboration with stakeholders and a focus on iteration. Being an agile project manager means delivering on an iterative basis, demonstrating value at every point to ensure the end result is exactly what the customer wanted.
Predictive methodologies will always have their place, and whether you are new or experienced at agile project delivery, we have resources to help.
Article Contents
- Agile Methodology Featured Podcast: The Agile Practice Guide
- What is Agile Project Management?
- Core Values and Principles of Agile
- Agile versus Waterfall Methodology
- Benefits of Agile Project Management
- Agile Project Management Frameworks
- What is a User Story in Agile?
- Agile Metrics
- How to Choose the Best Agile Project Management Software
- Agile Project Management Best Practices
- PM Podcast Episodes on Agile Methodology
- Summary
Agile Methodology Featured Podcast: The Agile Practice Guide
Listen now to this featured Podcast on Agile Methodology.
What is Agile Project Management?
Agile project management is an iterative way of delivering a project by breaking it down into smaller chunks of work. Each chunk delivers something of value to the customer. The team works in a highly collaborative partnership with the customer to achieve fast, frequent deliveries.
Agile project management follows a cycle of planning, delivery and review. It provides a framework to respond to change, making it a fantastic way to approach projects in a complex and uncertain environment.
So why is it called 'agile'? The team at The Agile Alliance explain it like this:
The authors of the Agile Manifesto chose “Agile” as the label for this whole idea because that word represented the adaptiveness and response to change which was so important to their approach.
Core Values and Principles of Agile
Four Core Values from The Agile Manifesto
-
Individuals and interactions over processes and tools
-
Working software over comprehensive documentation
-
Customer collaboration over contract negotiation
-
Responding to change over following a plan
Just to be clear: the authors of the Manifesto were not saying that the items on the right were unnecessary in project management. Instead, they were making the point that they valued the items on the left more.
What does it mean to work to those values? Let's review how you can put them into practice in your workplace.
-
Individuals and Interactions Over Processes and ToolsAgile ways of working value people and the relationships people have with each other over software and formulaic ways of getting things done. People can respond to change and drive the process in a more aligned way than any tool could. Communication and empowerment within the team is important for issue resolution and ownership.
-
Working Software Over Comprehensive DocumentationAgile values documentation, but it values working software more. This approach ensures the team focuses on delivering something for the customer, instead of getting tied up producing paperwork. It is important to record what has happened and produce documentation, but many teams take a 'just enough' approach. Historically, some project management methodologies have been criticized for being overly bureaucratic, which is something all Agile approach strive not to be.
-
Customer Collaboration Over Contract NegotiationWorking in partnership with the customer is crucial. In a predictive project environment, contracts often include a long period of negotiation where exact requirements are documented for delivery. Iterative projects don't require that because you can add to the requirements list as the project progresses. This flexibility means the customer gets exactly what they want because they are involved every step of the way.
-
Responding to Change Over Following a PlanAgile methods value being responsive to change and ensuring the work aligns to current business priorities. You will still have and use an agile project plan but deviating from that is necessary and welcome if it gets you closer to what the customer values. The iterative nature of product development means the impact of changes is typically less than in a waterfall project. If you make a change late in the life cycle of a project taking a predictive approach, it can cost a lot and involve a lot of rework. That doesn't happen with Agile as the project scope is iterated as necessary during the development.
12 Agile Principles
-
Satisfy the customer through early and continuous delivery.
-
Harness change for the customer's competitive advantage.
-
Deliver a working product frequently.
-
Work together daily throughout the project.
-
Build projects around motivated individuals who have the environment, support and trust they need to get the job done.
-
Work face-to-face wherever possible.
-
Consider a working product as the primary measure of progress.
-
Promote sustainable work so the team can work at a consistent pace.
-
Pay continuous attention to technical excellence and good design.
-
Simplify wherever possible.
-
Create self-organizing teams.
-
Reflect on how to become more effective, then adjust accordingly.
Agile versus Waterfall Methodology
In the past, agile methodologies were commonly seen as reserved for software projects, with other projects using waterfall or predictive methodologies. A waterfall way of working requires a full project brief upfront so everyone knows what the end product looks like, and a sequential set of steps to work through.
Today, practitioners from almost every industry and vertical have adopted agile and iterative principles and agile is no longer seen as exclusive to software development. It’s possible to think in an adaptive and flexible way, respond to change quickly and meet the needs of your customer (even if those needs change regularly) on almost any type of project. In fact, the agile vs traditional project management debate is fading as project teams from all industries acknowledge that finding an approach that works for them, their project, the team and the client is more important than rigidly sticking to one way of working.
Let's look at a quick comparison between Agile vs Waterfall project management.
Agile
-
Build the product iteratively
-
Respond to changes in priority by shifting the order that requirements are looked at and built
-
Team works collaboratively with a lot of input from the customer to ensure the end result is fit for purpose
Waterfall
-
Elicit and document all project requirements in advance
-
Design and build the project requirements in the planned order
-
Easy to see the big picture timescales and predict final cost for the effort
- Teams create a plan for what is to be done
- Teams have to estimate the work required
- Teams report on progress
- The product is tested
- Teams review lessons learned.
-
Teams create a plan for what is to be doneIn both methods, teams create a project plan for the work they are going to do. In Agile, the team has a backlog of requirements. Each iteration is planned in turn, drawing priority requirements from the backlog. In Waterfall projects, the team defines the requirements at the beginning with the customer and then delivers them during the project execution phase.
-
Teams have to estimate the work requiredYou can't plan the workload for the team if you don't know how long each individual task will take. Both approaches require subject matter experts to estimate task duration so the work can be accurately planned and scheduled.
-
Teams report on progressExecutive managers still want to know what's going on, regardless of what methodology you are using to deliver their project! There are different ways to report progress, from the burndown charts used in Scrum to a monthly project report. Today, many PMOs support both iterative and predictive teams and require reporting from each.
-
The product is testedAgile is not a shortcut to pushing out a product that hasn't been robustly tested. In fact, because testing in baked into the schedule for each iteration, you could argue that there is more time for testing than in a Waterfall project. In our experience, if a Waterfall project is running late, testing is the part of the schedule that gets squeezed. Either way, testing is important to both approaches because we all want the customer to get a quality product.
-
Teams review lessons learnedAgile teams discuss lessons learned and opportunities for improvement in the retrospective meeting. This is normally held at the end of every iteration and is an opportunity to discuss what worked and what didn't go so well. Traditionally, Waterfall methodologies have only required project managers to hold a lessons learned meeting at the end of the project. It benefits every type of team to reflect on their achievements and also consider what could be improved for next time.
Benefits of Agile Project Management
Now you know the background to Agile and some of the fundamentals, let's look at why you should consider using these approaches to managing your projects. Here are the benefits of using iterative project management methods.
-
Helps manage scope uncertainty
-
Encourages continuous improvement
-
Increases project control
-
Boosts efficiency across the team
-
Delivers a high quality product
Yes, Agile methods really do offer these benefits! Let us prove it to you by explaining how your team could benefit from making the shift to a more iterative way of working.
-
Helps manage scope uncertaintyThe flexible and iterative nature of agile ways of working make agile methodologies perfect for environments where the requirements are not fully known at the beginning of the work – or they are known but are likely to change. As the team defines what features are worked on next, they can build the solution based on the customer’s priorities and what will deliver the most value at any given point. Each iteration brings the vision closer, but still leaves the project open to change and evolution as required.
-
Encourages continuous improvementAnother feature of the agile methodologies used by teams is that they include a reflective element. Whatever formal Agile approach you take, the team is encouraged to carry out retrospectives to consider what worked, what didn’t and how they could adapt their working practices to be more effective going forward. There’s a culture of continuous improvement which supports both the product being delivered and the way the team works to deliver it.
-
Increases project controlProject managers coming from a more traditional context will appreciate this! If you ever thought Agile was a 'dive in and just get started' way of doing work, then think again. Short time-boxed work periods and detailed planning to select just the right requirements for each iteration means you have a lot of control over what is done and how it is carried out.
-
Boosts efficiency across the teamAgile teams are characterized by their highly collaborative ways of working. They are also known for tracking and managing work visually because transparency is valued. As a result, the team naturally becomes more efficient. The daily standup meeting encourages team members to talk to each other about what they have been doing and where they are stuck. Together, the team is a powerful unit with a common goal, everyone pulling in the same direction to complete the iteration and showcase their work to the client.
-
Delivers a high quality productWaterfall teams work with the customer at the beginning but typically do not engage much with them during the development phase. The exact opposite is true in an Agile team. The Product Owner is the role responsible for representing the views of the business and ensuring the end result is what the customer wants. They are involved throughout the project and they take a hands-on role in the team during iteration planning and review. This close working relationship with the customer means the product is not only high quality but also a perfect fit for the business' needs.
Agile Project Management Frameworks
There are a number of common agile frameworks. They all share common characteristics that include delivery on an iterative basis and a strong collaborative approach across the whole team. Whatever agile project management training you do, you'll find the methods share much in common although they do have unique differences that allow you to adapt to the needs of the project and organization.
Agile project management tools and techniques allow you to work collaboratively as a team. Teams are often self-organizing, meaning the team works together to determine priorities. The backlog is the list of work still to do, and backlog grooming helps the team identify what should be worked on next.
So what are these frameworks? Common frameworks and approaches for implementing agile management include:
-
Scrum
-
Crystal
-
Dynamic Systems Development Method (DSDM)
-
Feature-Driven Development (FDD).
Scrum
Agile project management with Scrum is one of the most common Agile frameworks. Scrum project management aims to deliver products and change by releasing incremental improvements and functionality on a regular basis, often during a two- to four-week agile sprint.
The Scrum framework started out as a way of building software systems. The application of Scrum is frequently seen in development teams because it lends itself to incremental delivery over short, iterative cycles, following clear agile methodology steps. However, this way of working is growing in popularity for other industries as well due to the benefits and streamlined approach to project delivery.
More and more project managers are adding Scrum Master to their list of certifications. If you're involved in this type of project, Scrum project management certification would be something to look at for your career.
Crystal
Crystal is a lightweight approach to development and again has roots in the software industry. The Crystal family of methods focuses on how teams can optimize and adapt their processes to deliver something of value to the customer.
The big differentiator for Crystal is that it’s a collection of agile practices grouped in several methodologies. You select the most appropriate approach based on the size of the team and criticality and priority of your project. The larger the team, the bigger the expected product at the end, and the higher the criticality of the project, the more you need to follow the appropriate agile methodology steps and apply structure to the work.
Crystal is an approach developed by Alistair Cockburn. The method for leading the smallest project is outlined in his book, Crystal Clear.
Dynamic Systems Development Method (DSDM)
The DSDM Framework has been around for longer than we’ve been using the term ‘Agile’ to describe iterative, solution-led delivery methods, and it’s a proven framework for project management. It has a strong focus on collaboration and business alignment for projects. In common with other agile workflows, it promotes frequent, iterative development and empowering the team for success.
The unique feature of DSDM is takes a different approach to governance and project control and wraps 'being agile' into a project life cycle that looks more familiar to those managers coming from a Waterfall background.
Feature-Driven Development (FDD)
Where Scrum focuses on delivery, FDD focuses on features, as you might expect from the name! Where Scrum has user stories, FDD has features. The focus on value for the customer is the same.
FDD is structured and scalable. A feature list is created and then planning, design, build and test is completed for each feature. Each feature contributes to the overall model or final product that the customer is expecting.
FDD is a lightweight method mainly considered for software development projects. Jeff De Luca is considered to be the architect behind the FDD approach back in 1999, although others have contributed to its evolution over time.What is a User Story in Agile?
The Importance of User Stories
User stories are important because they put people first. They help the team focus on why they are building something and who they are serving, instead of the technical or feature components.
User stories talk about the outcome or goal: the "why" behind a feature. This approach means the customer's experience is always a top consideration for the development team.
How to Write User Stories
- The person, persona or role
- What they want
- Why they want it.
As [person/role], I want [goal] so that [reason].
-
As a student, I want to learn online so that I can study Agile around my work.
-
As a customer, I want to order online so I don't have to go to the shop.
-
As a manager, I want to see my employees' personnel records ordered alphabetically so I don't have to search for them.
Agile Metrics
-
Velocity
-
Lead time
-
Cycle time
-
Stories committed vs completed
-
Value delivered
-
VelocityVelocity measures the average amount of work done by the team during an iteration. You'll see it measured in hours. Think of velocity as a measure of efficiency. The more work a team can get through, the more they can deliver in each iteration. Velocity tends to improve over time as the team gets used to the cadence of the project and working together.
-
Lead timeLead time is the duration between the customer making a request and it being completed. This is a helpful metric as it gives you an idea of how quickly the team is turning around requirements and how long the customer is going to have to wait before they see something. It also gives you a precise measure of how long it took to deliver each feature.
-
Cycle timeCycle time measures how long it takes for a feature to move from 'started' to 'done'. Obviously some stories are going to take longer to work on than others depending on their complexity. Cycle time is a useful measure because it helps you predict how long you need to complete work and informs your estimating.
-
Stories committed vs completedThis is a useful measure of how realistic the team is when it comes to estimating! Track how many user stories the team thought they would be able to deliver in an iteration and then compare that to what was actually delivered when the iteration completes. As a Scrum Master or agile project manager, you can use that information to guide the team's planning at the next iteration. Make sure that any incomplete stories are carried over (if they are still appropriate) and help the team understand what is a realistic workload for the next iteration.
-
Value deliveredValue is an abstract term, as what is valuable to one customer might be irrelevant to another project stakeholder. However, it is an important feature of Agile to focus on delivering high value to the client. We do that through prioritizing requirements and giving each feature a value. Ideally, the team should plan to work on the most valuable features first so the customer has a usable, useful product as early as possible. Track value by adding up the 'value points' assigned to each feature and ensuring that you are consistently adding value at each iteration.
How to Choose the Best Agile Project Management Software
-
Remote team support
-
Backlog planning and management
-
Progress tracking
-
Collaboration features
-
Workflows for review and approval
-
Remote team supportHistorically, agile teams have sat together and worked in the same location, but that is becoming less of a requirement and more of a nice to have today. Your agile project management tool needs to be able to support remote and distributed teams. For example, you all need to be able to log in and see your work for the day with the right level of security permission for each role.
-
Backlog planning and managementThe backlog can be considered the source of all the work, so you need somewhere to store product requirements and user stories. Make sure your software has an easy-to-use repository where you can track the priority of backlog task and easily move them into the current sprint.
-
Progress trackingTeam velocity depends on knowing how much you have done, so progress reporting is a must have feature. Look for software that offers a range of reports out of the box, like burndown charts.
-
Collaboration featuresA core principle of agile methods is being able to work together collaboratively. Your software should facilitate that. Consider a tool that has discussion forums, commenting on tasks, document sharing, audit trails and the ability to work on the same task at the same time.
-
Workflows for review and approvalSome agile tools will have a workflow feature, where you can assign tasks to someone, and they can accept the task and work on it. Then they can assign the task to someone else for review or approval. Automated workflows help the team stay on top of tasks and also reduce the amount of email requests as people try to move their tasks on to the next step. Automation can save a lot of time. You can also look for features that notify and alert team members when something changes or tasks are assigned to them.
Agile Project Management Best Practices
-
Develop iteratively
-
Collect continuous feedback
-
Hold daily standups
-
Focus on value
-
Choose the right methodology
-
Iterative developmentWorking iteratively means building your product in stages. Each stage adds more functionality and features. Each iteration covers a small, manageable deliverable that adds value so ultimately the whole product is delivered. Check that your team is working in short time-boxed sprints, and that there is something tangible and complete delivered at the end of each one.
-
Continuous feedbackAgile retrospectives give the team the chance to reflect and improve their practice. During the review, the team considers the agile methodology steps, the actions taken and what could be done differently. Then they prioritize making changes to work efficiently and effectively. Check that your team has a way to capture feedback and that all voices are heard.
-
Daily standupsAnother way of gathering feedback is the daily standup meeting. The team gets together for a short time each day to talk about what they are doing and what issues they are facing. This makes sure everyone has the latest information about the project and can work together to overcome problems. Put the daily standup meetings in your team's calendar now and make them non-negotiable.
-
Focus on valueThe team agrees what features will add the most value, working collaboratively with the Product Owner and other customer representatives. The focus on value helps prioritize requirements so the most important features get the attention they deserve. Keep asking yourself: Is this going to add value to the customer and get us closer to the Product Owner's goals?
-
MethodologyThe Agile project management methodology helps the team stay on track. You'll choose the right approach for your project, and it's important to understand how the method works so you can adopt it in the most appropriate way. Critically review the choices you have made about how to deploy Agile in your work environment. What else could you do to make your agile methodology steps even more useful and relevant?
I think most people are at least now vaguely familiar with the Agile manifesto. It talks about valuing things like individuals’ interactions, collaboration with the customer, delivering working software. But what does it mean when we overlay that with the Large Enterprise aspect? When we’re talking about scaling Agile we see a really diverse set of system users interacting with the data. More complexity comes out when we try to scale Agile beyond just one team working by themselves or even a couple of teams working by themselves.
PM Podcast Episodes on Agile Methodology
How to Integrate Risk Management into Agile Projects
More Projects Are Using Agile Than Ever
How to Write Excellent User Stories
How to Pass the PMI Agile Certified Practitioner (PMI-ACP)® Exam
Summary
Agile methodologies help you get closer to customer requirements and truly understand the impact of the changes you are making. Working in an agile way often leads to faster, better outcomes, more team engagement, higher customer satisfaction and the knowledge that you are making a real difference.
There are lots of Agile tools, techniques and practices to choose from. Our expert interview guests will break down the topics and help you adapt agile methodologies to suit your own organization.