Metrikus gathers information from building systems and sensors to help their customers understand their buildings more efficiently. They work alongside industry experts to bring customers the best solutions with the most meaningful output, aggregating data across 4400+ different connectors. Metrikus is all about removing barriers, bringing data together, and putting it into the hands of the people who need it. It is their mission to digitise the entire built environment leading to smarter, healthier, and more sustainable spaces.
Sam Hall, Head of Technology at Metrikus, led the adoption of feature flags across the organization. This is their story.
Too Much Risk, Too Slow Of A Release Process
To put it simply, Metrikus needed to be able to reduce the risk of feature deployment while simultaneously increasing the velocity at which they shipped code.
Where many of their peers can accept a 0-15% change failure rate, for Sam and Metrikus, this tolerance is nonexistent: they need to essentially hit 0%. Because of how much data they aggregate and how sensitive changes can be, any deployment carries with it high levels of risk. And as it is core to their business, it compounds the need to get it right.
Their process was governed by a monthly release cycle, so each deployment was a “big rocket launch,” and the Metrikus team wanted to get away from that. Not only did it introduce more risk, but it was a reflection of how long customers had to wait to get changes or new features in their hands.
At the same time, it meant that product releases were solely the responsibility of Engineering, when that responsibility needed to be shared with Product and Marketing. Sam wanted to decouple engineering pushes to production from the actual feature release to the customer, which would reduce inefficiencies on launch day and give non-Engineering teams control over the customer experience.
“We want developers to get code to production as quickly as possible without endangering the platform’s stability.”Sam Hall | Head of Technology | Metrikus
As part of the solution, Sam and team wanted to do smaller, more controlled releases. They wanted to be able to test multiple versions of a feature, to QA features in production, and to reduce the effort and risk associated with each release. With their existing setup, if they wanted to roll out a feature to a small subset of customers, they would need to use complex deployment patterns such as blue-green or canary, or suffer a moment of downtime. And then, they’d need to deal with rollback mechanisms – a set of problems on their own! Even if they did adopt these advanced deployment patterns, they still wouldn’t have the desired level of feature control.
Based on this assessment, the Metrikus team chose to pursue feature flags as the solution of choice to solve their issues – but the right solution needed to elegantly solve for their complex needs. When they found Harness Feature Flags, they were thrilled with the results.
Getting Started With Harness Feature Flags
Sam and team chose Harness as their feature flag solution. It was important to them to easily integrate their feature flag solution into their code, and fit into existing processes to create a good developer experience. With Harness, that’s exactly what they got. Integrating the right SDK “was as easy as it could possibly be,” according to Sam, and the feature workflows allowed everything to flow nicely and seamlessly into what they had in place. To get started with Harness Feature Flags, it took the team “6 commits and a few hundred lines of code.”
Since part of their value proposition is efficient data aggregation, naturally, Metrikus ingests lots of data from their 4400+ connected data points. Because so much is dependent on service state (and state changes rapidly with so much data), the team found that other tools introduced too much latency due to bloat, making it more difficult to deliver on their core value and to effectively instrument a scalable feature flag solution that met all of their needs.
And because of the scale at which they needed to operate, in addition to latency concerns, it was important that a feature flag solution work nicely with their CI/CD pipeline – a concern they found that was alleviated by Harness, as the platform integrates feature flags into the CI/CD pipelines! In Sam’s words: “The other feature flag tools we evaluated wouldn’t have scaled with us, we would have had to transition off of them as we grew.”
“Harness Feature Flags has enabled us to implement true CI/CD. We’re shortening our commit-to-production time by 3x, releasing features to customers faster and more safely than we could before.”Sam Hall | Head of Technology | Metrikus
Harness Feature Flags has allowed Metrikus to deploy code faster with less risk. There are no more “big rocket launches” and they are able to deploy and test small incremental changes. They’ve been able to cut down their lead time for change by a factor of 3x, or 66%. When speaking to the difference, Sam mentioned their new Wellness Panel, stating that previously, it “would have taken around 3 months to start trialling with customers.” Instead, they were able to do their trial release in month 1, incorporate feedback in month 2, and release on schedule in month 3. “It is allowing us to release features earlier to a set number of customers.”
With Harness, Metrikus is able to test different versions of features in production and choose the best working version for continued use. This lets them try more things or take more risks (ironically enough).
“We’re able to take smarter risks about feature development by using Harness Feature Flags. If we have two ideas on how to solve a problem for a customer, we don’t have to decide internally on one and push that. Instead, we can create MVPs of both ideas quickly, and test with customers in production to see which best helps them achieve their goals.”Sam Hall | Head of Technology | Metrikus
Now at Metrikus, responsibility for releases has been diversified from just the Engineering organization to Product and Marketing. This allows other sides of the business to decide the opportune moments to release new features, and frees up Sam’s Engineering team to focus on building the right solutions for their customers, while the people closest to the customers can ensure they get what they need, when they need it.
“Harness Feature Flags has enabled us to hand over control of feature releases to the business, decoupling Engineering pushes to production from the actual release of a feature to a customer.”Sam Hall | Head of Technology | Metrikus
With a better developer experience, more feature releases, and less risk to the business, Metrikus is well on their way to creating the technology platform that they have envisioned. With improvements like these just a few commits away, why don’t you give Harness Feature Flags a spin? Try it today.