Agile project management is a value-driven, high-flexibility project management method most commonly associated with the world of software development. The size and scope of many projects coupled with today’s high rate of change within the business environment can often mean that customer (stakeholder) needs can change mid-project.
These changes can spell doom for project delivery being on time and under budget.
Agile projects are administered and completed in an iterative process that creates a very high degree of flexibility for project managers and development teams. Each iteration focuses on delivering a small facet of 100 percent functional software instead of a final product that must still undergo testing before being ready for market.
Agile project management is an effective solution to what was a pervasive problem within the project management field—especially the world of software development.
Below are the twelve principles of Agile project management. These guiding principles illustrate the concepts that guide an Agile project and the mechanics that drive the Agile project management system.
1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Instead of delivering a single final product that may not be in line with stakeholder needs, Agile projects use an iterative process to deliver smaller software deliverables with higher frequency. These smaller deliverables are 100 percent functional and are part of the larger project as a whole.
This continuous stream of smaller deliverables means that stakeholder input can be acted upon at every stage of the project. As stakeholder needs change, so too can the project course correct without having to trash months of work, hours of labor, or lines of code. This close relationship with project stakeholders also means less crossed wires or garbled communication.
2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
This is the core of Agile project management.
Breaking down deliverables into smaller, constant deliveries means the project manager can course-correct even late into the project timeline. This is the Agile USP; stakeholders can undertake Agile projects with confidence knowing that the outcome will match their needs no matter how those needs may change.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
The shorter the timescale, the more opportunity stakeholders have to voice their input and provide the development team with feedback. This also provides a level of confidence for stakeholders and helps project managers deliver on time.
This focus on delivery instead of documentation means that the final result will be working software that provides a solution and is light on documentation, rather than a well-documented mess.
4. Business people and developers must work together daily throughout the project.
While it may seem that this Agile principle creates unnecessary back-and-forth, constant contact is actually an enabling factor for Agile success.
The objective of any Agile project is to deliver software that is a 100 percent match for stakeholder needs that arrives on time and under budget. When those requirements are further qualified by the development team’s encouragement that requirements change based on stakeholder needs, continuous contact becomes necessary.
What was a cumbersome back-and-forth is now the Agile project manager’s finger on the pulse of stakeholder needs.
5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
While the other Agile principles so far have focused on the ways in which the development team works with the stakeholder needs in mind, this Agile principle reflects the ways in which Agile project managers encourage a productive and effective development environment.
To maintain flexibility and agility, Agile teams are self-organized, cross-trained, and expected to be productive without the input of a rigid or restrictive management influence. Micromanagement and top-down techniques don’t allow motivated and talented people to grow and reach their potential.
6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
Email, workplace messaging services, and message boards are all good forms of communication. There is, however, no substitute for clear and concise feedback that is offered in a face-to-face environment. For distributed teams or teams with remote members, this face-to-face communication can be facilitated via video chat.
An environment that prizes self-organization and is resistant to top-down team-external management can only be successful if team members can communicate directly, candidly, and face-to-face.
7. Working software is the primary measure of progress.
There are many ways to measure the progress of a project. Likewise, there are many ways to measure the wrong things. Agreeing on methods of measurement and which KPIs are going to be important is a critical part of project management and progress evaluation.
It doesn’t matter what activities have been completed to produce software—if the software is nonfunctional, the team cannot deliver.
8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
When projects run on an extended timeline, Agile project managers run the risk of burnout among members of the development teams. The short, productive bursts that constitute Agile development must be carried out at a pace that will not produce burnout or churn among development team members.
Not only does working at an unsustainable pace sap team member motivation and productivity, it is also detrimental to project success. The key here is to set a sustainable pace.
9. Continuous attention to technical excellence and good design enhances agility.
Code should improve with each iteration. Agile project management doesn’t mean rushing or cutting corners. Rushing code that is sloppily constructed is not a solution, it is a deferral of work that will still need to be done at some point.
The need to pivot back to “clean up” sloppy or unfinished code is self-defeating for the Agile process. It prevents flexibility and reduces agility—if stakeholder requirements change, it may be difficult to change course if code needs to be revisited and completed.
The relationship between the speed of production and the quality of code is known as technical debt.
10. Simplicity—the art of maximizing the amount of work not done—is essential.
There is nothing so useless as doing efficiently that which should not be done at all.
– Peter F. Drucker
A focus on simplicity and efficiency means that teams run smoothly and that resources are conserved. Processes that are simpler are easier to learn, to teach, and to train. They have an easier adoption rate, and can be communicated with higher clarity and success.
In much the same way that the Agile method is resistant to top-down external micromanagement styles, Agile practitioners are also resistant to “busy work,” or work for the sake of working.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
Development teams are composed of people who were hired because they have the skills necessary to produce working software. With this in mind, who then has the best idea of what is needed for development success?
By trusting and empowering the development team, project managers are ensuring that technical details are being handled by the people best suited to fulfilling technical requirements. While project managers are still essential components in the Agile process, they take a very hands-off role when it comes to architecture and design for a project.
12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Reflect-then-adapt is not a concept unique to the world of Agile development. Every business practitioner should be acquainted with the value of feedback and self-reflection. This system of self-reflection has become more and more important as technology increases the rate of change across numerous business sectors.
The Bottom Line
Agile development practices have emerged as a highly effective software development method, and they are here to stay. Despite being designed for the fast and flexible development of software, the twelve Agile principles can be adapted to fit other industries and sectors.
It should also be noted that these principles represent the fundamentals of the Agile method. They are descriptive rather than prescriptive, and intentionally so. While these principles represent the core of Agile development and should inform decision making at all levels, ultimately it is the role of Agile project managers working closely with development teams that produce Agile success.
Serious about becoming Agile?