Critical Roles for Building Great Apps: Leadership
Find me on: LinkedIn
Good leadership has always been a key component when building great software.
In the past, Project Managers often held those keys to success. But today’s Agile development methodologies are much different. In Scrum, for example, you won’t hear the term “project manager” at all. That’s because Scrum follows more of a “servant leadership” style designed to empower your mobile app development team.
Let me be clear: there are no managers on a Scrum team, regardless of a member’s roles outside of it. In fact, the normal hierarchies of authority – i.e. management – should not exist or be recognized within the Scrum team if you expect that team to fulfill its function.
Even leadership is a term I use reluctantly when it comes to Scrum teams. The leadership roles I describe in this article, for example, are not about managing people, but rather about taking ownership of important processes. In this sense, others outside the team might see them as leaders or as “go to” people for the team. But inside the team, the goal is to operate as a collective whole, where every voice and contribution is weighted equally.
Don’t be misled… good leadership is just as important today as it ever was. But in Scrum-based mobile app development, leadership takes on a servant role. And management roles outside the team should not exert their authoritarian wills, but rather collaborate, support, and guide.
In this article, I’ll share the primary duties of the “leadership” roles on a Scrum team… and how these roles are process ownership rather than management driven. I’ll also discuss the role of management outside of the Scrum team, what their inputs should be, and how their interactions and support can hugely influence the success of your development.
On the surface, you might be tempted to identify a ScrumMaster as the Project Manager.
The ScrumMaster really has just one major purpose: to make sure the team adheres to Scrum principles and any process enhancements the team has found to be successful. Unlike a project manager, the ScrumMaster role has no innate authority over the team. Instead, the best ScrumMasters act more as coaches, guides, and facilitators throughout the mobile app development process.
Agile Alliance defines the responsibilities of the ScrumMaster as:
- Clearing obstacles
- Establishing an environment where the team can be effective
- Addressing team dynamics
- Ensuring a good relationship between the team and Product Owner as well as others outside the team
- Protecting the team from outside interruptions and distractions
Scrum.org elaborates on the ScrumMaster’s service to each of the other disciplines of the development team. At the highest level, “the ScrumMaster helps those outside the Scrum team understand which of their interactions with the Scrum team are helpful and which aren’t. The ScrumMaster helps everyone change these interactions to maximize the value created by the Scrum team.”
The Product Owner
The purpose of the Product Owner is to manage, maintain, and clarify the product backlog. Period.
Like the ScrumMaster, the role carries no innate authority over other development team members. But the influence the Product Owner holds over the direction of the project is significant. That’s because the product backlog is the to-do list for the project team and sets the tone for everything they do.
The Product Owner carries the enormous responsibility of making sure the priorities as presented in the product backlog reflect the organization’s business goals. As such, they often act as liaisons with business stakeholders outside the team to define and prioritize those tasks.
According to Scrum.org, the responsibilities of the Product Owner are:
- Clearly expressing product backlog items
- Ordering the items in the product backlog to best achieve goals and missions
- Optimizing the value of the work the development team performs
- Ensuring that the product backlog is visible, transparent, and clear to all, and shows what the Scrum team will work on next
- Ensuring the development team understands items in the product backlog to the level needed
As you can see, these responsibilities have as much to do with communicating and clarifying the meaning of product backlog items as they do with prioritizing the tasks themselves. Agile Alliance elaborates on this point by adding that a Product Owner needs to “clearly identify and describe product backlog items in order to build a shared understanding of the problem and solution” for their mobile app development team.
The Technical Lead is not an official Scrum role, but many development projects would be ill-served without one. In my experience, the Technical Lead provides a perfect complement to the ScrumMaster and Product Owner.
Some of the responsibilities attached to the role of Technical Lead are:
- Helping the Product Owner understand the technical nuts and bolts involved in building new features
- Participating in a “community of practice” with other Technical Leads in their organization to help drive the overall product architecture at the company
- Mentoring junior developers on the team
- Providing the “tie-breaker” vote when there are disagreements about technical direction within the team
- Looking ahead to consider how the features being coded today will impact the overall product architecture
Even on projects where the role of Technical Lead is not defined, chances are some senior team member(s) will step up to fulfill those duties. Actively naming a Technical Lead, however, encourages a greater sense of technical strategy and helps move the project forward by eliminating the technical stalemates that sometimes occur.
But just like the other leadership roles, the Technical Lead is not there to manage or dictate the technical decisions of the team. The point of the Technical Lead is to ensure collaboration from all the technical team members and to help drive the direction of technology in the best possible direction.
Project Champion or Sponsor
While some organizations equate this role with the Product Owner, there is plenty of justification for appointing a Project Champion outside of your mobile app development team.
A Project Champion is someone who can influence the organization in order to provide the development team with better support.
Some of the responsibilities of a Project Champion would be:
- Maintain high levels of interest in the project throughout the organization
- Help the Product Owner connect with the right business stakeholders and subject matter experts
- Help the Product Owner and Technical Leads overcome obstacles and quickly obtain any answers they need to move forward
- Makes sure that Scrum principles are accepted and supported by senior management
- Represent the project in Executive Team discussions
Project Champions will typically be a level or two below your Executive Team, although in smaller (and flatter) organizations they’re sometimes key executives themselves.
Your Executive Team wields enormous influence throughout your organization. While not directly involved in your mobile app development projects, their support is vital.
The Executive Team provides the direction for those organizational business goals the Product Owner relies on. They set corporate expectations, create business requirements, and identify top priorities. At times, the progress and results of your mobile app development project might influence some of their decisions. So it’s crucial to keep the Executive Team up to speed.
On a procedural level, the Executive Team has final say in adopting, enforcing, and maintaining Agile practices such as Scrum in your organization. So the more buy-in you have from your Executive Team, the fewer obstacles your development team will encounter.
How you interact with your Executive Team varies by company, of course. If you have a Project Champion appointed, he or she will perform most of those interactions. If not, some organizations will filter development projects through a CIO (or Director level position in larger companies), while in others it could be the CEO, COO, or other C-Suite members taking an active interest in a particular project.
The Role of Leaders on a Mobile App Development Team
As I often explain to our Agile coaching clients, “The goal of a mobile app development team is to deliver the highest business value in the shortest possible time.”
With Scrum, leaders accomplish this through training, mentoring, coaching and supporting their team members. You’ll note that none of the Scrum team “leadership” roles I described – ScrumMaster, Product Owner, and Technical Lead – involve telling fellow team members how to do their jobs.
While these leaders might hold positions of authority in your corporate hierarchy, on a Scrum team no such distinctions exist. They’re members of the team, and they serve the responsibilities of their roles, just like everybody else.