Customer Story: Palo Alto Software
Palo Alto Software’s first feature flag allowed them to toggle on an incident response tool for specific accounts and determine root cause of reported problems.
Who are you and what is your role at the company?
I’m Jedidiah Hurt. I am the development manager of Outpost at Palo Alto Software
What does your company do?
We create products to help people succeed in business.
Can you highlight a few of the specific products your team builds?
We make LivePlan, a tool which helps entrepreneurs plan, fund, and grow their business—easily write a business plan, secure funding, and get insights to help you reach your goals.
We also make Outpost, the most intuitive shared email inbox for teams. It helps your team stay organized while providing quick and personal customer support.
You can view these at https://www.paloalto.com/software
Describe your technical platform and how your team builds software: Process, Methodology, Release Cadence, etc.
The stacks between the two products are quite similar.
Each product uses React on the frontend with a REST API powered by Java Dropwizard, and backed by Postgres. We use Elasticsearch for full text search, and Redis for an application cache.
We use a fairly standard agile scrum methodology with 2 week sprints. We release once per week, and are moving toward a more frequent release cadence enabled by feature flags.
How did you discover feature flags?
It’s hard to say. Probably when reading Jez Humble’s Continuous Delivery back around 2013
What was the first flag you implemented at Palo Alto Software and why?
The first flag we implemented gave us the ability to enable LogRocket for specific accounts without needing a re-deploy. LogRocket is an incident response tool when specific accounts report problems with Outpost. We turn it on temporarily until we have completed root cause analysis. Flagsmith has made this workflow much smoother.
Has feature flagging increased your deployment cadence?
Yes. It has enabled us to get new features into production more quickly and start gathering feedback from real users.
Has it brought any unexpected benefits?
None I can think of at the moment
What is the best piece of feedback you’ve received from a user?
I don’t think we’ve gotten user feedback which would be pertinent to our increased deployment cadence our integration of Flagsmith. How’s this instead?:
Flagsmith has made it possible to push experiments to production without a protracted QA certification process, and without the fear that we’ll need to roll back the entire release if the experiment doesn’t pan out.
What are the downsides? Or gotchas that others should be aware of when using feature flags?
Our biggest concern is failing to clean up unused flag paths after a feature has been fully rolled out. We have a process in place to create “clean-up” tickets any time we increase a feature’s rollout to 100%.
If you could add one feature, what would it be and why?
Built-in support for caching in the Java SDK. We have not yet started using Flagsmith in our backend because of the work required to build out a caching layer, as we don’t want to add the request latency overhead of calling Flagsmith’s API in our critical backend paths. We’re also trying to stay within our request quotas.
Thank you for taking time to share with us, Jedidiah!