Software development teams face a myriad of challenges. They’re charged with navigating complicated release processes that involve webs of compliance protocols, change approval boards, and time-consuming manual tasks. To further complicate their role, release success depends on the input and cooperation of other teams.
Every release comes with the inherent risk of failure, but modern product development techniques—including feature management—help minimize the risk and accelerate and improve the development process.
To discuss how teams can navigate these challenges, special guest and Principal Analyst at Forrester, Chris Condo, joined Head of Product for Amplitude Experiment, Wil Pong, for an insightful discussion on how development teams can better navigate and overcome challenges. They explored the current state of product development, the opportunities of feature management, and what product teams can do to innovate and thrive now and into the future.
- Top challenges faced by software development teams
- The current state and opportunities of feature management
- Emerging trends in product development
Read on for a recap of the discussion, or watch the full webinar on demand—Learn From Every Release.
The current state of feature management adoption
Feature management is the process of controlling and deploying software features using tools like feature flags for targeted testing and release. It helps make releases more efficient and less stressful and enables seamless experimentation.
Feature management also enables teams to make product improvements without waiting for other teams to deploy. Yet many organizations avoid adopting feature management for a variety of reasons, such as:
- The misconception that their technology and systems aren’t set up to support feature management.
- The fear that having developers in charge of releases will result in release governance violations.
- The belief that their product or organization isn’t sophisticated enough to justify the cost of a robust feature management solution. “We’re not Facebook,” they might say. “We don’t need to constantly release new versions of our UI.”
Chris argues that those concerns don’t play out. First, feature management solutions are compatible with almost any system you already have in place—regardless of architectural maturity.
Chris explains that while governance-related fears are understandable, commercial feature management systems can mitigate those concerns. “[With] professional commercial feature management systems, there are controls built-in,” says Chris. Product leaders can manage who can and can’t release, maintaining a separation between development and operations.
Additionally, Chris explains that feature management isn’t just for tech giants like Facebook. On the contrary, feature management tools are even more important for teams that can’t dedicate whole teams to building and maintaining a custom solution.
Feature management is critical for modern product teams. Consumer expectations for digital product quality are ever-increasing—regardless of industry. Although some might associate feature management with simply toggling features on and off, there’s much more to it. It's a whole new approach to product development and management, and it’s critical to meet those evolving customer expectations and thrive in a competitive market.
“Feature management as a technology makes sense for basically anyone who builds products out there.”
How feature management technology helps teams measure impact
Chris shares that to deliver exceptional products, many teams are switching from a project-based mindset (think: I have a deadline, I need to hit it) to a product-based mindset. In a product-based mindset, teams focus on impact and delivering value to end users. It’s not just about getting a feature out the door. It also includes measuring and iterating on that feature to ensure it delivers the intended value.
But to adopt a product-based mindset, feedback is essential. The most successful teams measure the impact of shipped features to:
- Understand how much users engage with them.
- Find out if they work properly.
- Uncover any additional value that they can deliver.
“If you deliver something and nobody uses it, it's either broken or nobody wants it. . . . If nobody wants it, maybe it's time to cut loose and work on something different. The worst thing that you can do is invest a lot of time in a feature that people find low value or don't care to use.”
Wil uses the example of a restaurant. Chefs in the kitchen need to communicate with the front-of-house staff. “The kitchen might think to themselves, ‘If I can cook this dish in less than five minutes, I'm a winner,’” explains Wil. Yet without feedback from the servers, the chefs won’t know whether diners enjoyed the dish or threw it in the trash and asked for a refund.
The kitchen is analogous to engineering teams. “You're really the heart of what we do in software. None of it runs without you. There's no food without you,” says Wil. But if engineering teams don’t get user feedback, they won’t understand what is and isn’t working. “You're going to keep spending money, and you're not going to understand why people don't come back. And then you're kind of stuck,” adds Wil.
The good news is feature management helps you gather that feedback from your users and increase feature release success with the ability to execute gradual rollouts and perform frequent testing.
Gradual rollout
Feature flags enable your teams to turn specific functionalities on or off independent of code deployments—which means you can gradually roll out new features. By exposing a feature to a small segment of users, you can monitor user interactions in real-time. A quick feedback loop enables your teams to quickly identify issues and understand how users interact with the feature.
You can then make changes before launching to the whole user base. “Always ship small incremental changes, always measure the value, and then adjust based on the value delivered,” recommends Chris.
Learn more about feature flags in our DevOps Transformation Handbook.
Frequent testing
“Science has proven to us over and over again that our gut instinct isn't always right,” says Wil. “Between eight and nine out of 10 bets that we ship don't yield the wins that we thought they would.” Experimentation and testing, however, help you land on those one or two winning ideas as soon as possible.
Chris explains that by using feature management systems, you can run a private beta in product where the people who are part of the beta are knowingly opting in, trying out the new version, and providing early feedback. That's very different from an A/B test, in which both experiences are public-facing.
Product development predictions
Like all facets of product development, feature management will continue to evolve. Based on his research and discussions with product and engineering teams, Chris shares a few predictions.
Feature flags will become standard
Chris expects that most mainstream DevOps platforms and CI/CD tools will incorporate a basic level of feature management into their systems. “Whether it's sophisticated enough to support all your end needs or whether it does everything you want is another story,” says Chris. But the days of just crossing your fingers and fully rolling out a big release in one fell swoop are gone.
Teams will try to build, then end up buying
Chris explains that feature management gets more and more complicated as you scale. He predicts a lot of teams will underestimate this complexity and try to build their own feature management systems. When they can’t navigate the complexity, they’ll buy a solution.
That experience, however, will help teams learn what functionality they want from an off-the-shelf solution. “The good news is once they feel the pain of [building their own system], they [will] realize quickly how to [make] selection criteria on what they are looking for,” says Chris.
More products will be personalized
Feature flags enable you to tailor features to specific user segments—opening the door to better product personalization. Chris expects more teams to make the most of this functionality to personalize their platforms to different user personas. For instance, they might offer new functionality to new users but keep the product the same for power users to avoid disruption.
Expect chaos at the start
Feature management is new. Chris advises teams to “expect chaos” at the start. There will be a learning curve before you start to reap the benefits of feature flags.
“You're going to learn new practices [and] new ways to develop software, but it's a learning process. And everyone goes through that inverted S-curve where everything looks great, then they scale it up, [and] everything looks miserable, but then they finally get a handle on it. And before you know it, it's like you can't live without it.”
Delve deeper into feature management
Feature management is the future of product development, and the sooner you can adapt, the better. To gain more feature management insights, watch the full webinar—Learn From Every Release—or check out upcoming Amplitude events.