When you adopt agile practices, especially agile life cycle plans – it is really simple to have your project manager become the scrum-master, right? Isn’t that what everybody does? After all, it’s just swapping a gantt chart for a burn down chart, right?
It certainly is what all of the project managers do when their companies start to adopt agile life cycles – but is it the best thing, or even a good thing?
Since I don’t believe that the dogmatic Scrum = Agile equation is true, I will avoid the term scrum master, and instead define a role called agile delivery manager. I believe that this more accurately describes what a scrum master serving a truly agile team does. An agile delivery manager is responsible for aspects planning AND execution of the software delivery process, but he is not usually responsible for the budget, the schedule, the staffing and resource planning, nor is he responsible for managing other organizational risks and constraints.
- planning and executing the delivery activities as defined in the life cycle as implemented.
- ensuring information (typically feedback from later process areas to earlier process areas) is flowing appropriately, observed, analyzed and consumed by the team and used to improve software delivery practices.
- coaching the team through understanding of new or adjusted practices introduced into the life cycle.
- creating accountability within the team for fulfilling team members responsibilities within the agile life cycle as implemented.
- helping the team focus on working in a rational sequence following a rational approach with a reasonable probability of delivering desired value according to an established schedule.
- exerting influence within the team to resolve all of the human dynamics issues.
- managing, and escalating risks from delivery activities to a greater governance structure. This assumes that there is a governance structure beyond the agile team.
Requirements for Success:
- understand enough of the business domain to be able to hold the team’s focus on the business value proposition within each goal the team commits to.
- understand enough of the technical domain to understand the technical risks arising from the technology paradigm and the software development process.
- understand the agile life cycle and agile practices in use, and the information flow required including the metrics and data points used in feedback loops.
The project manager role is broader, less focused on delivery team productivity, and more focused on a broader consortium of stakeholders. A project manager role can be executed as either active or passive – depending on leadership within the team. Project managers typically have responsibility for budget and schedule commitments, as well as intra and inter-organizational dependencies and schedule coordination.
This is in stark contrast to the delivery manager who is focused exclusively on the team, the practices, and daily information flow that supports rapid adaptation and tactical problem solving in the software development process and practices.
When one expects a single individual to excel at both sets of responsibilities concurrently, with different focuses and different required capacities, one might be disappointed at the result.