02 Jun 2017

Week n+1

Start? This is just the next step in the journey (image credit: Andrew Lipson)

I recently wrapped up my first official full week at LaunchDarkly. Although, I’ve been working with the team as an advisor/consultant for a number of months. Over the past year I have been advising and consulting with various start-ups looking for a good fit. I would often remark to folks that I was “company dating.”

More like introductions from friends than tinder. (Photo credit: Reddit post)

Honestly, I have very little dating experience. My wife and I met my 2nd (her 1st) year in college and haven’t looked back. Similar on the job side, I started at EMC a year after graduating and then was the first internal transfer to VMware. For almost 15 years I enjoyed the stability and resources of a large company. But, then I started to feel the need to grow and participate in the changing landscape I saw in software development trends.

Since leaving VMware I have spent a lot of time thinking about the gap between the old school development frameworks (e.g. waterfall) and newer practices (e.g. agile, scrum, continuous deployment). Tools like git, continuous integration, and automation have radically changed how we release. At EMC and VMware we measured our releases in years, or sometimes months (the same way a parent refers to their 22 month-old toddler). Compared to GitHub where we released multiple times a day.

This whole cloud thing is likely just a fad. (Photo credit: Twitter)

Recently, I’ve started to bucket these tools into three phases of for software development: Concept, Launch, and Control. I’m working on a blog series to discuss each of these in-depth, but this framework is what got me excited about LaunchDarkly. Feature management, while not the shiniest tool, provides the foundation for eliminating risk and delivering value as teams push to move faster and to be more reliable.

In addition to my passion for our product, this intelligent team, my carless commute, I did have one additional objective: to be a part of a diverse and equitable company. Not simply an organization that accepts diversity, but one that actively pursues a more diverse and inclusive team as a imperative for building better products and services. So far a great start to my next long-term relationship.

25 May 2017

Launched: Single sign-on

Spend some time at a software shop, and you’ll inevitably collect a pile of accounts for services, internal and external. Since you value security, each of your passwords are long and unique and safeguarded in a password manager. You imagine a world where you don’t need to manage passwords for each and every service you use.

That’s why we are excited to announce support for single sign-on via the industry-standard Security Assertion Markup Language 2.0 (SAML 2.0). Knowing that SAML integrations can be cumbersome and complicated, we refined the administrator experience to be simple and clear. We built a test-drive mode so administrators can verify their SAML configuration end-to-end before enabling single sign-on in LaunchDarkly for the entire team.

Our single sign-on implementation is accompanied by a couple other benefits. With LaunchDarkly’s just-in-time user provisioning, administrators can onboard new employees from their identity provider without having to also create accounts for them in LaunchDarkly. Simply grant the new employee access to LaunchDarkly via your identity provider. Then LaunchDarkly will automatically create a new account when the member visits LaunchDarkly for the first time. Additionally, any changes to the member’s profile or assigned roles will be propagated from your identity provider as soon as the member signs into LaunchDarkly.

We currently support Okta and OneLogin, with support for additional identity providers on the way.

Single sign-on is available to customers on our enterprise plans. If you’re interested in learning more about our enterprise plans, contact sales@launchdarkly.com.

Behind the curtain

Alexis and I collaborated on the single sign-on feature. The very first step we took was creating a feature flag for SSO in LaunchDarkly. With our feature flag seatbelt on, we didn’t need to maintain a long-running branch for the feature, which meant we thankfully didn’t have to suffer from massive merge conflicts. Every optional change that could be hidden behind that feature flag could be released incrementally and without extensive manual QA review.

When we demonstrated the feature in progress to a customer, we didn’t need to use a staging system; we could demo on production because the feature was hidden behind a feature flag. When we were ready for the feature to be beta-tested, it was very easy to enable it for one customer and then another. The SSO feature flag remains today, and now our sales team uses the flag to enable the feature for their customers.

28 Sep 2016

Launched: Enterprise Feature Flag Management

