Agile is a time-bound, iterative approach to getting projects done incrementally from the start.
Agile projects evolve through collaboration of people working as a team across functions. They focus on delivering project milestones within short cycles. The Agile approach increases reliability, flexibility, quality and speed.
The Agile methodology is an alternative to traditional project management. Traditional projects are managed through sequential phases such as requirements, design, development, testing and deployment. From start to finish, the entire project cycle may take 9 to 12 months, with frequent compromises on customer requirements, quality assurance, costs and schedules.
Typically, customer’s requirements evolve as the project is being done, resulting in expensive design changes during latter stages. The development phase requires a solid design so changes are seen as an obstacle to staying on schedule. The time assigned for quality assurance usually gets crunched at the end adding pressure to schedules and quality. The traditional approach to managing projects tends to go over the original budget, schedule and design requirements.
Instead of trying to contain these elements, Agile projects account for the nature of projects in a dynamic, iterative way. Instead of trying to capture all the requirements upfront, agile projects design as they go. Instead of waiting for a finish product to test, testing defines quality from the start which informs development on how to build the product. Instead of relying on hand-offs between functions, cross-functional people work as a team through the project.
In traditional project management the scope drives the budget and the schedule. A change in scope results in a change in costs and schedules. Agile projects box the schedule in set cycles and flex the scope. The idea is that great products evolve from good prototypes. Getting a working product done is better than getting it perfect.
By now, Agile techniques have been widely adopted by technology companies as a better way for developing software. The approach is gaining popularity across multiple industries that find useful applications of Agile principles to other types of projects.
What Agile Execution looks like in action:
Picture a traditional team at work. This project team had struggled to meet deadlines as scope has been expanding with increasing understanding of customer expectations. Team members have been working hard but growing a bit demoralized about the project completion. Others have been loosing confidence on the team’s ability to deliver the project in a timely manner. Then, the Agile approach enters in.
In two weeks the same team is now focusing on the top three priorities. Other items are placed in a backlog. Team members set specific project milestones to be completed within two weeks–a time bound sprint cycle. The Agile team starts meets regularly using the 15-minute scrum format. Team members gain confidence that they can complete their self-assigned tasks within the 2-week sprint. After each sprint, the team pauses to get feedback on the work done and re-prioritize the next round of requirements.
Every two weeks, the project team deploys a usable working prototype–a user story. By focusing on completing meaningful project milestones within sprints, others star seeing rapid, incremental improvements that evolve over time towards the finish product. Confidence grows that the team will deliver the finish product on time and within budget.
The Agile team spirit picks up and then soars as they feel like they’re working in a mini-startup. Team members pitch in and do whatever it takes to make the project successful—regardless of title or role. Team members still have core competencies, and they generally stick to what they do best, but roles tend to blur as everyone in the team works towards a common goal—to get a great product done. This team ended up delivering a series of winning products that gave the organization an innovative edge over the competition.