In this article I look at how Agile software development works with Project Management. I struggled with this for a long time during my gradual conversion to Agile ways of working so hopefully this article can help you to get a better understanding.
The subject came up in conversation recently when someone said to me “We are Agile, so we don’t need Project Managers anymore”.
So how does this work, is it true and what does it mean?
Well the answer to this very much depends on how mature Agile software delivery is in your organisation.
Agile delivery should need fewer Project Managers
If you are running Agile software delivery, then you should be aiming to reduce the need for Project Managers in your organisation. How far you can go with this will depend on a number of factors including:
- How mature your Agile delivery organisation is
- Size and complexity of projects being delivered
- Types of projects and the product being delivered
- How many customers, suppliers and stakeholders you need to work with
Agile software maturity
Mature Agile software teams and organisations have these characteristics:
- Strong Product Management and Product Ownership for defining product strategy, direction and requirements
- Software teams building to coordinated Product Roadmaps
- Minimal barriers between teams
- Technologies, toolsets, processes and practices aligned with Agile delivery
- Long term stable teams which are able to re-organise and change shape with minimal impact to the overall product delivery
- High degree of buy-in for Agile delivery across the organisation
- Long term department level budgeting rather than project by project basis
Agile delivery is focussed on the team and the product
Agile software teams are focussed on building products for users defined by a business expert in the shape of the Product Owner. It’s all about getting a product into the hands of real users as quickly as possible and iterating from there.
The Scrum Master’s role is to facilitate effective delivery of the team. They are focussed on ensuring that the team have everything they need to perform at their best velocity.
They will ensure the Agile ceremonies and processes; stand-up, retrospectives, Kanban board etc. are run effectively. They will work closely with the team and Product Owner to plan ahead and remove obstacles in front of the team. They may well work closely with external customers too within the context of the product delivery itself.
Project Management more focussed on managing stakeholders
The Project Manager has more of a dual role – firstly working with project teams to deliver the products into the project but also a large part of the role is to manage, coordinate and communicate with the various groups involved in the project.
The main activities for a Project Manager would include the following:
- Managing stakeholders, customers, suppliers and delivery teams
- Communicating across all of the groups involved in the project
- Running the project finances and budget
- Forecasting and planning the project timelines
- Managing and communicating risks and issues
- Coordinating all of the different groups involved in the project and managing dependencies
All of this activity can be really time consuming and as the size of the project increases the more effort this takes.
Scrum Master can pick up some Project Management activities
In some smaller projects the Scrum Master and / or Product Manager can pick up some of the above Project Management activities. This works fine for many projects but as soon as the project reaches a certain size then this becomes unmanageable for them.
The key issue in this scenario is that the Scrum Master needs to focus on the software development team and the Agile delivery process. If they become too focussed on Project Management activities, then the software delivery will start to slip.
Project Managers needed when project size and complexity increases
In the projects and programmes that I run we will typically bring in a Project Manager when we have these types of projects to manage:
- Larger projects where there are several teams and departments working on a project
- Projects where there are a mix of external suppliers and internal delivery teams
- Projects where there are multiple stakeholder groups and delivery teams
- Projects that include a significant change to business processes or the way users will use a product eg. that might require significant training effort and coordination
- Projects where delivery teams are running both Agile and waterfall project delivery
Essentially as soon as the amount of project management stuff to do becomes significant then someone needs to dedicate their time to running that.
Let’s look at some examples to highlight these points.
Example Scenario 1 – Project with large number of stakeholders to manage
In this common scenario you may have a project to deliver to an external customer. You have three internal Agile software teams delivering their product enhancements to the project. You also have two new suppliers delivering their products that integrate with the products delivered by the internal Agile software teams. You are delivering on behalf of your Sales team to the customer.
Project Manager needed to coordinate different groups
This project will need a Project Manager to work with all of the parties involved. There are numerous groups to coordinate, manage and communicate with including the customer, the sales team, the suppliers, and the software teams.
The Project Manager will need to work with the suppliers to agree the delivery scope, costs, plan and approach and get this agreed within the company and then manage them through the project. Contracts will also likely need to be written and agreed.
Agile teams also deliver into the project
In terms of Agile delivery on this project – the three software teams would be delivering their products into the project and the Project Manager would be working with the team Product Owner and Scrum Master to coordinate priorities, dependencies, timelines and communications to all stakeholders.
Example Scenario 2 – In house software project across multiple teams
In this scenario a company wants to deliver a significant new set of product features on its large web-based business application. There are three Agile software teams working in the same department delivering a set of products for the web-based application. They are also working with two other Agile delivery teams in the same company, but different departments.
Mature Agile software teams with Roadmaps and Product Management
All of the software teams are working to Product Roadmaps, have good Product Management and Agile Product Ownership in place and have permanent standing teams that are budgeted as part of operations rather than on a project basis.
In this scenario the project could be delivered as a Product Management driven initiative without the need for a Project Manager. Because of the structure and maturity of this organisation the Project Management activities in this example are far fewer and could be picked up by the Product Management team. Planning and coordinating activities are done between teams and put into the individual team product roadmaps.
Some Project Management activities disappear
Most of the other Project Management activity has been removed – there are no external suppliers, no contracts to worry about, no external customers and no budget to manage. The barriers between teams should be low and dependencies can easily be managed between the Scrum Masters of the teams based on prioritisation by the Product Management team.
This is a mature Agile software organisation and it takes time and dedication to build this level of capability, but it is worth it as the productivity advantages and business agility it offers are great.
We are Agile but we do sometimes need Project Managers
So, we can see that in really mature Agile delivery organisations we really can reduce the need for Project Managers. However as soon as there are elements of complexity thrown into the mix such as suppliers, customers and larger delivery projects then the coordination, planning and communications activities required means we need a Project Manager to take on all of these activities.