What is agile?
Agile is a project management methodology that uses short development cycles called “sprints” to focus on continuous improvement in the development of a product or service.
Although incremental software development methods go as far back as 1957, agile was first discussed in depth in the 1970s by William Royce who published a paper on the development of large software systems. Later in 2001, the Agile Manifesto, a "formal proclamation of four key values and 12 principles to guide an iterative and people-centric approach to software development," was published by 17 software developers. These developers gathered together to discuss lightweight development methods based on their combined experience.
The principles of agile
There are 12 key principles that still guide agile project management today.
- Customer satisfaction is always the highest priority and is achieved through rapid and continuous delivery.
- Changing environments are embraced at any stage of the process to provide the customer with a competitive advantage.
- A product or service is delivered with higher frequency.
- Stakeholders and developers collaborate closely on a daily basis.
- All stakeholders and team members remain motivated for optimal project outcomes, while teams are provided with all the necessary tools and support, and are trusted to accomplish project goals.
- Face-to-face meetings are deemed the most efficient and effective format for project success.
- A final working product is the ultimate measure of success.
- Sustainable development is accomplished through agile processes whereby development teams and stakeholders are able to maintain a constant and ongoing pace.
- Agility is enhanced through a continuous focus on technical excellence and proper design.
- Simplicity is an essential element.
- Self-organizing teams are most likely to develop the best architectures and designs and to meet requirements.
- Regular intervals are used by teams to improve efficiency through fine-tuning behaviors.
Agile methodology adoption
Although designed originally for the software industry, many industries now use agile when developing products and services because of the highly collaborative and more efficient nature of the methodology. The following table shows adoption rates of the agile methodology in a variety of leading industries, as shown in the 11th Annual State of Agile survey by Version One.
|Industry||Agile adoption rate|
|Software (ISV)||23 percent|
|Financial services||14 percent|
|Professional services||12 percent|
The benefits of agile
Agile was originally developed for the software industry to streamline and improve the development process in an effort to rapidly identify and adjust for issues and defects. It provides a way for developers and teams to deliver a better product, in a faster manner, through short, iterative, interactive sessions/sprints. In the era of digital transformation, with many companies migrating to a digital workplace, agile is a perfect fit for organizations looking to transform how they manage projects and operate as a whole. Agile can help ensure company-wide process and methodological alignment. In terms of business benefits, both the digital workplace and agile provide:
- Increased flexibility
- Increased productivity
- Increased transparency
- Higher quality deliverables
- Decreased risk of missed objectives
- Increased stakeholder engagement and satisfaction
Advantages of agile for project management
In the project management field, agile provides project teams, sponsors, project leaders and customers many project-specific benefits, including:
- More rapid deployment of solutions
- Reduced waste through minimization of resources
- Increased flexibility and adaptability to change
- Increased success through more focused efforts
- Faster turnaround times
- Faster detection of issues and defects
- Optimized development processes
- A lighter weight framework
- Optimal project control
- Increased focus on specific customer needs
- Increased frequency of collaboration and feedback
The drawbacks of agile
As with any other methodology, agile is not well-suited for every project, and sufficient due diligence is always recommended to identify the best methodology for each unique situation. Agile may not work as intended if a customer is not clear on goals, the project manager or team is inexperienced, or if they do not function well under significant pressure. Throughout the development process, agile favors the developers, project teams and customer goals, but not necessarily the end user's experience. Due to its less formal and more flexible processes, agile may not always be easily absorbed within larger more traditional organizations where there are significant amounts of rigidity or flexibility within processes, policies, or teams. It may also face problems being used with customers who similarly have rigid processes or operating methods.
Combining agile with other methodologies
The opportunity exists to combine agile with other methodologies such as waterfall to create a hybrid solution. Companies sometimes use waterfall to handle one or more phases — such as planning — where these do not require rapid or repetitive steps. Planning in particular requires a more comprehensive, methodical, often slower approach to defining, analyzing, and documenting aspects of a project. This makes waterfall a better approach. Once a project enters the development phase, rapid and repetitive changes require a different approach and this is where agile kicks in to deliver the best results in the shortest amount of time.
This hybrid approach aids in making agile even more adaptable within various industries or to suit the more unique nature of a project, product, or service. Again, due diligence is required to determine the suitability and capacity of the different methods and processes available.
Popular agile methodologies
Within agile there are some frequently used or popular methods, with Scrum, Kanban, and Lean being the most popular. Some agile methods include:
- Lean (LN)
- Dynamic System Development Model, (DSDM)
- Extreme Programming (XP)
- Adaptive software development (ASD)
- Agile Unified Process (AUP)
- Crystal Clear methods
- Disciplined agile delivery
- Feature-driven development (FDD)
- RAD(Rapid Application Development)
To find out which methodology is right for your project or organization, see "Comparing agile project management frameworks."
Agile project management and scrum
Scrum is a powerful framework for implementing agile processes in software development and other projects. This highly adopted framework utilizes short iterations of work, called sprints, and daily meetings, called scrums, to tackle discrete portions of a project in succession until the project as a whole is complete. There are three key roles within Scrum: the Scrum master, product owner, and Scrum team members:
- The product owner creates and prioritizes a product backlog (work to be done).
- Teams select items from the backlog and determine how to complete the work.
- Work must be completed within a sprint (usually two to four weeks).
- The Scrum master meets with teams briefly each day to get progress updates.
- Sprint reviews are conducted at the end of each sprint.
- The process starts again until all work or backlog is complete.
Organizational hurdles to adopting agile
Organizations looking to adopt agile for project management my encounter any of a number of common hurdles, such as the following:
- A company structure or culture that does not adequately support agile: Although project teams may be ready for agile development, the rest of the company may not be on board. Sponsors, executives, and functional leaders must also buy into and support agile for it to be truly effective.
- Unclear understanding of the impact to the overall business goals: Simply executing projects using agile methodology isn’t enough to reap the desired benefits. Projects can still be executed in ways that don’t provide the entire business with the results that help achieve sustainable growth. Strategic alignment is still critical.
- Rushed testing cycles: Sprints can create a risk of rushed testing cycles. In the process of trying to get through sprints as quickly as possible, teams can become more focused on the timeline and miss simple aspects of the testing cycle, which can have potential significant repercussions. Defects can go undetected or are detected too late.
- Limited agile skill: Although agile is rapidly taking root, top agile talent can be hard to find and attract. Limited agile talent means limited benefits for companies wanting to execute projects using this methodology.
Key agile skills
There are six key agile project management skills or attributes that all project managers should have:
- An ability to cut through unnecessary work and focus only on essential work
- Sound judgment under pressure and the ability to remain calm under stress
- Strong motivation and coaching skill to guide and support teams throughout a project
- Exceptional organizational abilities to keep everything straight and prioritize
- The ability to think and make decisions quickly as circumstances change rapidly
- A high level of adaptability in order to accept change and reduce unnecessary confusion and risk
Agile project management certification and training
As agile methodology picks up speed, so does the demand for professionals with agile knowledge and experience. Here are seven agile-focused certifications to provide a benchmark for your knowledge.
- APMG International
- Strategyex Certificate (Associate or Master’s) in agile
- International Consortium for Agile (ICAgile)
- Agile Certification Institute
- Scaled Agile Academy
- Scrum Alliance
For a more in-depth look at these certs, see “7 agile certifications to take your career to the next level.”
Agile project management software
Companies using agile are likely to leverage software geared to agile development in order to get the full benefits of this methodology. Here are just some of the agile solutions available:
- Atlassian Jira + Agile: This is an agile project management tool that supports Scrum, Kanban, and mixed methodologies. This project management software comes with a comprehensive set of tools that help Scrum teams perform events with ease.
- Agilean: Agilean automates workflow management for small and midsize IT companies fitting different verticals. It is customizable and has 50 built-in templates.
- SprintGround: This is a project management tool created for developers to organize work and help them track progress.
- VersionOne: This project management solution is built to support the Scaled Agile Framework at all levels.
Agile project management tools, templates and resources
There are also many templates available from companies like Microsoft that project managers can use rather than re-creating the wheel. Here are just a few among several others available from Microsoft:
- Agile glossary
- Agile process guides
- Agile process work item types and workflow
- Scrum process
- Scrum process work item types and workflow
- Use agile in Microsoft Project
Agile project management software vendors also typically have built-in agile templates in their software.
The future of agile
As competition is continually increasing and time to market is also shrinking, agile offers numerous benefits and limited drawbacks. As more companies make the shift to a digital workplace that is highly dependent on speed, flexibility and increased productivity, agile or hybrid methodologies will become increasingly necessary. Its application in multiple industries and alignment with the benefits offered by a digital workplace model, indicate that agile adoption rates will continue to increase across industries around the world.