Agile is an approach to software development. Project management is the application of knowledge, skills and techniques to project activities to meet the project requirements. Agile is not a methodology. What does then “agile project management” mean ?
Simply put, agile project management can be defined as the application of agile methods and values to project management. While there are several agile methods (Scrum, Kanban, XP, FDD etc.), all of them share the same core values, inspired from the agile manifesto. These core values are:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Taken in a more general context, agile methods emphasize teamwork, close customer collaboration and frequent deliveries in order to respond quickly to change. Such methods can be applied to non-IT projects as well.
Note that agile methods were aimed primarily at software product development, and popular frameworks like Scrum are still better suited to the product management lifecycle than the project lifecycle. More on the product lifecycle in a later post, but suffice it to say that the organization of a team could be very different between traditional project management and agile project management.
Traditionally projects were done with a sponsor (providing the money) and business stakeholders providing the authority to the project manager to deliver the project with the help of resources (people or material). Theroretically agile methods (e.g. Scrum) are supposed to do away with the project manager role - which is now distributed across the team, the product owner and the scrummaster.
- The product owner is responsible for maximizing the business value delivered to the customer.
- The scrummaster is responsible for facilitating the scrum/agile process and removing impediments for the team.
- The team is responsible for getting product backlog items done and provide increments of value in each sprint/iteration.
In practice, organizations are in various levels of agile adoption and projects continue to be initated and monitored in traditional ways while coexisting with islands of agility in product development teams. In such organizations, project managers need to evaluate the applicability of agile to the projects before applying such practices. Key factors could be:
- the organizational culture and the feasibility of having a cross-functional team required for the project. This depends to a large extent on the enterprise following hierarchical / matrix / functional / projectized models in organizing its teams.
- the level of experience of team members to follow agile practices and work in a self-organizing mode
- the availability of business users for close collaboration vis-a-vis the availability of experienced business analysts
In cases where these factors are favorable, adoption of agile methods could certainly help in project management. This is because agile embraces change, and delivering in small iterations allows responding to changes based on feedback from users. It also forces a certain discipline w.r.t. ranking and prioritization of requirements, which helps in better utilisation of resources.
It’s important to realize that agile approaches value quickness of delivery more than completeness and these trade-offs could sometimes result in poorer quality or even lower productivity and delays if agile methods are adpoted blindly.
It’s also important to be aware of the whys of selecting an agile approach rather than copying certain ceremonies and hoping for magic (quick results).
E.g. having the ability of defering features to subsequent sprint(s) could easily lead to procrastination and delays, unless the team and scrummaster work together to maximize delivering value.
Similarly the product owner needs to set the bar for quality correctly with acceptance criteria (definition of done).
In the end, the project manager should not be dogmatic about using either one of traditional or agile methods. The project manager needs to use the organizational environmental factors in the best possible way, either by adopting traditional or agile or a combination of both approaches, in order to have the best outcomes for the project.
comments powered by Disqus