Improving Product Discovery
16 January, 2020
Our teams are somewhat independent and take part in the delivery as well as product discovery. They are essentially responsible for the final value of the team. Product management had solicited faster prototyping and experimentation, thus urging developers to make changes in production more quickly than they were used to.
Knowing that the code would not be perfect by doing a prototype or experiment, we began by changing our peer review, test and release system to make it more flexible, faster and automated without sacrificing quality. Whereas we usually released every one to two weeks depending on the module, we gradually transitioned to daily releases. Smaller chunks of code were easier and faster to review, test and release.
We implemented feature toggles to hide features that were not yet ready through configuration on the production. We used the external tool at the beginning and then started to implement the internal tooling as it became more relevant for us. Our tool also allowed us to do canary releases and A/B testing, which targeted various groups of customers based on country, plan or account.
A subsequent effect of the SaaS application’s feature toggles was the overload of our helpline. We were running about 40 toggles at the same time and they were confused which toggles were on/off to the specific customer they were speaking with. We had to implement toggle overview into our CRM system in order to solve this problem.
In order to have qualitative data about prototypes, we started a user research program in cooperation with our customer success team. In other words: product teams can do demos with real customers on a daily basis and gain valuable feedback instantly.
The final issue we needed to solve was to have online data. We are now using a single tool for online data analytics and we also put all the data into a data warehouse (single source of truth) in order to see results from experiments and trends over time.
- Improving product discovery was a compound of several efforts. Each of its counterparts holds significant importance to the final outcome.
- You need to be able to do some qualitative and quantitative analytics with the customers.
- When working with prototypes and experiments that have imperfect codes, you want to work with smaller chunks of code and check them more frequently. Releasing the main modules every day is advisable.
- Dealing with 40 different feature toggles in the production is a lot and was not a challenge I had expected from the beginning. It created several miscommunications that we had to solve on the fly.
Murali Bala, Director, Software Engineering at Capital One, shares his experience of building a guest relationship management tool by embracing the customer-first mindset and working backward.
Director, Software Engineering at Capital One
Benjamin Ritchie, CPO at Cognism, demonstrates the importance of making implicit decisions and actions readily obvious when debating company-wide topics.
CPO at Cognism
Agata Grzybek, ex-Uber Engineering Manager, outlines her efforts to inspire mission-driven culture among engineers on her team.
Engineering Manager at ex-Uber
Damian Schenkelman, Principal Engineer at Auth0, shares the fundamentals of developing a technical strategy and explains how that process helped him improve the overall efficiency of his engineering organization.
Principal Engineer at Auth0
Marc LeBrun, VP of Engineering at Flow Kana and a co-creator of the Apple Mac, recalls how one of his early prototypes failed to meet the original intent but how that failure turned into an unanticipated opportunity.
VP Engineering at Flow Kana
You're a great engineer.
Become a great engineering leader.
Plato (platohq.com) is the world's biggest mentorship platform for engineering managers & product managers. We've curated a community of mentors who are the tech industry's best engineering & product leaders from companies like Facebook, Lyft, Slack, Airbnb, Gusto, and more.