The Agile approach to project management is tightly related to the usage of the agile development process, meaning that any industry that applies any of the agile development process frameworks can and should also adjust their product management practices to the ones related to agile project management.
Because of this tight bond between the two, we’ll take a deeper look at the agile approach to the development process. This approach can be implemented in any industry which deals with requirement changes in any phase of the product development, but it is mostly used in the software industry. The core values of agile software development have been laid out in the Agile Manifesto, and they consist of valuing individuals and interactions over processes and tools, working software (product in any industry) over comprehensive product documentation, customer collaboration over contract negotiation and responding to change over following a plan. The industry has already identified the practices that have proven to follow these guidelines in the best possible manner:
- Strong emphasis on having the whole team as a tightly integrated unit - the development staff, project managers, quality assurance teams as well as customers need to work closely together in order to build a good product.
- Frequent communication is a necessity in order to carry out good collaboration among the team members (all of the different team roles mentioned above).
- The product delivery time needs to be cut down as much as possible - this leads to an iterative and incremental approach which means splitting the development process into short iterations whose goal is to create a product increment.
- Transparency in feedback from the whole team is crucial in reshaping the requirements of the product and allowing the team to adapt the development process, so the product would meet the changed requirements.
The agile manifesto also adds twelve main agile principles on which the agile approach to project management should be based:
1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software
Planning of small changes in each iteration allows shortening of time between gathering requirements and getting feedback based on actual product increment from the stakeholders.
2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
Changes based on feedback can benefit the product tremendously and should be implemented as soon as possible - no need to wait for the next version of the product, implement the change in the next product increment, regardless of how far down the line your development already is.
3. Deliver a working product frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
Instead of focusing on thorough documentation and completing 100% of product requirements, focus on delivering a working product as often as possible, which will give you the opportunity to both give quicker feedback about the product and improve your work process and efficiency.
4. Business people and product developers must work together daily throughout the project.
In-person communication (or online communication via various tools, if there is no way to have developers and business people in the same location) is crucial for better understanding of each other, which leads to better work quality and, ultimately, better product quality.
5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
Having a quality team you can trust to get the job done is crucial in order to be able to avoid micromanagement and allowing the team to self-organize itself which has proven to increase the work quality and productivity of the team in agile environments.
6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
As previously mentioned, communication is one of the crucial aspects of agile project Management and face-to-face communication cuts down the time between a question and an answer to a minimum, thus maximizing knowledge sharing and team organizational potential.
7. A working product is the primary measure of progress.
The only real measure of progress in agile development is a working product increment - all other aspects of development are completely irrelevant if the product as the result of that development doesn’t serve its purpose properly.
8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
Avoiding burn-out over long development periods is important in order to maintain a constant quality and quantity in product increments. Finding a proper pace that the team can keep up with is best done through previous work inspection and work process adaptation over time.
9. Continuous attention to technical excellence and good design enhances agility.
By making sure that each product increment is developed properly, with attention to eliminating technical or design details that might hinder the development of the next product increment, we cut down the time necessary for fixing those details later.
10. Simplicity -- the art of maximizing the amount of work not done -- is essential.
Unnecessary work does not only waste resources, but also increases the chance of introducing certain product features that will prove to cause additional problems in development down the line. And all of this while not adding any substantial value to the product.
11. The best architecture, requirements, and designs emerge from self-organizing teams.
A good, self-organised team takes initiative and solves any potential issues it might encounter - design-related, quality assurance-related, etc. Micromanagement in those areas can signal trouble with the team.
12. At regular intervals, the team reflects on how to become more effective, then adjusts its behavior accordingly.
Inspection and adaptation are crucial agile principles - the team should regularly inspect their work process, try to overcome any detected obstacles and improve.
To recap, agile approach to project management is tightly related to agile product development - this means that all of the values and principles laid out in the Agile Manifesto apply to it as well. Transparency, communication, inspection and care for individual team members need to be raised to maximum level in order to maximize the value of the developed product, as will the adaption of iterative and incremental work process.
While the agile approach to project management can be the perfect solution for certain teams and organizations, it is not without its issues and it is important to be aware of them before you make any drastic changes to the way your team or organization work.