Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Feature Flags Lightning Talk

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

Feature Flags Lightning Talk

A quick lightning talk about using feature flags in development, specifically focused around FetLife's ruby gem, Rollout.

Avatar for Jared Koumentis

Jared Koumentis

October 21, 2015
Tweet

More Decks by Jared Koumentis

Other Decks in Programming

Transcript

  1. And I don’t want it on a long lived feature

    branch A well recognized anti-pattern.
  2. Option 2 (better): Use a library. Other people have been

    doing this in production longer than you.
  3. gem install rollout $redis = Redis.new $rollout = Rollout.new($redis) $rollout.define_group(:staff)

    do |user| user.staff? end $rollout.activate_group(:new_hotness, :staff) if $rollout.active?(:new_hotness, @current_user) # Do new, hot things here end
  4. gem install rollout $redis = Redis.new $rollout = Rollout.new($redis) $rollout.define_group(:staff)

    do |user| user.staff? end $rollout.activate_group(:new_hotness, :staff) if $rollout.active?(:new_hotness, @current_user) # Do new, hot things here end
  5. gem install rollout $redis = Redis.new $rollout = Rollout.new($redis) $rollout.define_group(:staff)

    do |user| user.staff? end $rollout.activate_group(:new_hotness, :staff) if $rollout.active?(:new_hotness, @current_user) # Do new, hot things here end