Harness implemented a two-phase quality improvement strategy that significantly reduced customer-found defects (CFDs) and increased internally-found defects (IFDs), achieving more than 50% reduction in CFDs for targeted components. This approach involved stringent feature sign-off criteria, automation coverage targets, and a focus on both new and legacy features to enhance product quality without sacrificing development speed.
As a startup, one of our unfair advantages is speed. But, speed also brings quality challenges, a critical issue in the software delivery space. Our platform is mission-critical for our customers. Imagine getting hit with a product bug when you’re trying to deploy an urgent hotfix to your customers. Not a good state to be in!
Startups also tend to add significant technical debt to the codebase in their initial journey, resulting in speed and quality being in a zero sum game. Harness had a similar share of challenges a couple of years ago.
Customers were finding key gaps/defects in production. We were also introducing regression issues, which we failed to find within our development & release cycles.
Harness was growing faster than the pace at which our quality debt was being addressed.
We acknowledged the fact that the above strategy had its limitations, and came up with a clear quality strategy for both the new products and products with higher customer adoption.
The expectation was that the strategy should help us to keep up with the pace of delivering new features, as well as improving the quality of existing features.
When we started this initiative, we had limited bandwidth (as you do, in any high-growth startup!) so we decided to improve quality on two key dimensions in phase 1:
For all new features, we set stringent feature sign-off criteria:
This strategy resulted in:
Please note: We began this exercise at the start of the 2nd quarter of 2020-2021, hence the value derived is from 3 quarters of the 2020-2021 year. 2021-2022 is in progress (data covers 3 quarters - quarter starts from Feb). We have been adding multiple products every year without impacting quality goals.
We continued to review the CFDs and observed a pattern that, while we achieved significant reduction in CFD count for all new features (~<2%), we were still finding many CFDs in existing features that were developed 12-24 months before this time period (let’s call these legacy features).
This was impacting our customer experience. As such, we started with an approach that could give us clear and consistent results across legacy features as well.
We picked Product A, a legacy feature that had very high customer usage. We thoroughly analyzed it and came up with a strategy to make a stronger impact on the quality of our product.
Please note that we still had bandwidth constraints, hence our quality efforts were focused on specific components in each quarter (from mid-Q4 of 2020). This was extended to other components in our product over the next few quarters.
Product A
Product A has two project modules (let us call them A1 & A2).
While we considered Product A as a whole for our quality improvements, we were able to allocate desired bandwidth in module A1, but could not allocate bandwidth for module A2.
Product A - Module A1
While the above numbers were on Product A & Module A1 as a whole, we were able to achieve more than 50% reduction in CFDs for the components chosen in specific modules in their next respective quarters.
We understand that the quality problem we encountered is very common in the startup space, hence sharing our approach & learnings which could help others who are keen on pursuing a similar journey.
Here’s what we used as sort of a ‘quality playbook’ - and what we recommend for your organization:
Continuous product development that has 50% new features. For complex enterprise SaaS products, Defect Detection Efficiency is usually between 85-98%.
Notes:
Quality strategy in start-ups should ensure that we keep up with the required pace in the initial phase of product development as well as 90-95% DDE as we scale with customers.
Harness is a mission-critical SaaS platform with many enterprise customers doing north of a million deployments on a monthly basis.
We looked at the issues around quality and put together dashboards to identify where the bug clusters are, how to classify and prioritize them, identify gaps in the processes, and what we need to make sure any new code that is added to the codebase goes through the correct PR checks, testing, automation etc.
For further reading and for more background on the topic, read Product Quality — Measure what Matters. You can also download my Template for Actionable Root Cause Analysis of Software Defects.
Happy shipping quality products at speed!
Discover why Harness was named a Leader in the "GigaOm Radar for GitOps Solutions." Harness helps teams manage GitOps at scale and orchestrate rollouts across clusters and regions.