On Scrum teams, is there a project manager or does the Scrum Master take on project management responsibilities? How does Agile project management differ from traditional project management?
The central reason that Scrum works so well is the self-organizing development team. The business hired the development team members for their expertise in delivering business value frequently, at a sustainable pace. Only the development team knows how much they can deliver in a given timeframe, so they manage their own workload. In sprint planning sessions, the development team members typically break user stories into tasks, estimate actual hours to complete each one and decide the minimum set of stories they can deliver in the current sprint. They can bring more stories as they have time.
The cross-functional Scrum team uses retrospectives to evaluate what’s working for them and what’s not working so well. They try experiments to keep their technical debt to a manageable level, and ensure that they “bake quality in” to their product. A role outside the team, such as a project manager, cannot effectively impose rules on a self-directed team, since only the team knows what helps them meet customer needs.
Over time, Scrum teams establish a “velocity,” an average number of user story “points” that they can be counted on to finish each sprint. On a sprint-by-sprint basis, this number will fluctuate, but the business can use the average to plan for the next month or quarter, based on estimates for each story in the backlog.
The Scrum Master acts as a servant leader, helping to remove impediments identified by the Scrum team. The Scrum Master reminds the team of the rules and practices that the team members have adopted for themselves. She helps the team communicate with the business about what work is to be done and what has been completed. The Scrum Master facilitates the daily stand-up meeting, planning meetings, retrospectives and any discussions among development and customer team members.
If conflicts arise within the team, or between the development and customer teams, the Scrum Master helps the various parties resolve those. The team pushes itself to continually improve its process and the quality of the software. The Scrum Master helps the team make that improvement a reality.
Most of the responsibilities of a “project manager” in a traditional Waterfall process are built into the Scrum framework. However, an organization may have valid reasons to add positions not called for in the “by the book” framework. When I worked in a large team which had to coordinate with other contractors on a system being built for a client, we had “project managers” who helped coordinate the external teams with our teams and our customers. Along with developers, they helped the customers decide on features and write appropriate user stories.
The principle of a self-organizing team, which manages its own workload and pulls work from a prioritized backlog, applies in other Agile project management frameworks, such as Kanban, as well as Agile approaches such as Extreme Programming. It comes down to this: businesses hire software development experts to develop the software. The business experts must decide what features are necessary and prioritize those.
However, the business experts cannot dictate how much work should be completed by some date, nor can they specify the technical implementation. In all “flavors” of Agile, the responsibilities of the customer team and the development team are well-defined. Accepting this reality helps business and technical experts collaborate to produce the software that allows success.
If your organization decides to adopt an Agile framework such as Scrum, start out as simply as possible, with the positions called for “by the book.” Use retrospectives to identify impediments. If it seems that having people in a project manager role will help chip away at those impediments, experiment with that. Continue to inspect and adapt as time goes on and the organization grows and changes.
This was first published in July 2012