Before using LaunchDarkly, many of our customers were already feature flagging using internal tools or open source products. They used feature flags to mitigate risk, manage releases, and deploy better software, faster. However, they learned that creating a handful of feature flags was easy, but managing them at scale was extremely hard. Flags would go stale, accrue technical debt, and become neglected. It was hard to know who was responsible for maintaining and cleaning up a flag or to know which flags were temporary and which were permanent.

Flags inherently need some form of organization. You can have multiple flags that control different parts of a single feature, flags that control configurations, and flags that should only be managed by certain people. This was very difficult to implement in internal systems.

LaunchDarkly Enterprise Feature Flag Management

 

To improve feature flag management for teams, we’re excited to launch some new management features:  flag maintainer, flag tagging, flag descriptions, and rich flag variations.  These new features complement our existing management tools like flag statuses, custom roles, and the flag dashboard.

You can find most of these new features in the Settings tab of your feature flag.

LaunchDarkly Feature Flag Management Settings

Flag Maintainer

This feature allows you to assign responsible for the flag to any team member. It allows you to know who to contact if a flag needs to be cleaned up or who to contact for help. By default, the maintainer will be the individual who created the flag. You can assign any member of your team as the maintainer for a particular flag.

LaunchDarkly Feature Flag Maintainer

Flag Descriptions

You can now create custom descriptions for each feature flag. These human-readable descriptions help you identify the flag and its functionality in-depth. This is critical for effective feature flag management, organizing flags, and communicating the flag’s purpose to your team members.

LaunchDarkly Feature Flag Descriptions

Flag Tags

Adding tags to your flags (like Front-End, Ops, Marketing, Restricted) helps you categorize flags and manage custom permissions.

Here, we have added the tags “mobile”, “marketing”, and “unrestricted” to a feature flag.

LaunchDarkly Feature Flag/Toggles Management Tags

Rich Flag Variations

When creating a feature flag, you can specify a name, description, and value for each variation. This allows you to explicitly describe the purpose of each flag variation, especially if you are using multivariate flags returning numbers, strings, JSON objects, or JSON arrays. For example, you can have a flag that returns numbers and then add a name and description to describe each variation.

LaunchDarkly Multivariate Feature Flag / Toggles Names and Descriptions

We hope these new features are able to improve your team’s ability to manage feature flags and mitigate technical debt. If you have any questions or feedback, we would love to hear from you at support@launchdarkly.com .

 

04 Mar 2016

Enterprise Requirements for Managing Feature Flags

enterprise tech center

Harnessing LaunchDarkly to manage feature flags at scale

The process of feature flagging is fairly straightforward: you wrap your features in conditionals that determine who can see your features and when. At an enterprise scale, organizations must confront the complexities of mitigating technical debt, managing developer workflows, compliance, and controlling the lifecycle of feature flags. To meet these challenges, LaunchDarkly provides an enterprise-grade feature flag platform built specifically for development teams.

Continue reading “Enterprise Requirements for Managing Feature Flags” »

15 Feb 2016

Launched: Audit Log

The audit log gives LaunchDarkly customers fine-grained visibility into changes to their feature flags.

We’re excited to announce the launch of an audit log for LaunchDarkly teams! The audit log gives teams full visibility into their feature flag management — the who, what, and when of all feature flag changes.

The audit log contains a record of all the changes made to each feature flag in the system. You can filter the audit log by timestamps, or do prefix searches on feature flag names and keys. Continue reading “Launched: Audit Log” »

18 Jan 2016

Launched: Custom Roles

New permission system launches with custom roles, providing teams with fine-grained access control to everything in LaunchDarkly.

We’re happy to announce the beta launch of Custom Roles!  You will now be able to customize permissions for each of your team members.  This system enhances LaunchDarkly’s basic permission system by providing comprehensive and fine-grained access control for our enterprise customers.

Continue reading “Launched: Custom Roles” »