What is Agile Methodology and How Does it Work in Project Management?
Folk wisdom advises us “never to answer a question with a question.” However, there are times when it is helpful to break this rule, because in order to grasp an important point we first need to step back and take a look at the bigger picture – and this situation qualifies.
And so, before we can dive into answering “what is agile methodology and how does it work in project management?”, let us briefly shift our perspective on a more fundamental issue: “what is meant by agile methodology?”
Methodology & Mindset
Although Agile is widely referred to as a methodology, this is more of a practical convention than a precise label – because at its core, Agile is not exclusively a methodology. Rather, it is also a mindset that is rooted in four core values and 12 principles (which we will look at in a moment). These fundamentals are captured in the Manifesto for Agile Software Development, which was created by the Agile Alliance: a global non-profit member organization that supports people and organizations that explore, apply and expand Agile values, principles and practices.
The Four Core Values of Agile
- Individuals and interactions are emphasized and prioritized over processes and tools.
- It may seem surprising that a paradigm that grew out of the software development space (but has since been applied in other areas) would make enabling individuals and facilitating interactions its number one value. However, this is precisely what the Agile Alliance wanted to establish: that while processes and tools are important and increasingly influential, they should not limit or degrade the human element. In other words: processes and tools should serve Agile teams, and not the other way around.
- Working software is emphasized over comprehensive documentation.
- The purpose and message of this core value is to prevent organizations from overloading developers with tasks that shift resources and attention away from what truly matters: building software that works.
- Of course, documentation is still important. However, it is relatively less vital than working software. Organizations that lose sight of this principle discover – and usually sooner rather than later – that they are impeding and undermining their Agile efforts.
- Customer collaboration is emphasized over contract negotiation.
- Effective and efficient collaboration with customers is vital in Agile. When issues and challenges happen (and they will most certainly emerge!), the most practical and wisest approach is to try and find common ground.
- Responding to change takes priority over following a plan.
- This is one of the biggest departures from traditional project management. Historically, change was seen as a risk or threat to be avoided. However, in Agile change is embraced and exploited. The plan serves as a foundation, but not necessarily a step-by-step instructional manual.
The 12 Principles of Agile
According to the Agile Alliance, the 12 principles of Agile are
- The highest priority is to satisfy customer expectations. This is done through early and ongoing delivery of working, valuable software.
- When it is strategic and enhances a customer’s competitive advantage, adapting to changing requirements is welcomed rather than resisted – including in later stages of development.
- Rather than delivering finished software at the end of a project, the focus is on frequent delivery of partially-completed (but as noted above working and valuable) software on a frequent basis. The preference is for shorter rather than longer timescales.
- Agile team members cannot work in silos. They must coordinate and, if necessary, collaborate throughout the project.
- Successful Agile projects are fueled by motivated and engaged team members, who have a suitable environment and sufficient support and resources to complete their respective tasks in a competent and timely manner.
- Direct communication (face-to-face or virtual) is generally the most effective and efficient method.
- The primary metric of progress is the final product.
- All team members should be able to maintain a constant pace for an indefinite period of time. This cannot happen if they are overloaded with tasks and/or burdened with impractical and unreasonable deadlines or other expectations.
- Agility is enhanced by ongoing focus on technical excellence and exceptional design.
- Simplicity – which is defined as the art and science of optimizing the amount of work that does not need to be done – is essential for success.
- Self-organizing Agile teams are best positioned and equipped to create the best work.
- At periodic intervals, Agile teams should reflect and analyze how they can become more effective and efficient, and adjust accordingly.
What is Agile Methodology in Project Management?
Now that we have looked at the fundamental values and principles of Agile – otherwise known as the Agile mindset – we can explore what is Agile methodology in project management.
Essentially, Agile project management is an iterative and incremental approach to achieving business objectives (i.e. the product of the project).
- An iterative approach means that more information about the project – its risks, opportunities, and other variables – come to light as the project moves forward. This is significantly different than the conventional (i.e. waterfall) project management approach, in which a robust plan is developed in advance of execution. Of course, change is often necessary due to unforeseen events (usually negative, but sometimes positive). However, the objective is to stick as closely to the plan as possible and avoid any major deviations.
- An incremental approach means that rather than having a long execution phase, work is completed in short, highly-focused stages. These are called sprints. While there is no standard or rule that states how long each sprint should be, generally speaking they last between one and three weeks. We will explore sprints further in the next section.
What is the Agile Methodology Process?
While different organizations – and sometimes various teams within the same organization – have the flexibility to customize the agile methodology that works best, generally there are four major steps in the process:
1. Project Planning
As mentioned above, Agile project planning is less robust than conventional project planning. This is not because project planning is unimportant in Agile – because it most certainly is. Rather, it is because Agile projects embrace rather than resist ongoing change. What’s more, since agile projects are inherently iterative, spending an excessive amount of time in the planning stage may be theoretically appealing but practically counter-productive, since some (or perhaps much) of what was anticipated does not turn out to be applicable.
A big piece of the Agile project planning puzzle is a user story. This is a high-level overview of a work request, and provides the Agile team with enough information to develop a functional estimate of the effort, resources and time required to achieve the request. The reason this document is called a user story, is because it is crafted from a user’s perspective, and highlights what they want to accomplish and why.
Another major part of Agile project planning is creating a product roadmap, which is a breakdown of all product features. These features will then be used to create the product backlog.
2. Sprint Planning
The next major step is to plan each sprint. If possible, each sprint should target one feature in the product backlog. If this is not possible – because a feature is highly complex or due to some other factor – then the focus can be on an aspect of a feature.
It is extremely important to ensure that team members are not overloaded with tasks, or are expected to comply with unreasonable deadlines. If this happens, then a phenomenon known as “sprint fatigue” can occur, which is a precursor to disengagement, burnout and turnover. Establishing work-in-progress (WIP) limits can help prevent this costly scenario, and using an effective task management tool to visually document workflows and resources is a must.
3. Execution and Daily Stand-Ups
Once the plan, backlog and sprints are in place, it is time for the “rubber to hit the road” and the Agile project to begin. During the execution phase, on a daily basis team members share what they did the day before, what they plan to do today, and any issues or challenges they have experienced or anticipated. These sessions are called “stand-up” meetings, because the idea is to keep them short enough (usually 10-15 minutes) so that team members could, if they wished, remain standing throughout.
On some projects, stand-up meetings may not be held daily. While on others (such as those that are troubled) there may be more than one stand-up meeting each day. Ultimately, the function of these meetings is to share information in the most efficient manner possible. Too few meetings can lead to errors and assumptions, while too many meetings can lead to frustration and bureaucracy.
4. Reviews and Analysis
After each sprint there are two meetings. The first is to review the product with relevant stakeholders (typically the product owner and possibly the customer as well). The second is to analyze the sprint and identify opportunities for future improvement.
Overall, both of these meetings also help build a trusting relationship between the Agile team and the customer/product owner, and keep the lines of communication open. Since Agile projects are so fast-paced and there is constant change, the strength of this relationship plays a significant role in whether the experience is a success, or whether it is a struggle.
Roles on Agile Teams
Generally, there are four main types of roles on Agile projects:
- The Agile team members, who carry out the work in each sprint.
- The Scrum Master, who ensures that each sprint is focused, and that team members have the resources they need. The Scrum Master also helps prevent people outside the team from interfering.
- The product owners, who represents the expectations of the customer and plays a key role in defining the objective of each sprint, as well as prioritizing the product backlog.
- The stakeholders, who need to be informed of project progress and developments.
What is Agile Methodology in Software Development vs. Other Areas?
Since Agile project management emerged in the software development world, it is typically discussed in that context – for example, referring to “features” in a product backlog or “programmers” on an Agile team. What’s more, the Agile values and principles that we explored earlier are clearly tied to software development (e.g. “working software is emphasized over comprehensive documentation”).
However, Agile project management can be very successfully applied in many other areas such as marketing, construction, professional services, and more. Remember: Agile is not just a methodology, it is also a mindset!