Skip links

What is the secret of high-performing teams and how to achieve this 10x factor?

Over the past 20 years, I’ve had the privilege of leading high-performing teams that delivered quality software continuously, multiple times per day. I have also been responsible for product teams struggling to release once a quarter, hampered by quality issues.

The contrast in skills and behaviors between these teams has been stark. Reflecting on these differences, I’ve been driven to understand the root causes. Turns out, it’s not that simple. The environment, especially the role of top management, plays a big part. I could easily write an essay about top management being in the way 🙂. But, once you manage to fix that, what actually prevents a team from achieving excellence and how do you really measure performance?

I decided to write a series of posts about it starting with this one:

  • What is the secret of high-performing teams and how to achieve this 10x factor? 👈
  • The Westrum organizational culture and the importance of creating a safe environment.
  • Creating a culture of engineering excellence and team progress.
  • Deep dive into developers’ mentoring.
  • How will AI impact engineering performance?

So, what is the secret of high-performing teams?

One week, as I was traveling and meeting a newly acquired team, the engineering lead described their CI/CD process to me:

  • him: We have the build that can take about an hour. Then we run our API tests, about 1000 in a staging environment for a couple of hours, and then…

  • me: (I interrupted him) How long does it take from a code commit to release/production?
  • him: Well, about 2 weeks if we include the manual testing.
  • me: Is that a problem? I mean, such a long feedback loop for your developers.
  • him: No, because in the meantime, our developers work on something else, another branch.

That was a rough start…

Interestingly, on the same day, the lead of one of my top-performing teams reached out with a different kind of concern: “Laurent, I think we need to ease up on rolling out new features. Our tests, all 7000+ of them, are now taking over 15 minutes to run. That’s too slow for us and is holding the team back. We need to fix this ASAP.”

These 2 conversations perfectly highlight the massive gap in performance, skills, and expectations across teams. The difference couldn’t be starker.

So, you might wonder if there’s a playbook to go from being a low-performing team to a high-flying one, and what’s the biggest game-changer to make that leap? But first, let’s get clear on what we actually mean by ‘performance’.

Decoding Performance with the DORA Framework

Enter the DORA framework (DevOps Research and Assessment), our GPS for navigating the complex world of software delivery, showing us exactly where to zoom in for improvement. It proposes 4 metrics (Deployment Frequency, Change Lead Time, Change Failure Rate, Failed Deployment Recovery Time). Their research, based on 36,000 professionals worldwide, shows a causation between these metrics, delivery performance, and organizational performance.

You don’t have to pick between velocity and quality. That was a lie. You can and should have both. And this is backed by science. And, DORA proposes a playbook, 27 capabilities that you should invest in to improve your performance as measured by the 4 metrics. It includes technical capabilities like CI, Test Automation, Loosely Coupled Architecture, and many others, including process and culture capabilities.

Building these capabilities will improve your delivery performance and your business! That’s precisely why investing in our developers’ growth is so critical. Building skills is the root of any progress on these capabilities. The Playbook is there, opensource, knowledge is accessible and free.

Then, it’s all about upskilling the team

Upskilling developers is not just about enhancing their technical capabilities; it’s a holistic approach that includes improving their problem-solving skills, adaptability, and ability to work collaboratively. Focusing on upskilling helps create a culture of continuous learning and innovation. It involves:

  1. Continuous Learning (one of the DORA capabilities): Encourage and provide resources for continuous learning. This can include access to online courses, attending workshops and conferences, and regular training sessions.
  2. Mentoring and Coaching: Pair less experienced developers with mentors who can guide them, fostering an environment where knowledge sharing becomes second nature. This not only accelerates the learning curve but also builds a strong sense of community and support within the team.
  3. Feedback Culture: Cultivate a culture where constructive feedback is regularly exchanged. Make it clear that feedback is a tool for growth, not criticism. This encourages developers to stretch their boundaries and continuously improve.

These are the three levers I have used to upskill the newly acquired team I mentioned at the beginning of this post. A few of my best tech leads have spent weeks with this team, mentoring and coaching them on TDD, automation, design patterns… And after a 2-year journey, they were able to deploy without downtime and release at the end of their 2-week sprints.

So, it’s all about upskilling teams, and this is exactly why I joined Packmind. Its mission resonates deeply with me: to elevate developers by putting the human element at the core of creating sustainable software. The Packmind platform accelerates the skill growth of developers by integrating learning directly into their workflow, making knowledge accessible right when and where it’s needed.

Skills are also the biggest factor contributing to the value delivered

Frameworks like DORA have dramatically improved our approach to team performance. Yet, the value delivered by a team remains an elusive notion. Regis Medina, during FlowCon 2022, brilliantly summarized this value in a simple formula:

Value = Quality / Total Cost, where:

  • Quality encompasses all quality attributes of the project, including the achievement of functional scope, reliability, maintainability, scalability, security, etc.
  • Total Cost includes not only the development cost but also the costs of operation, support, and maintenance of the project over time.

Thus, exceptional teams know how to maximize quality while optimizing costs. And guess what! Developer skills are the key factors in maximizing the value produced!

Skilled developers and teams are more adept at identifying opportunities for cost reduction and, therefore, maximizing the value produced. They will know how to create sustainable software that can be run and supported cost-effectively using DRY, KISS S.O.L.I.D, and the right design. Skills are key to achieving that cost reduction.

On the numerator side of the equation, there is always a tension between quality and total cost. Establishing the right compromises is what truly defines the success of a project. The developer’s expertise also consists of better understanding customer requirements, constraints, and focusing on what really matters to build a quality product.

So, developer skills are what really enable them to maximize the value produced, thus ensuring the project’s success.

Conclusion

And that’s why my playbook has always been about creating a learning organization. The secret to unlocking a team’s full potential lies not only in the tools and processes we implement but in continuously investing in our developers’ growth. Upskilling is the cornerstone of transforming average teams into high-performing powerhouses, capable of not just meeting but exceeding expectations and delivering exceptional value at speed.

This is beneficial for the individuals and the business. I have never compromised on that. Invest in your developers, coach, mentor, train them, and they will take care of your product! That also means that when I hire, I look for people who are eager to learn and coachable. That’s at the top of the list.

This is the 10x factor that distinguishes the extraordinary from the ordinary.

I am really curious about your own experience. What has been your most effective strategy for upskilling your team? How do you foster a culture of continuous learning in your organization? Please share in comments.

Leave a comment