October 3, 2023

How We Use Our Own Feature Flags at Harness

Table of Contents

Harness effectively uses feature flags to manage feature releases, enabling early access, rollbacks, gradual rollouts, customer-specific troubleshooting, and testing in non-production environments. This approach minimizes disruptions and enhances user experience, showcasing the flexibility and control provided by feature flags.

Have you ever wondered what using Feature Flags at a company looks like? Well, we thought we’d just share how they’re used here. At Harness, we don’t just build products to enable our customers but also to strengthen our own teams. Before even launching Harness Feature Flags, different teams were stress-testing our product for their use-cases and were our true initial customers. To this day, teams like our Customer Success Management (CSM) team use Feature Flags daily for various purposes.

Customer Success Management Team's Feature Flag Dashboard
CSM's Feature Flag Dashboard

Early access to new features

The CSM team provides select customers early access to new features or improvements. This allows them to gather feedback and identify potential issues before rolling out the feature to a broader audience. This also gives other customers confidence that the new features are field-tested when they are generally available (GA).

Rollbacks and mitigation

If a new feature causes unexpected issues or negative customer feedback, the CSM team can quickly roll back to a previous version or disable the problematic feature. This helps to minimize customer disruption and maintain a positive user experience.

Gradual feature rollouts

The CSM team gradually rolls out new features to a larger user base, starting with a small group of customers. This gives them valuable observability and time to monitor the performance of the feature and make adjustments as needed. They also communicate with customers about the release process and let them know that feature flags are used to gradually roll out new features. Companies may not always be sharing their backend workflows with customers, but when trying to create trust and reliability, it can be key. According to Ruchira Bajaj, a CSM Manager, “Telling the customers that we use Feature Flags to gradually roll out new features gives them confidence in our release process”.

Customer-specific troubleshooting

If a customer encounters an issue or has unique requirements, the CSM team can use feature flags to turn specific functionality on or off per customer. Dealing with time sensitivity issues or asks from customers requires flexibility that can always be hard to have foresight on. For Ruchira and her team, “this level of granularity can be helpful for troubleshooting and providing tailored solutions” in order to ensure customer satisfaction.

Customer testing

The CSM team works with several customers who have two instances of Harness. They first enable a new feature on the customer's development/sandbox instance and ensure that there will be no impact on their production deployments. Once the customers have tested the new feature, the CSM team enables it on their production instance of Harness. This allows customers to test new features in a non-production environment before enabling them in production, which helps to minimize the risk of disruption to live customers.

How Harness Feature Flags can enable you

Just as the CSM team takes advantage of them for their own work, here are some of the key benefits of using Harness Feature Flags for your project:

  • Automated rollout pipelines: Harness Feature Flags allows you to create automated rollout pipelines that can be used to deploy new features to production in a controlled and predictable manner.
  • Governance: Harness Feature Flags has the most in-depth governance tool with  Harness Policy as Code, powered by Open Policy Agent (OPA), providing a number of capabilities such as role-based access control, approval workflows, and audit logging.
  • Automated lifecycle management : Harness Feature Flags helps you manage your flag tech-debt by detecting potentially stale or deprecated flags and automatically removing them if needed
  • Integrated with CI/CD: Since Harness covers a range of software delivery products, you can easily integrate your feature flags into CI/CD as a unified pipeline that helps maintain the flags as part of the software development lifecycle.

Conclusion

Teams like Ruchira’s and other development teams around Harness count on our product just as much as our customers do to ensure reliable feature releases, among other use cases. If you want to start enabling your team with Harness Feature Flags, get started for free now!

Feature Management & Experimentation