Improving Technical Quality
When building for an entire engineering organization, anything you do well will speed up the organization. One of the goals of Engineering leadership teams is to maintain a good level of technical quality. Improving quality should come while devoting as much energy as possible to the core business.
Measure technical quality to guide deeper investment. Adopt best practices that are known to improve quality.
Adopting best practices requires organizational and leadership maturity that takes time to develop. The transition from fixing hot spots to adopting best practices comes when you’re overwhelmed by too many hot spots to cool.
Two practices help with quality efforts for most Engineering organizations out there. Technical Quality Team and Quality Program.
Technical Quality Team
A technical quality team is a software engineering team dedicated to creating quality in your codebase.
The technical quality team creates systems and tools for quality. There’s a fundamental tension between centralized quality teams and the teams they support. Instead of having a specific group of people dealing with quality, rotate the members across every team.
Quality Program
A quality program takes on the broad remit of achieving the organization’s target level of software quality. Run a quality program to measure, track and create accountability. Generate sustainable, reproducible metrics.
Rather than reaching for process improvement, start by donning the performance engineer’s mindset. Identify program goals for every harmed team and a clear path for them to do those goals. Build the tools and documentation to support teams toward their goals.
Keep your program lean enough to cancel, and remain self-critical enough to cancel if it ceases driving quality creation.
[¹]: Will Larson (2021): Staff Engineer (https://www.amazon.com/Staff-Engineer-Leadership-beyond-management-ebook/dp/B08RMSHYGG/ref=tmm_kin_swatch_0?_encoding=UTF8&qid=1669120931&sr=8-1)