Agile in 2016: Product Managers Using Feature Flags
Agile in 2016: Product Managers Using Feature Flags
How feature flags in your product management pipeline can help communicate empathy and genuine feedback to your customers.
Join the DZone community and get the full member experience.Join For Free
The Product Manager
You are the king or queen of the product. You’re the engineer, the designer, the business mind, the marketer… in fact, you are a little bit of everything. You are the product owner, but more importantly, you are the leader.
In his article, Prasad Thammineni (CPO of Choose Energy) outlines the 9 qualities of a great product manager:
- Strategic Thinker
- Understanding the current needs of the product and how it fits with the company’s overall vision
- Passion for Products
- Love what you make, love what you do.
- Empathizes with the Customer
- Respect and understand the customer’s wants and needs.
- Interviews Customers
- Gather insights from your customers, learn their pain points and discover opportunities
- Aspires to Build Great Experiences
- Understands that user experience is paramount for product success
- Keeps Score
- Identify the key metrics and track performance, establish baselines to measure success
- Ability to Prioritize
- Keep things in order, understand what needs to be completed first and what needs to wait. Use customer feedback for prioritization.
- Collaborative Leader
- Management is a collaborative process, you cannot be dictatorial and expect to inspire your team.
- Action-oriented, you get things done.
To embody these 9 principles, you’ll typically see PMs use a myriad of tools to organize teams, manage development, QA, and track benchmarks (JIRA, Aha, Mavenlink, and about 10,000 others). Every aspect of effective product management seems to come with its own suite of tools, except for two: Customer Empathy and Customer Feedback (Interviews, testing), which I’ll explore in greater depth.
As a Product Manager, you must empathize with the needs and wants of your target audience. As Catherine Shyu (PM at FullContact) writes, “The product manager is responsible for knowing the customer like the back of their hand — their frustrations, their daily thoughts, the context in which they use the product, and their needs.” It’s one thing to ask your customers for feedback, to interview them during development, and to have them test your product before it’s launched. It’s another thing to have your customers test your product in a real environment or to provide certain customers with a personalized experience.
A key to empathy is the ability and capacity to take action on feedback. As Jennifer Winter notes, “Collaborative and creative empathy doesn’t equal sympathy. The goal of empathy is to support and understand the intent and purposes of others, which in turn will help you obtain insightful feedback.”
User interviews, in-person testing, assigning tasks, and conducting basic user research are fundamental to development a successful user experience. However, they each have a common limitation: artificial feedback.
When we sit down with a user and ask he or she to do something, we have taken that user out of their natural environment by forcing them to unnaturally provide feedback. The feedback we receive is still valuable, but it’s not purely genuine.
Genuine feedback comes from testing real users in a real environment without them knowing they are being tested. Imagine being able to test a new feature or experience to 1% of your real users before launching it to the rest? Actions often speak louder than words. If I rolled out Feature A to 1% of my users with the hypothesis that they will use it and then they don’t.. or they use it once and then never again.. that feedback is deafening. Now, imagine if you could just roll back Feature A completely and then use interviews/testing to figure out why the feature wasn’t being used, and then roll it out again.
Feature flag driven development enables this genuine feedback loop.
Feature Flags and Genuine User Feedback
PMs at Google, Facebook, and Amazon have integrated feature flags into their development cycle. This has enabled them to know how users react to a new feature before it has been released to everyone. It also helps them be more responsive to feedback without having to leave a "bad feature" out on the market for too long.
Let’s say Facebook wants to release a new timeline feature called Timeline Beta. This feature reorders timeline stories in order to increase user engagement. Timeline Beta has gone through all the rigors of internal testing, user interviews, and whole gamut of proper UX research. For launch, Facebook wraps Timeline Beta in a feature flag, allowing Facebook to have complete control over who sees the feature. On day 1, they roll out the feature to 0.5% of Facebook users to see how they like it. On day 2, they see a 20% decline in user engagement for those users who had Timeline Beta. On day 3, Facebook rolls back Timeline Beta via the feature flag and begins the cycle anew.
Imagine if Facebook released Timeline Beta to all of its users without an easy mechanism to revert to the previous version. They could have seen millions in lost revenue, caused a social media uproar, and turned users away. This is the power of feature flag driven development: the ability to take full control of who sees your new features and to test those features in a real world environment.
Getting Started With Better Product Management
Integrating feature flags into your development cycle does not require a complete process transformation or months of retraining. If you’re already practicing continuous delivery, feature flagging can become an integral part of your dev cycle in no time at all.
If you're an agile team, then you can think of feature flagging as a way to iterate safely and intelligently, without the risk of cripling your application or upsetting all of your users.
Featureflags.io provides a comprehensive hub for feature flag driven development and can provide you with a nice starting point. Atlassian also provides a nice conceptual overview of feature branching and agile.
Published at DZone with permission of Justin Baker , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.