Building High Performing Teams at Scale

John Walpole
JWalpole Consulting
7 min readDec 16, 2019

--

I recently joined a fantastic discussion on building high-performing teams at Lyft TPM.

Credits; thank you to the amazing mentors at Microsoft (James Stanbridge), Google (Kristen Johnson), Twitter (Steve Greene, Nate Van Dusen, Sara Haider), Easy Agile (Nicholas Muldoon). and Lyft (amy farrow, Amy Kim, Eran Davidov, Carlos Whitt, Peter Morelli and many more) who have helped me to tune this approach over many years. Also thanks to my fellow panelists Nariman Riahi from eBay, April Enoe, PMP, CSM from Uber, Matthew Yuan from Twitch, our awesome moderator Dolly Pratyusha Dogiparthy, and amazing organizers Billy Pham and Jaclyn Akers.

Strong stable teams increase focus on the right things for their customers, improve productivity & predictability, and create much happier team members. In addition, we should see:

  1. Significant increase in organizational stability. Re-orgs become much less frequent and team members are generally insulated from the impact when they occur.
  2. The leadership team will have much stronger levers for impact and can move away from tactical focus on trivial problems to a more strategic stance focused on strategy, prioritization, funding/investments, removal of systemic obstacles, and org alignment.
  3. Less management required, less territorialism, more cross-functional collaboration.
  4. More focus on optimizing our customers desires and the company’s success.
  5. Much more transparency and trust across the organization.

Foundation/prerequisites for an atomic High-performing Team

Purpose

Name: The team has a short, descriptive name that can be related to the primary technology. No non-descriptive code names (unless absolutely necessary)

Charter: The team has a <= 3 sentence charter describing its purpose. The Team Charter should have minimal overlap with other teams to avoid redundancy and conflict but should have a relationship to other charters.

Customers: The team has a definition of who its customers are, what their needs are, and

establishes an ongoing relationship to gather requirements and feedback.

Ownership: Teams declare what they own and maintain (features, services, technology, code). If a team is disbanded, ownership of their features and services should be transferred to another team (nothing is orphaned).

Content

Roadmap: The team has a multi-quarter roadmap and a set of quarterly OKRs (outcomes) that gives team members context to build for long term goals.

Backlog: The team has a single, stack-ranked prioritized backlog of work (pull system) that includes features, technical debt, architectural work, optimization, automation, tools, bug fixes, etc. The team builds in the order of the backlog to assure the highest priority work for customers gets done first.

Funding: The team has all the resources (headcount, capex/opex) it needs to operate autonomously and is funded sufficiently to achieve their charter to the satisfaction of their customers (speed through the backlog).

People

Dedicated Members: The team is a group of people who are not on other teams (EMs, designers, researchers may be on 2 teams, etc) with shared accountability for team outcomes. Dedication reduces context switching and improves productivity for team members. Our team members are diverse and inclusive — we build products for everyone in the world. We comply with and go beyond NISTIR8366.

Skills: Team membership is composed of the right mix of level (senior, mid-level, and entry level), technical skills (eg. software team = front end, back end, ios, android, etc.) to deliver on the charter.

Size: Generally we want the smallest possible team that can deliver their charter. We prefer 5–10 people on a team. Teams >10 lose relevance, shared accountability, increase coordination overhead, and lose productivity quickly. At the same time, teams should not be so small that they reduce effectiveness and connection to the greater goals. As programs scale (sometimes needing hundreds of people to deliver) they scale up in units of ~10 pulled together via a scrum of scrums model — modeled on Roman contubernium & centuria. https://en.m.wikipedia.org/wiki/Contubernium

Persistence & Stability: Teams with consistent team membership will outperform high-churn teams. We strengthen and stabilize teams by allowing team members to be persistent over a long period of time. We give teams the time to build strong bonds, optimize their workflow, deepen their understanding of their customers & their technology to achieve high performance.

Co-location: The team ideally has a physical location where team members sit, shortening communication channels to drive effectiveness and productivity. We may have distributed team members on some teams but we strive for this state where possible.

Characteristics of a High-performing Team

Characteristics of a High-performing Team are below. Teams that strive for excellence in these areas generally outperform their peer teams and companies.

Team Dynamics

Shared Accountability: High-performing teams win together and lose together. They collectively own their charter, the customer, and all of the work necessary to deliver on the strategy. Team members optimize their work to deliver collectively on the short-term and long-term team goals. No one works alone, no one is an island. There is no such thing as “I did my part” when the team has failed and the customer loses. Team members hold each other accountable while supporting their success.

