Agile is an increasingly popular project management style that is based on the principles expressed in the Manifesto for Agile Software Development. This document was created at a ski resort in Utah in February 2001 by 17 software developers searching for an alternative to the documentation-heavy software development processes in vogue at the time.
The 17 signatories declared that they value:
- Individuals and interactions over processes and tools – Tools and processes are important but having competent people working together effectively is more important.
- Working software over comprehensive documentation – While documentation plays a useful role in teaching people how software is built and how to use it, the purpose of development is to create software, not documentation.
- Customer collaboration over contract negotiation – A contract has value but is no substitute for collaborating closely with customers to discover what they need.
- Responding to change over following a plan – A project’s plan must be able to accommodate changes in technology or the environment, stakeholders' priorities, and people's understanding of the problem and its solution.
The 12 key principles of the Agile Manifesto are:
- Satisfying the customer through early and continuous delivery of value is the top priority.
- Changes to requirements are always welcome, even late in development, as changes can be harnessed for the customer's competitive advantage.
- Deliver working software frequently, preferably in a couple of weeks.
- Businesspeople and developers must work together daily throughout the project.
- Projects should be built around motivated individuals who are given the environment and support they need to get the job done.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development, allowing the sponsors, developers, and users to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity (minimizing the amount of work to be done) is essential.
- Self-organizing teams produce the best architectures, requirements, and designs.
- The team must pause at regular intervals to reflect on how to become more effective, and then adjust its behavior accordingly.
How is Agile Project Management Defined?
Agile Project Management is an iterative, adaptive project management method focused on rapid change and the quick and continuous delivery of benefits to the customer.
Segments of work are released as they are completed, providing the customer with early, measurable ROI. Flaws are identified and fixed as they arise to decrease the possibility of the entire project failing.
What is Agile Project Management Methodology?
Agile projects are broken down into small pieces which are prioritized in order of importance by a person known as the product owner.
The work is completed in sessions called sprints. These sessions run from the initial design phase through to testing and quality assurance and can last anywhere from a few days to several weeks.
Feedback is continuously gathered from users and stakeholders, and the team must respond quickly to any changes in requirements.
Agile projects are not required to have a Project Manager as this role is distributed among the members of a self-organized team who practice daily collaborative working. However, PMs are frequently used for large and complex Agile projects.
Planning is integrated with execution as the team decides how to plan the project and how to complete the work. The team works incrementally, continuously evaluating the requirements of the project.
At regular intervals, the team reflects on how they can become more effective by saving time and cost, then makes the necessary adjustments.
Instead of tracking their progress with Gantt charts and project milestones, the team measures its work using velocity, burndown, and burnup charts.
Customers are in continuous communication with the team and are closely involved throughout the product development cycle.
What are the five phases of Agile Project Management?
An Agile project management process can be performed using a variety of different methods including Scrum, Lean, and Kanban.
The process comprises five phases:
- Envision – In this phase, the needs of the customers are identified, and the project and overall product are conceptualized. Stakeholders and team members are identified.
- Speculate – The initial requirements for the product are created. Team members devise a list of the final product’s features and identify milestones on the project timeline.
- Explore – Teams work on single milestones, exploring alternative ways to meet requirements and iterating before they move from one milestone to the next.
- Adapt – Results are delivered and then reviewed, with the team adapting as needed. Changes or corrections are made based on customer and staff perspectives.
- Close – The results are measured against the project’s updated requirements. A review is completed to identify how mistakes or issues in the process can be avoided in the future.
What are the advantages of Agile Project Management?
Unlike traditional linear project management methods where benefits are only released to the customer at the end of the process, Agile unlocks value early on and incrementally. Customers can see constant progress in their projects with each completed sprint.
The risk of the customer being unsatisfied with the final product is reduced as the team has the flexibility to respond promptly to changing requirements.
Agile promotes a culture of continuous improvement and accountability. Team members are deeply engaged in the process through daily sprint meetings and are encouraged to share their ideas.
The culture of continuous improvement means product issues or defects are detected early. This continuous integration and testing results in a higher-quality product.
What are the disadvantages of Agile Project Management?
As constant interaction between the customer and the team is required, Agile requires a lot of time and energy from everyone who is involved in the project.
In Agile, collaboration, and conversation replace much of the documentation that traditionally siloed teams rely on to share information and chart progress. While this cuts down on busy work, it can make it hard for new team members to get up to speed on the project.
Measuring the overall progress of the project can be difficult as it occurs across several iterations. Plus, the process of continual improvement can lead to scope creep and potentially to ‘experience rot,’ where a product is made overly complicated to use by the addition of too many extra features.
What is Agile Project Management Best for?
Agile is more suited to small-to-medium-sized organizations where fewer people must approve decisions and respond to change. It works best when time and money are not constrained.
Creative agencies may benefit from an Agile-inspired approach as their customers are more likely to start a project without knowing the full scope of requirements. However, since Agile projects have no clear end, agencies would need to find a way to cap spending and introduce a final deadline to keep their customers happy.