Do you ever wonder how some companies, even competitors, can release new software versions? Even how Google can update its G Suite products every two weeks?
For example, when Steve Jobs returned to Apple in 1997, the company had an excess of 350 new products and software in development — each with a delivery time sometime in the future.
Jobs reduced those products by 97 percent within two years, to only ten products. He then focused the company’s full attention on the remaining 3 percent. How did he do this and still achieve such success?
Enter the agile process! This method encourages you to focus on customer needs while releasing new products with increased quality.
This may be an over-simplified narration of agile project management. But, it goes a fair way to describe the agile project management approach to non-IT project managers.
How to Manage an Agile Process
Traditional project management is underpinned by plans and schedules. This is not to say that these don’t exist in the agile process. The agile process needs an overall plan, agile leadership, and agile project management. But, all the while focusing on satisfying customer needs over all else.
The agile process also requires a commitment to delivering working solutions early and in small increments. This is known as Minimum Viable Product (MVP). The agile process does not suggest that documentation is not required. But it does advocate working solutions over documentation.
What Is the Role of the Project Manager in the Agile Process?
With the above in mind, project management has to change. Terms like fail-fast, fail-forward, pivoting, and continuous change are now firmly in the project manager’s vocabulary.
Each of these new terms introduces new management patterns. In times gone by, project managers would be held-to-task and even penalized when milestones were not met.
What if these milestones were some time ago? Reality shifts continuously, as should the overall project plan and schedule of deliverables. The role of the project manager is to adapt and pivot as reality and requirements shift.
How to Implement This New Project Management?
The agile project manager needs to address the impact of changes on work underway. Task size and complexity are very influential factors, and not all tasks are equal. The relative sizing of work is a technique often used to manage this.
These are approaches to this rather tricky new dilemma.
1. Focusing on the Work
Make work visible to all players and stakeholders. This will keep all players in the loop at all times.
All work can be broken down into the following categories:
- Work to be done but has not been started
- Work that has started
- Work that has stalled
- Work that is completed
- Work that is abandoned
Using techniques like daily stand-ups, the project manager can meet with the team and address the work underway.
Asking questions and receiving open and honest feedback allows the project manager to guide the team toward delivery.
Some good examples of pertinent questions could be:
- What work was completed yesterday?
- What are you working on today, and are you planning to complete any work today?
- Do you have anything prohibiting you from continuing with your work?
A secondary — but no less important — function the agile project manager fulfills is to manage external changes. In many cases, these manifest as changing priorities.
The relationship between the project manager and the product manager is of paramount importance. Once again, this relationship is based on early, transparent, and clear communication.
2. Transparency and Team Communication
One of the primary roles of the agile project manager is to focus on work that is blocked. Agile self-organizing teams will deliver in line with the commitment.
Transparent communication between team members allows the team and the project manager the opportunity to offer help. In cases where the issue is external, the project manager handles that. The blocker must be removed or dealt with by the project manager.
Developer teams are often shielded from business people. In the past, analysts stood between them as “translators” of requirements, translating these requirements to a language that development teams could understand.
The agile method calls upon organizations to remove these barriers. Letting developers and businesses interact with each other leads to increased mutual understanding, transparency, and communication.
Most of us have played the telephone game as children, so we know that each extra link in communication leads to lost or changed information. If misunderstandings are caught early, receiving regular feedback from each other helps in producing effective outcomes. This is the role of the agile project manager in a nutshell.
3. Addressing Team Capacity
Another word for capacity is availability. Many real-life situations influence team capacity. This is the number of man-hours in the team available for the project to commit to work.
This is all about making sure teams do not take on work that cannot be delivered in the man-time available.
Many aspects influence team capacity, such as:
- The availability (leave, sick or ill, training)
- The complexity of the solution (more complex = more time)
- The newness of the solution (at times, new technology will require the team to take time to learn it)
- The compound effect (the blend within a team, perhaps experience, can have an impact on overall team capacity)
Two expressions sum this up very well:
- Don’t try and boil the ocean
- You can’t eat an elephant in one sitting
Both of these expressions bring the laws of constraint into the planning that an agile project manager needs to consider.
Sometimes, regardless of customer requirements, the team has to acknowledge that something is simply not do-able. It may be that technology does not allow it. Or, it may be that there is not enough time or the requirement is simply too big.
In this case, it is the responsibility of the project manager to give feedback to the product manager.
4. Addressing Time
The concept of controlled and managed release cycles means time cannot be ignored. They say time is money. While this is true, an agile project cannot take a time-only view for a software release. This is the main reason for making it an important consideration, but not as important as work and capacity.
Agile acknowledges the reduction in dependency on milestones and schedules. But, all work is subject to one universal constraint: time. There are only 24 hours in a day. But not all of those 24 hours are available for work.
Thus, job and task sizing is a great way for teams to plan work and commit to its delivery. Breaking work down into two or three-week deliverables cycles is a great start.
Reducing work one more level, to daily activities, helps the team avoid any surprises. It allows the agile project manager the time to communicate outside of the team about any delivery issues.
5. Addressing Requirements
An agile project manager needs to have a good handle on requirements. They must be able to articulate changing requirements both into the team(s) and outward to other stakeholders.
Since we have embraced the concept of shifting reality, it is obvious we need to accept the requirements too, which will change. An agile project manager must be able to not only assess the impact of changing requirements, but also the rate at which they change.
When the work for a two- or three-week period has been committed, so has the team’s capacity.
Thus, any change in requirements will have a direct impact and quite possibly overload the team. The agile project manager must, therefore, underpin any change in requirements. He must question if these are changes to an existing requirement, a new requirement, or a conflict with an existing requirement.
Just like a train cannot have cargo loaded or unloaded between stations, so it is with work committed by a team. For cargo to be added or removed, the train needs to stop — or slow down, at a minimum — for the cargo changes to be safely handled.
Agile teams are no different. But when the changed requirement is considered a conflict, work must stop on that requirement until the conflict is resolved.
Summing Up Agile Project Management
Adopting the agile process is more than implementing a new approach to software and product development. It is a culture shift toward customer-centricity. This will improve quality and drive business value.
According to the Agile Alliance, to succeed in a turbulent environment, you must be capable to design and react to change.
The fundamental theory of agile is the focus on the customer by delivering results of value early and continuously.