Agile is a project management approach that grew as a result of the frustrations experienced by software developers while using waterfall methods for their projects.
As a result, approaches like SCRUM and Kanban developed to replace these “heavy-weight” methods. Later on, a group of 17 software developers came together to discuss these new methodologies, and from this discussion, the Agile Manifesto was born. From then henceforth, Scrum, Kanban, XP, Lean, among others, came to be known under the Agile umbrella. Agile approaches:
- Break their projects into smaller stages
- Have measures in place to collaborate cross-functionally
- Improve on the end product with each iteration. A great thing about Agile is that the end result can be changed multiple times to fit changing expectations.
- Customers are part of the process each step of the way, from planning, execution, and evaluation.
We will discuss these values further below.
Although Agile has its background in IT, agile project management principles make it an invaluable project management approach in non-IT fields. Today, anyone from any field can manage projects with agile as long as they have the relevant CSM certification.
The core values of Agile
The originators of Agile guidelines had a different mindset regarding how project teams can collaborate with customers for better value delivery. Based on their experience, they found that they valued:
- Individuals and Interactions as opposed to processes and tools. Although you will always need tools and processes, it is preferable to have a team of competent people collaborating effectively.
- Working Software rather than comprehensive documentation. Working software is proof that the customer is getting what they paid for.
- Customer Collaboration in place of contract negotiation. Collaborating with the customer helps project teams discover what the customer needs.
- Responding to Change rather than rigidly following a plan. The customer’s environment changes and it is important for the project team to adapt to these changes and find new solutions for them. If too rigid, solutions already devised may not work in an environment that has already changed.
Characteristics of Agile
Agile projects have the following characteristics:
Iterative, Incremental and Evolutionary Changes
Work is broken down into small increments. This reduces the amount of planning required before a project begins. Tasks are accomplished in short time frames (iterations), which last not more than four weeks.
There is a collaborative effort by cross-functional teams in each iteration. At the end of each iteration, teams must demonstrate a working product to stakeholders. Although the product might not be viable for market release, the idea is to show progress by demonstrating a working model. Timeboxes minimize risk and allow more adaptation to change.
Efficient communication and teams working face to face
Teams working from the same location work better together and communicate more efficiently. Teams that work from different locations experience longer communication cycles. One member (customer representative) -or product owner in Scrum- represents each team during each iteration, answers questions on their behalf and takes part in review meetings with stakeholders. Review meetings ensure that at the conclusion of each iteration, customer needs and goals are met.
Short adaptation cycles
Daily meetings (or daily scrum if using SCRUM) happen during each iteration to root out roadblocks, ensure daily alignment to goals and track task completion.
Focus on quality
From the very beginning, agile project management principles advocate for techniques and tools that guarantee high quality. For software or product teams using this approach, they are able to guarantee their customers a working model from the end of the first iteration.
Agile principles explained
All frameworks under the “Agile movement” operate under the following agile working principles;
Customer satisfaction
The short iterations in the agile manifesto ensure that teams deliver on project goals early and continuously with each iteration. With waterfall approaches, customers risk too much by waiting to be presented with the final product at the end of the project.
Accommodating change
As stated earlier, requirements change as the customer’s business environment or needs change. Agile methodologies are able to accommodate such change, especially where it will give a customer a competitive advantage. More so, these changes can be accomplished without delay in end timelines.
Operate and deliver within shorter timescales
Methodologies like Scrum operate in “sprints”, which are short timelines. As per scrum principles, teams must go through a review process at the end of every sprint.
Daily collaboration of stakeholders and project teams
When people work together each day, they can make decisions that are aligned to the project goals.
Team motivation, support, and trust
Motivated teams do a better job than teams that are dissatisfied with their working conditions. Project teams should receive support from the business, such as relevant working tools and an enabling environment. It’s important, however, to only entrust projects to a team that is well trained and has a track record of successful project completion and delivery.
Face-to-face communication
Co-location ensures that all teams can communicate with each other more effectively.
Sustainable working pace
Teams should operate at a consistent speed and do this repetitively throughout every release.
Agility through good design and technical excellence
Teams should be skillful enough to deliver on the customer’s vision. Iterative changes should improve the final product. This way, the final product will have the desired agility.
Simplicity
Keep everything simple right from the start. Instead of leaping to create a perfect product, create a version that can be usable for the moment.
Teams should be self-organizing
This creates more ownership, better communication and power to make decisions. In the end, the designs and architectures made by such teams are more superior in quality.
Regular evaluation of team performance and adjustment
Teams should constantly evaluate how their behavior affects their performance and based on their findings, they should go through self-adjustment until they achieve operational effectiveness.
Progress is only measured by delivering a functional
version of the product
This means that with every iteration, teams are only considered to have delivered on their goal if they have a functioning model to show.
Bottom line: Why Learn and use Agile to manage projects
Although Agile is not the only way to manage projects, given the agile principles and values discussed above, it’s easy to see why companies continue to favor this approach. A survey by PMI shows that 71% of companies use Agile to manage their projects.
The same report also shows that organizations are now maturing in their project management practices. For professionals, this means that skill and talent are now more valuable than ever when it comes to formulating project teams. The right certification is a worthy qualification for anyone, from fresh-out-of-college graduates to anyone in leadership.