In the latest episode of To Be Continuous, Edith and Paul discuss 5 topics that are relevant to most startups. They first examine how you can constructively tell someone that their startup sucks. They then look at why it’s a bad idea to outsource early stage development. They also discuss what makes a good gift and delve into the downsides of flat organizational structures. Paul also shares his impression that Hacker News comments are becoming too Redditified. This is episode #33 in the To Be Continuous podcast series all about continuous delivery and software development.
I’m thrilled that LaunchDarkly, the leading feature flag management platform, has a Net Promoter Score of 50! Net Promoter Score is a measure of how much customers are willing to recommend a product. 30 is an average score for a tech vendor, so to be in top tier of tech vendors is wonderful validation for us. But the NPS score is just a scalar. What I really enjoyed hearing was customer appreciation of how LaunchDarkly’s feature flag platform was easy to use, reliable and powerful. We help less risky better releases, allowing business users and developers to collaborate for an overall transformative experience. LaunchDarkly customers are happy that they don’t have to build a feature flagging platform in house. Don’t take my word for it – here’s what our customers have to say:
- “Feature flags are the future, you help reduce the barrier-to-entry.”
- “It’s amazing – changed the way we release new features.”
- “It’s cool tech that works well. Encourages good develop and release practices.”
- “Launch Darkly is a really good service and should be used for good software practices.”
Ease of Use
- “Very convenient and fast way to roll-out new feature to users.”
- “Very easy to use. Easy to setup targets. Easy to roll out and rollback if needed.”
- “It offers more flexibility and ease of toggling new/development features with the rollout and inclusion/exclusion features than our previous solution.”
- “Much better way to introduce a new or changed functionality, compared to configuration changes”
- “Easy to use. Great UI”
- “Really like how configurable things are in LD, esp access controls, etc. Very easy to use”
Reliable and Powerful
- “It’s an incredibly powerful feature flagging system, the best I have ever come across. So far it the uptime, and performance is perfect.”
- “Its awesome and is a key component in hitting uptime targets”
- “so easy to turn on and off functionality . Efficient, performance – wise.”
- “The service has been really reliable.”
- “We’ve had a case where a third party failed and was causing our systems to crash. Lucky we had a feature flag that covered that part of the code and was able to turn it off until the problem was resolved.”
- “Instant availability of changed/created flags. Super easy to create and change flags.”
Less Risky, Better Releases
- “I like the concept of using feature flags as it allows us to ship new features without having them complete. I’ve already recommended LaunchDarkly to a few of my developer friends. :)”
- “It has made releasing new features less stressful and made the release of features along with training and marketing materials a snap”
- “The ease of use through the user interface of the exclusion and inclusion is really helpful for my day-to-day. I can easily set up two different users, environments, etc. to test against a feature on vs. off. It also makes the release process less stressful!”
Buy vs Build
- “Feature toggling is critical and nobody should be writing code to solve a solved problem.”
- “Great tool replacing custom flagging mechanism, cost effective.”
- “It is easy to use, and way better than having to implement your own functionality”
- “It’s cheaper than developing the capability yourself. Generally if something is not core to your business or something that differentiates you in the marketplace then I think you should try to outsource it to a 3rd party. Feature toggling is an excellent example of that.”
- “Provides all the functionality plus more that teams internally were building themselves”
- “It is a better “buy” of feature flags than any of us would reasonably “build”.”
- “It allows us to offload management of which features are exposed to whom to our customer success team, so the engineering organization doesn’t have to make a change in our database or build our own internal launch darkly.”
- “Saves our devs time and allows me to quickly tailor settings before demos, trainings, etc.”
- “Has completely changed how we’re able to manage our release process. We now implement flags on each new feature and we can keep deploying as long as the build is green, the product/marketing teams are then responsible for launches once they’re satisfied.”
- “Controlling features on the dashboard is incredibly easy for engineers to non-tech people”
- “Was really simple to get the developers to adopt, almost as frictionless to explain the concepts to the product/marketing teams.”
As CEO & founder of LaunchDarkly, I love passing along kudos to our team:
- “Thanks for making such an awesome product!”
- “Keep up the good work. Keen to see what you’ve got coming up.”
- “keep up the good work :)”
- “Awesome job!”
- “keep doing what you’re doing’
- “LD seems like _such_ a small thing, but I think you’ve made a really good product”
As good as 50 NPS is, we still have room to improve, so we’ve set a target for 60. I’ve personally read all your feedback, and we’re looking forward to improving so our customers are even more likely to recommend us. Feel left out? Want to make your voice heard? Look in your email for your own invitation to our NPS survey – I really do read every one.
Decoupling feature rollout from code deployment and the rise of user-centered deployments
The Origin of DevOps
In 2008, Patrick Debois laid the foundations for DevOps at an Agile conference in Toronto. He was trying to come up with a solution for the inherent conflicts between developers and system admins. Both disciplines seemed to be at odds: developers wanted to release software more frequently, but system admins wanted to ensure stability, performance, and scalability. While this conflict isn’t necessarily black and white, it highlighted the need for developers and system admins to no longer consider themselves as mutually exclusive roles, but rather as cross-functional partners.
A year later, Paul Hammond and John Allspaw gave a talk at the Velocity ‘09 conference that highlighted the necessity for cooperation between Dev and Ops. This inspired Debois to coin the term “DevOps” (#DevOps), which quickly picked up momentum (and a fair share of controversy).
Now, with the proliferation of DevOpsDays meetups and DevOps communities around the world, the movement has accelerated.
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 & 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 a week.
While there are many open source feature flag resources, they require some substantial integration effort and internal management – and often do not satisfy the performance demands of an enterprise product.
LaunchDarkly’s feature flags as a service is used by PMs at BEHALF, Auction.com, and CircleCI to manage their feature flag driven development cycles. If you’d like to learn more, check out LaunchDarkly to see how it works.