Building software is easy, but building high quality software is very hard. It requires a high performing team to make this happen. Just days after starting in Turing, I kickstarted the effort to elevate product excellence through nurturing autonomous high performing teams.
The effort was met with strong support from other senior engineering leads. Together, we successfully tamed many problems which has both significantly sped up software development, reduced P0 + P1 incidents, and made lives a lot more easier for engineers and end users. That being said, this is a constant process of improvement that we continue to do to this date.
(One thing to note, this was written at the time for Turing's situation and YMMV, so what is not emphasized here may be something you need to focus on instead. This is also a re-feature of the article into the permanent home of substack!)
Without further ado, here it is!
A High Performing Team
A high performing team is an autonomous team that delivers measurable high-standards results relevant to the company's key strategic initiatives in a timely and sustainable manner.
Autonomous
Members of the team have a strong situational awareness of their own team, partner teams, and company's strategic focus. Each member may have well-defined roles and responsibilities, but they understand the big picture of how their work fits in the big picture, i.e. the "why". They proactively work with cross functional members as needed.
When they are blocked, or need help, they do not wait for orders from above, but proactively find out the relevant information or person to unblock them; they notify impacted key stakeholders instead of thinking "others will figure it out".
The team as a whole can operate without having leadership to directly give orders on each step.
High-standards
Do the right things and do things right. The team puts the users first and thinks end-to-end product quality. They regularly validate that their efforts and investments are relevant to the important strategic directions of the company.
There is a strong focus on and respect for engineering excellence. Designs strive to make the software easy to maintain and agile without over-engineering; the engineers always make the codebase better than it previously was.
Timely
The company's success relies on the team's ability to fulfill the commitments to the users/developers/customers/internal users at the committed time frame. The team exercises judgement without signing up too many P0s to appear impactful, but prides themselves on being able to achieve and exceed the commitments and expectations.
They stand behind their estimations and commitments, and make an effort to iteratively improve on their commitments even if it differs this time, and improve on it next time.
Sustainable
The team can consistently stay and even become more high-performing without sacrificing the team's physical and mental health, or through upsetting the end users or partners or losing trust.
The team can repeat what they have done well; the results are not a one-off only or fluke; they are consistent.
I hope that this writing will be helpful and inspiring to those who aspires to build a high performing team. In future, perhaps I shall write more about the problems we faced and the lessons we learned.