Self Organization: Empowered, self-organized teams are motivated and realize the full potential of team members. Self-organization drives a stronger sense of ownership, learning, personal growth, productivity, and performance. Self-organizing teams decide how to implement, how much work to take on, and how to improve themselves.

Teamwork: High-performing teams optimize team throughput over individual efficiency. Teams that work well together are multipliers of their own productivity. High performing teams have a high level of trust between team members that drive effective collaboration and greater confidence in delivery. Team members work together on features and technology for their customers and help each other in need. Senior team members mentor other team members to fuel growth and make everyone feel like a member of the team.

Effective Conflict Resolution: High-performing teams know they will have conflicts in strategy, implementation, priorities, and how things get done. They are flexible and compromise when needed, always with the needs of the customer in mind. They have effective conflict resolution methods, have confidence in the system & their leaders, and don’t shy away from resolving as soon as possible. Decision making responsibility is clear and decisions are made within the context of the larger strategy and priorities. If a resolution cannot be reached locally the escalation path is clear to everyone involved and resolution at higher levels is swift.

Transparency: Full transparency builds trust. Providing full transparency to everything the team does allow customers and stakeholders to engage and partner in the process of building solutions to satisfy their needs. Transparency allows the team to be self-organizing and self-correcting while enabling help from outside the team to remove obstacles.

Adaptable and agile: High performing teams adapt quickly to new information. They possess the agility to pivot quickly when necessary to respond to new customer needs or changes in priority or strategy. They do this by limiting WIP, breaking down work into small vertical chunks, carrying little technical debt, maintaining 100% test passing, and listening to their customers. The only constant is change — which relies on our ability to adapt fast.

Content & Workflow

Healthy Backlog: The backlog is the central pull-system for the team with the quality of the backlog critical to optimal flow and team success. The team backlog should be stack-ranked, consistently groomed, made up of small, discrete items, that can be completed in one iteration, and include customer facing features, tech debt, broken windows, legacy automation, & architectural work. The backlog enables a portfolio approach to optimize the long term strategy while focusing the team on short term execution.

Limited work-in-progress (WIP): It seems counterintuitive but when we limit our work-in-progress we see our bottlenecks, we increase our throughput, we learn faster, and we deliver more effectively for our customers. When we exceed the amount of work we can handle, it heightens our distraction and decreases our concentration. Our attention to detail suffers, we leave things unfinished, or compromise the quality of our finished product. All of these outcomes create more work for us in the future.

Test Automation DNA: Testing is in the DNA of every high-performing team. The team has automated tests that provide sufficient test coverage for all parts of the product, technology, or hardware, the team has full visibility into the success of tests, and tests are passing everyday at 99%+. Software test suites cover unit, functional and integration tests. Any legacy test gaps have a roadmap and are on the team backlog. The team uses Lyft (or industry) standard test frameworks and tools.

Definition of Done: High performing teams build quality into everything that they do. They know that pushing product and technology into production that isn’t ready doesn’t delight customers and lowers team productivity. Having a shared team Definition of Done for incremental development & deployment ensures high-quality delivery every time for our customers, eliminates the “illusion of progress”, increases throughput & predictability, and makes the team more productive.

Continuous Improvement: Teams that continuously improve are able to continuously increase value delivered to customers. High-performing teams consistently look back at how they’ve performed with the goal of learning and improving their ability to deliver. They pursue candor and deep insights with each other to identify and address bottlenecks, obstacles, waste, tool deficiencies, and communication challenges. They regularly select one or two ideas to experiment with.

Outcomes

Delighted Customers: High-performing teams are customer focused and have delighted customers. They know their customers well, they engage with them and get feedback from them frequently and consistently. They know their pain points, as well as their dreams, wishes, and desires. The customers of high-performing teams believe the team understands their needs and has their best interests in mind.

Employees have Fun: When team members fully utilize their talents working on interesting and challenging problems in an effective system, work on a great team with teammates that they like, and make customers happy they have much more fun at work. Employees that find work to be fun are much more motivated, much more dedicated, and much more productive.

— — — — — — — —

Next up I am going to put together a piece on kicking off programs from day 1 as best you can to prepare for it scaling to hundreds of team members working on a single program. Please reach out to me if you are interested on Twitter John Walpole — I’m always looking to learn from others and hear about your experiences in TPM execution and delivery excellence. Thank you!

--

--

🇬🇧🇬🇬🇺🇸🏳️‍🌈 JWalpole Consulting | Alum @lyft @twitter @zuora @microsoft @microsoftalumni | tech investor | dog lover 🐶