At a ski resort in the U.S. state of Utah, in February 2001, 17 software professionals who dubbed themselves “The Agile Alliance” came together to develop what they called a “Manifesto for Agile Software Development”. The document, which emphasizes four values and 12 principles, is now known as the Agile Manifesto.
While the individuals who met in Utah were not the pioneers of the agile principle in general, they did solidify the values that had been brewing for some time in the background in the software development world. Today, the agile methodology has permeated almost every industry.
To understand how the agile approach can be applied in the project management field and to traditional projects, we took some time to focus on what the methodology is all about.
We focus on the four values and 12 principles upon which the agile philosophy was built. We will also discuss the differences between the agile and waterfall approach, and consider some popular agile project management methodologies. Lastly, we name our top 10 agile tools of 2020.
In this article
What is the Agile Approach?
In project management, the agile approach is a product development process that takes an iterative approach to product delivery.
Rather than following a linear path as other project management methodologies might, the approach encourages being responsive and adapting to changes that may occur at any point in the project life cycle or within a development cycle.
The agile and waterfall (or traditional) approaches to project management differ primarily in their structure. This primary difference is outlined by the Association for Project Management (APM), which notes that while the waterfall approach will “treat scope as the driver and calculate the consequential time and cost,” agile “commits set resources over limited periods to deliver products that are developed over successive cycles.”
There are four core values that differentiate the agile approach from traditional project management approaches:
- People are the most important stakeholders in the agile rulebook, not the processes and tools used in completing a project.
- Agile is client-centric. It prioritizes the achievement of results as opposed to rigidly sticking to contracts.
- Agile is an extremely responsive approach, favoring flexibility over rigid structures in general.
- Agile places a premium on problem-solving over record-keeping.
Key Components of Agile
To ensure that people are the most important stakeholders and that clients are engaged, the agile project management approach subscribes to five primary components:
User stories: In line with its customer-centric approach, agile uses a short outline written from a client’s perspective to estimate how much work needs to be done and what the final product should look like.
Sprints: In agile, development work is carried out in short cycles called sprints, usually lasting one to three weeks. Teams plan the work to be carried out within each Sprint, presenting and reviewing and planning at the end.
Agile board: Can be a physical board or a project management software function used to keep track of team progress.
Backlogs: Are outstanding deliverables in the system. In the sprint planning process these are moved into the sprint, often referred to as the product backlog.
The 12 Fundamental Principles of Agile
When the software professionals, who met in 2001 in Utah, created the Agile Manifesto, they introduced the 12 principles and agile values that still underpin today’s philosophy:
- Customer satisfaction through delivery of value, done consistently, and at the right time.
- Embracing change, no matter when it comes during the development process, and harnessing this change for the customer’s benefit.
- Delivering projects frequently, while ensuring that the shortest time possible is spent completing a project.
- Daily collaboration among all relevant stakeholders is a necessity, including customer collaboration.
- An enabling environment built on trust and support is necessary to keep individuals motivated to build projects.
- Have face-to-face conversations whenever possible, as this is the most effective means of communication.
- Success is measured by having a final working product or working software.
- Agile processes spur sustainable development. All team members must maintain a consistent pace indefinitely.
- Consistently focusing on sound design and technical excellence enhances agility.
- Simplicity – doing the most with the least amount of effort – is imperative.
- Requirements are met, and the best architectures and designs are birthed through self-organizing teams.
- Frequent introspection on how to become more efficient, with behavioral adjustments to boot, are necessary for teams.
Popular Agile Methodologies
We discovered that there are over 50 agile methodologies. This implies that even though we can talk about an “agile methodology,” the reality is that the concept means different things to different people.
By the term methodology, we refer to the system or strategy used by a development team or project team that follows the agile approach. Here are some of the most popular agile methods:
Scrum is an agile framework that uses sprints and daily meetings (also known as Scrum ceremonies) at intervals to address distinct portions or a set amount of work within a project during its life cycle. There are three leading roles in Scrum: the Scrum master (the leader), the product owner (who could be the client), and the scrum team members (the individuals developing the product).
The Kanban method is based on the visual display of current tasks, future tasks, and completed tasks on a kanban board. The visual display’s main advantage is that it assists agile team members not only in seeing where their tasks are, but also other tasks related to their project.
Learn about how to use Kanban for project management here.
As the name implies, the lean development method aims to keep a project trimmed by discouraging waste. This helps to keep the system clutter-free while improving the flow of value. Other popular methodologies with agile practices are eXtreme Programming, Crystal, Scrumban, and the Dynamic System Development Method (DSDM). There are even some advocates of agnostic agile, a framework that prioritizes what’s best for the software development project, rather than a specific agile methodology.
Primary Steps in Agile
Even though diverse teams may implement the agile approach differently, some necessary steps should be included:
Planning Projects and Creating Product Maps
All stakeholders need to understand the goals and values of a project by the time the project begins. Elements that need to be understood include the scope of the project and its various components. This is achieved by creating a roadmap that will contain all the deliverables needed to create the final product.
The daily stand-up meetings are for team members to discuss the previous day’s achievements and the plans for the present day. If there are any delays anticipated, the team deals with such issues in these meetings.
Usually, the team holds two meetings at the end of each sprint. The first meeting involves all the individuals in the project so that the finished product can be presented. A second meeting (sometimes known as a sprint retrospective) seeks to evaluate the sprint by looking at each sprint’s strengths, weaknesses, and remedies.
Benefits of Agile PM
The APM notes that the agile approach’s main advantage is that it “concentrates on empowered people and their interactions and early and constant delivery of value into an enterprise”. The same association lists other benefits:
- Builds engagement between clients and end users and supports organizational culture change
- Reduces waste, allowing for a lighter weight framework
- Greater flexibility, thus enhancing project control
- Quicker turnaround and rapid detection of issues
- Enhances accountability and diversity of ideas
Things to consider when delivering projects in Agile
Agile is great for all the reasons listed above. However, when considering Agile for your approach, there are a couple of things to be mindful of:
- Estimation – as Agile is based on the premise that teams won’t always know what the end product will look like, it can be difficult to accurately predict the cost, time, or resources needed at the beginning of a project.
- Keeping track of goals – whereas on one hand agile provides refreshing flexibility, it can be hard to keep track of progress.
- Maintaining collaboration – while Agile fosters greater collaboration between teams both internally and externally, this approach does require considerable and continued commitment from all stakeholders.
Of course, the above can be mitigated by having an experienced, committed team well as by using the right tools.
The Top 10 Popular Agile PM Software
If the idea of agile project management appeals to you, you may want to try some of the best agile tools we could find on the market. To develop this list, we took some time to look at what each tool promises about agile project management and what reviews from users are saying:
The developers of the Jira Software say that their product was developed to help project managers “plan, track, and release great software.” It provides real-time visual data that can be used to generate reports. It can also integrate with other workspace tools, such as “Confluence, Bitbucket, and hundreds of other developer tools.”
SprintGround highlights three tracking capabilities and three management tools as its main features. Issue and bug tracking, time tracking, and development progress tracking are SprintGround’s headline tracking features. The management department offers task management, collaborative real-time communication, and a feature that helps organize ideas and feedback.
VersionOne is a project management tool used for both tracking and maintaining records. It’s designed to follow the phases of the agile process, allowing users to have an idea of the backlogs. It also allows them to evaluate the sprints and create reports.
The Trello interface is simple, allowing users to view all the information about a project at a glance using Trello cards. Trello also has an automated system called Butler, which helps to “remove tedious tasks from your to-do lists.”
Monday.com calls itself “the project management software for productive teams.” For teams following the agile approach, it offers templates like a project tracker, a project roadmap, cross-departmental project tracking, and resource management.
Asana provides users with a list view for organizing and assigning tasks, a timeline for managing schedules, and boards that the developers of the software tool say “make it easy for your team to focus on tasks currently at hand.”
According to the developers of the Zephyr Project Manager, it helps teams “set deadlines, set and share details, and create projects all in one place.” Team members can also collaborate by leaving comments and attachments, or checking where the different phases of a project are at any given time.
One of the reasons why nTask is on this list is that it has excellent features but still comes free. The tool allows for visualization of project plans using Gantt charts. It shows how the projects are related to each other, budgets, and milestones.
ProofHub promises teams that it will allow them to “easily plan, collaborate, organize and deliver projects of all sizes, on time, using one project planning software with all the right tools put in one place.”
LeanKit is a project management tool from Planview. It promises to help teams “apply lean management principles to their work, helping them work smarter and deliver faster”.
Where do you stand on the agile vs waterfall debate? What’s your favorite agile methodology? Let us know in the comments!
Subscribe to the DPM newsletter for more on all things agile in project management.
Related List of Tools: Wrike Competitors And Alternatives
Check This Out: My Organization Has Gone Agile: How To Make The Transition