Practices for Maximizing Technical Quality
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. When building for an entire engineering organization, anything you do well will speed up the organization. Adopt best practices that are known to improve quality. Measure technical quality to guide deeper investment. Two practices help with quality efforts for most Engineering organizations out there. Technical Quality Team and Quality Program.
A technical quality team is a group of software engineers responsible for ensuring the quality of a codebase. They do this by creating systems and tools to improve the code’s quality and implementing best practices for development. It is important to note that there can be tension between centralized quality teams and those they support.
Switch team members of the quality team to establish a culture of quality across groups to encourage teamwork. The rotation creates alignment and commitment toward excellence. This helps ensure all teams are aligned and working towards a shared vision of excellence in software development.
A quality program takes on the broad remit of achieving the organization’s target level of software quality. Identify a program sponsor. You can’t change an organization’s behavior without an empowered sponsor. 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. Build the tools and documentation to support teams toward their goals.
The best dashboard will be a scorecard for each team’s work and breadcrumbs on where to focus their subsequent efforts. Review the program status with your sponsor. It’s essential to approach quality efforts with a performance engineer mindset and set clear goals for teams. Be mindful of the potential for tension between centralized quality teams and those they support.
Ensuring technical quality is a fundamental goal for engineering leadership teams. It can improve the efficiency and productivity of the organization. Yet, remember that technical quality is not independent and can be affected by various factors and perspectives. It’s essential to adopt best practices and measure quality to guide investment. Having fewer bugs, the critical, relevant information will get lost in the noise. To ensure that the system works, the bugs that the team decides to fix must be prioritized over other work and must get fixed. Communicate with other groups, such as development, operations, and QA, to ensure everyone is on the same page regarding the codebase. Take part in code reviews to ensure that the codebase is of high quality and that any issues are identified and addressed early on. Set targets for each quality metric and watch progress toward achieving these targets.