LaunchDarkly Recipe: Automate the feature release process

Overview

Product teams often want to roll out new features iteratively, measuring adoption and collecting feedback from a subset of users before making the feature generally available. Pendo and LaunchDarkly have partnered to help our joint customers use Pendo to better target and engage users during this process.  Pendo data such as product adoption, renewal data, and ARR can help target the rollout of features through LaunchDarkly. Additionally, after a feature is rolled out, Pendo can be leveraged to target in-app guidance, ease onboarding and maximize usage. Once users start engaging with the feature, Pendo can provide usage insights through its advanced analytics capabilities.

Ingredients You Need

  • LaunchDarkly 
  • Pendo with API access
  • Engineering and product stakeholders working together

How It Works

Step 1: Determine the new feature you want to roll out to a subset of highly-active users behind a feature flag.

Step 2: In Pendo, create a segment with the behavioral characteristics of the users you want the feature to be rolled out to, and create a Visitor Report that reports on users in that segment.

Step 3: Have your LaunchDarkly developer use the Pendo segment membership when evaluating the feature flag for a user.  Here’s an example in Ruby:

mceclip0.png

In this example, the user_from_pendo method takes the feature flag ID and the unique Pendo visitor ID.  If not cached, an API call is made to LaunchDarkly to fetch the Pendo Visitor Report ID custom property.  Next, if not cached, an API call is made to Pendo to fetch the list of users in the Visitor Report (i.e members of the segment). A user is constructed with a property called shopping-cart-pendo and its value is set to true or false, representing if that user is in the Pendo segment or not.  The LaunchDarkly variation method is called and evaluates if that user should see the shopping cart, defaulting to "false."  

mceclip0.png

This gets data about the feature, like the property "shopping-cart-pendo," flowing into LaunchDarkly.  Now we can create the feature flag.

Step 4: Create a new feature flag in LaunchDarkly and add the Pendo Visitor Report ID for that segment to the custom properties under Settings.

Report ID: 

mceclip1.png

Next, under Targeting add a rule that specifies that if shopping-cart-pendo “is one of” true then Serve is true:

mceclip2.png

Click “Save Changes” and now the feature flag is live and targeting users in the Pendo segment.

Step 5: Create a Pendo in app guide to drive engagement and education of that feature to that segment of users.

 

Step 6: Analyze the product usage analytics to understand if that feature is successful and can be rolled out to the entire customer base. 

Benefits

  • Increase percentage of users that engage with a new feature you are testing
  • Streamline the release process by tying feature flags to in-app guidance
  • Auto track and explore relevant metrics and analytics about the usage of the new feature