Agile teams are structurally different than their waterfall counterparts. Waterfall teams follow the structure of the organization and scheduling is often “top down,” meaning that management sets the pace and schedule. In agile development, the team is self-organizing. It sets its own schedule based on priorities from the product owner and the available capacity of the team.
Scrum masters and development managers bridge the organizational gap between senior management and individual development teams. They work to optimize teams and individuals to deliver the best quality software that furthers company goals. The scrum master and the development manager also protect teams from outside distractions like feature creep, waterfall anti-patterns, cross-functional thrash, and side projects that distract from the team's true goals.
Both scrum masters and development managers typically work with multiple agile teams. Let's see how they work with each team in larger agile portfolios.
What's a development manager?
Development managers are key participants in agile organizations and their role is substantial. They're responsible for the quality of the product, from code architecture to end-user quality. They engage in code reviews to ensure team members are contributing code that meets the short and long-term goals of the program, and because they're so close to the team they're usually influential in the technology choices for the program. Combined, this proximity to the process and product allows dev managers to communicate context internally for the team and to the larger organization.
Great development managers are team builders, and that starts with hiring. Development managers drive the hiring process and are well positioned to do so because:
- Hiring is time-consuming and distracting for the team
- Searching for candidates takes focus away from building great products
- A development manager can help reduce some of the effects of onboarding as each new person integrates into the team
Put simply, when the development manager takes on the tasks of recruiting and hiring, the team is free to focus on the product.
Development managers also act as a partner and mentor because they are adept at the fundamentals of management: one-on-one meetings, giving feedback, and coaching. Successful development managers mentor engineers to bring greatness to the table: ideas, code, tests, and culture. At times, the team will struggle with decisions ranging from architectural design to branching strategy. Adept development managers know when to intervene, or let the team continue to struggle in order to learn.
Another big responsibility for development managers is to act as a partner in the estimation process. By contrast, a conversation in a waterfall team typically sounds like this:
Manager: “Hey, how long is it going to take to deliver this feature?"
Engineer: “It’s going to take six weeks. We need to do A, B, and C to get the feature to market."
Manager: “Hmm. That makes sense. However, you need to find a way to get it all done in four weeks."
In agile, the team sets the schedule because a fundamental tenet of agile is this: those closest to the work are best able to scope and deliver that work. The development manager adds value by asking questions and vetting assumptions made in the estimation exercise, but would never dictate timelines to the team or change the scope without consulting the product owner. You won't hear "Find a way to get it done in four weeks" in agile organizations. (And if you do, that has, umm... a certain smell to it, shall we say?)
What's a scrum master?
Scrum masters are project leaders in an agile team who focus on optimizing performance, working between the product owner and the team to ensure consistent, successful sprints. Scrum masters also own cross-team coordination so that the core team can focus on product development.
The goal of the scrum master is to keep everyone efficient and on the same page. As a result, the scrum master coordinates most of the inputs and outputs required for an agile program. He or she drives the agile ceremonies of sprint kickoff, daily stand-ups, sprint review, sprint retrospective, and works with the team and development managers to estimate larger items like epics and individual user stories in the backlog. The scrum master may not be as technical as the rest of the team, so the development manager can step in to lend valuable context between the scrum master and the team when a knowledge gap appears. As the team matures in it's application of agile, the scrum master focuses less on estimation and more on optimizing the velocity of delivery.
The scrum master also acts as an agile coach for the larger organization, helping the team adopt and own agile practices throughout the product life cycle: story point estimation, sprint planning, and continuous delivery. The coaching aspect of the scrum master’s job is critical. As agile experts, they know why agile is right for the project and the company, and can be an advocate for agile when a company is working through the growing pains of adopting it.
Scrum masters and development managers partner in agile portfolios
Most waterfall teams are manager-centric. They look to managers to set priorities, track progress, and evaluate performance. By contrast, agile teams are self-organizing teams that own their roadmap and delivery. To make this work for larger organizations, scrum masters and development managers work together to build an agile culture throughout the organization and act as a buffer between teams and C-level management. Since both roles work across multiple agile teams, they are key members of the agile portfolio.
Focus the scrum master on the team's adoption and implementation of agile, and the development manager on hiring the right individuals, mentoring existing team members, and ensuring good development culture in every team. Both roles, working together, will foster high-functioning agile teams.