Best Practices for High Performing SaaS Teams

By Dr. Patrick Desbrow, Senior Vice President of Engineering, MomentFeed

MomentFeed - Patrick Desbrow - Lo Res
Patrick Desbrow, Senior Vice President of Engineering, MomentFeed
The highest performing cloud technology teams must be surrounded with process, product management and the appropriate tools to ensure high levels of quality assurance.

The software world is becoming increasingly tied to cloud technology, a fact we should embrace. Even with this new, exciting direction – unimaginable in days gone by – it is still essential for software as a service (SaaS) companies to execute the best principles of team management in order to create high performing teams and, therefore, meet their goals. So, as a technology manager, what are these best practices and how do we institute them?

The Goal: Team Synergy
First, the team. In the SaaS world, high performing teams usually consist of four roles:
1. Software engineer(s)
2. Quality assurance engineer(s)
3. User experience engineer(s)
4. Agile scrum master
Teams like this may sound commonplace today, but they are harder to create than many think. Members must work together as part of a unified platform. They must see the value in collaboration and cooperation since the code has to be combined; no single contributor can work alone on deliverables.
The goal of this team is synergy. As Steven Covey teaches in his #1 New York Times Bestseller The Seven Habits of Highly Effective People, if people work together in a collaborative way, their levels of productivity become greater than the sum total of their individual efforts. Becoming a high performing SaaS team requires synergy, and to get there, managers must enact these best practices:
1. Find each team’s purpose
2. Pick the best team members
3. Coach them like a professional sports team
4. Surround the team with a process

1. Find each team’s purpose
As a manager, you must direct each team’s efforts in the right direction. In my experience, there are often several internal stakeholder groups that lobby for access to the engineering team. Sales, professional services, support and customer success departments all jockey to be first on the engineering team’s priority list, but don’t allow them to hijack the product roadmap.
Balance the team’s priorities by starting with the business goals handed down by leadership. To be most helpful, these goals should include product features, bug remediation and technical debt projects. Next, inventory the internal stakeholder requests and map them back to these projects. Devote at least 70% of the team’s capacity to these priority projects. The remaining percentage can be allocated to other requests, rotating through each internal stakeholder group’s needs as part of the agile sprint cycle.

2. Pick the best team members
Unsurprisingly, you also need to combine the best people with the correct skills and appropriate personality traits. However, most managers do not have the luxury of creating their teams from scratch: they often inherit entire departments and existing teams. If this is you, take a look at each team’s construction and their corresponding sprint metrics. You probably need to make a change to the team if you have any of the following:

• More than half of the team members in remote locations or asynchronous time zones
• A pattern of slow burndown metrics (less than 13 story points per team member)
• Consistently low velocity percentages (<70% completion of the committed stories)
• Team member personality conflicts

3. Coach them like a professional sports team
A lot can be learned from the managers and coaches of professional sports and their high performing teams. Coaches are unmatched at scouting top talent who have developed their craft over many years, onboarding this talent, and developing each team member’s skills. Coaches are always on the field at practice and on game day. They assign each team member to specific roles that fit their strengths and the team’s needs, giving the group the best chance at winning.

The best technology managers think like sports coaches. Here are some ideas of how to implement this:
• Take time to develop your engineers into subject manager experts.
• Assign each technologist to the team and role that provides the highest impact.
• Invest time in their personal career growth.
• Teach and expect them to mentor other members of the team.
• Use the five agile meetings (sprint planning, daily scrum, sprint review, retrospective and backlog refinement) to stay close to the action.
• Create coaching opportunities that result in better story planning, better standups, better delivery and better retrospectives.

4. Surround the team with a process
To have a high performing team, technology managers should always surround their teams with process, project management and the appropriate tools that ensure high levels of quality assurance. Product managers and quality assurance engineers work together to define and test the agile epics, stories and tasks. This works best when you use software tools such as Jira to enforce the workflows and add steps for QA and product management review.

Take a look at your software development teams and your managerial support. Evaluate the synergy and best practices. Are your teams consistently performing at the highest levels? We can all improve, and your team is counting on you to provide structure and guidance to remain competitive in software development and cloud technology. Good luck!