What this book covers
Chapter 1, Introduction to Feature Management with LaunchDarkly, explains the modern software development landscape, where feature management fits within it, and how feature management can be integrated into CI/CD processes. This context will lay the groundwork for the following chapters to explain how feature management can be used to add value to products, teams, and businesses.
Chapter 2, Overview of Feature Management, details what feature management is, how it empowers development and product teams, and how it can be used to reduce risk. Examples are provided for the two main types of feature flag with a comparison between them. The chapter concludes with information about testing in production.
Chapter 3, Basics of LaunchDarkly and Feature Management, introduces LaunchDarkly, explaining how to implement the tool, detailing the functionality available to create and manage feature flags, and exploring the concept of LaunchDarkly's user system. Additionally, the chapter details the role management functionality of LaunchDarkly to allow you to get started in the right way.
Chapter 4, Percentage and Ring Rollouts, focuses on the percentage and ring rollout use cases for feature management. Examples of this include new implementations that need monitoring to validate that they are working as expected in production, through to rolling out a new feature to only a small group of customers and validating that their experience is good.
Chapter 5, Experimentation, explains the opportunities for experimentation and how to test in production. It looks at the types of experiments that can be performed and shows how LaunchDarkly enables teams to run effective experiments.
Chapter 6, Switches, explains the use of switches, how they are useful in certain situations, and how they can be managed by LaunchDarkly. The chapter also explores how LaunchDarkly can be used to manage permanent feature flags.
Chapter 7, Trunk-Based Development, explores one of the more extreme opportunities available to teams using LaunchDarkly, trunk-based development. The ability to safely test in production presents the opportunity to remove the need for feature branches and bypass any test environments entirely and this chapter looks at how to achieve this.
Chapter 8, Migrations and Testing Your Infrastructure, explains how infrastructure migrations can be performed using LaunchDarkly, especially to reduce the risk of them negatively impacting your systems. The chapter goes on to detail how your infrastructure can be tested in novel ways through LaunchDarkly.
Chapter 9, Feature Flag Management in Depth, details, in depth, the feature flag functionality within LaunchDarkly to empower you to get the most out of the tool. This covers topics from viewing and managing all your flags to being able to configure, target, and experiment with a single flag.
Chapter 10, Users and Segments, provides an overview of the users and segment functionality in LaunchDarkly. It details how to view, set up, and edit users and segments. Understanding how to target features to the correct customers is crucial to the success of feature management and this chapter covers how best to accomplish this.
Chapter 11, Experiments, shows how to set up and make full use of experiments in LaunchDarkly by detailing the types of metrics and events available in the tool. Being able to manage and gain insights from experimentation is essential for the practice of testing in production and this chapter shows all the ways in which LaunchDarkly aids in working with methodology.
Chapter 12, Debugger and Audit Log, details the Debugger section and how it can be used to view what is happening with flag, user, and experimentation events. Information is provided to show how powerful insight details can be. The chapter concludes with exploring the Audit Log section, which is useful to understand any changes within a LaunchDarkly project and/or environment.
Chapter 13, Configuration, Settings, and Miscellaneous., explores the Account section of LaunchDarkly, which provides functionality to manage the members of the team, including roles and permissions. It details the security features that can be enabled to control access to the tool, which is especially important given how powerful it is. The chapter also looks at the billing and usage information provided by LaunchDarkly, before concluding with a look at the profile functionality and history logs. While this functionality does not directly impact the feature manager, it is essential for good governance and offers the flexibility for the tool to be configured to suit any business' needs.