SlideShare a Scribd company logo
1 of 214
Download to read offline
h
t
t
p
s
:
/
/
t
w
i
t
t
e
r
.
c
o
m
/
n
i
n
a
b
e
g
u
s
/
s
t
a
t
u
s
/
1
5
7
4
4
3
4
5
5
7
9
7
3
0
1
2
4
8
0
h
t
t
p
s
:
/
/
t
w
i
t
t
e
r
.
c
o
m
/
n
i
n
a
b
e
g
u
s
/
s
t
a
t
u
s
/
1
5
7
4
4
3
4
5
5
7
9
7
3
0
1
2
4
8
0
h
t
t
p
s
:
/
/
t
w
i
t
t
e
r
.
c
o
m
/
n
i
n
a
b
e
g
u
s
/
s
t
a
t
u
s
/
1
5
7
4
4
3
4
5
5
7
9
7
3
0
1
2
4
8
0
I am half beside myself with hurry & work. I
could not get anything done in time to send by
coach this morning; & now I am obliged still to
retain one sheet; which however I hope to send
you by an occasion tomorrow afternoon.
I am half beside myself with hurry & work. I
could not get anything done in time to send by
coach this morning; & now I am obliged still to
retain one sheet; which however I hope to send
you by an occasion tomorrow afternoon.
I am half beside myself with hurry & work. I
could not get anything done in time to send by
coach this morning; & now I am obliged still to
retain one sheet; which however I hope to send
you by an occasion tomorrow afternoon.
I am half beside myself with hurry & work. I
could not get anything done in time to send by
coach this morning; & now I am obliged still to
retain one sheet; which however I hope to send
you by an occasion tomorrow afternoon.
Note B has plagued me to death; altho’ I have
made but little alteration in it. Such alterations
as there are however, happen to have been very
tiresome & to have demanded minute
consideration & very nice adjustments.
Note B has plagued me to death; altho’ I have
made but little alteration in it. Such alterations
as there are however, happen to have been very
tiresome & to have demanded minute
consideration & very nice adjustments.
Note B has plagued me to death; altho’ I have
made but little alteration in it. Such alterations
as there are however, happen to have been very
tiresome & to have demanded minute
consideration & very nice adjustments.
I wish you were as accurate, & as much to be
relied on, as I am myself.
By the way, I hope you do not take upon
yourself to alter any of my corrections.
I must beg you not. They all have some very
su
ffi
cient reason. And you have made a pretty
mess & confusion in one or two places, where you
have ventured in my manuscripts, to insert or alter
a phrase or word; & have utterly muddled the
sense.
By the way, I hope you do not take upon
yourself to alter any of my corrections.
I must beg you not. They all have some very
su
ffi
cient reason. And you have made a pretty
mess & confusion in one or two places, where you
have ventured in my manuscripts, to insert or alter
a phrase or word; & have utterly muddled the
sense.
By the way, I hope you do not take upon
yourself to alter any of my corrections.
I must beg you not. They all have some very
su
ffi
cient reason. And you have made a pretty
mess & confusion in one or two places, where you
have ventured in my manuscripts, to insert or alter
a phrase or word; & have utterly muddled the
sense.
By the way, I hope you do not take upon
yourself to alter any of my corrections.
I must beg you not. They all have some very
su
ffi
cient reason. And you have made a pretty
mess & confusion in one or two places, where you
have ventured in my manuscripts, to insert or alter
a phrase or word; & have utterly muddled the
sense.
By the way, I hope you do not take upon
yourself to alter any of my corrections.
I must beg you not. They all have some very
su
ffi
cient reason. And you have made a pretty
mess & confusion in one or two places, where you
have ventured in my manuscripts, to insert or alter
a phrase or word; & have utterly muddled the
sense.
By the way, I hope you do not take upon
yourself to alter any of my corrections.
I must beg you not. They all have some very
su
ffi
cient reason. And you have made a pretty
mess & confusion in one or two places, where you
have ventured in my manuscripts, to insert or alter
a phrase or word; & have utterly muddled the
sense.
Merge Conflict
GitHub 1843
C H A R L E S
B A B B A G E
A D A
L O V E L A C E
Toggles
Put a flag on it
Busy developer’s guide to feature toggles
M a t e u s z K w a ś n i e w s k i
( @ k w a s n i e w )
Learning
Outcomes
UNDERSTAND MAIN
MOTIVATION FOR FEATURE
TOGGLES
CHOOSE DIFFERENT
TOGGLE TYPES DEPENDING
ON YOUR USE CASE
MANAGE TOGGLES AT
SCALE
Learning
Outcomes
UNDERSTAND MAIN
MOTIVATION FOR FEATURE
TOGGLES
CHOOSE DIFFERENT
TOGGLE TYPES DEPENDING
ON YOUR USE CASE
MANAGE TOGGLES AT
SCALE
Learning
Outcomes
UNDERSTAND MAIN
MOTIVATION FOR FEATURE
TOGGLES
CHOOSE DIFFERENT
TOGGLE TYPES DEPENDING
ON YOUR USE CASE
MANAGE TOGGLES AT
SCALE
CASE
FOR
FEATURE
TOGGLES
01
Charles Babbage
F u l l - S t a c k D e v
he/him
h
t
t
p
s
:
/
/
l
a
b
s
.
o
p
e
n
a
i
.
c
o
m
/
e
/
d
t
A
3
N
R
4
O
3
q
t
F
Z
n
v
K
P
v
9
t
G
g
8
I
/
a
V
M
p
x
Z
1
j
J
6
m
6
C
U
g
K
d
3
m
o
H
l
q
s
Charles Babbage
F u l l - S t a c k D e v
he/him
W o r k s i n p o s t - G i t h u b w o r l d
h
t
t
p
s
:
/
/
l
a
b
s
.
o
p
e
n
a
i
.
c
o
m
/
e
/
d
t
A
3
N
R
4
O
3
q
t
F
Z
n
v
K
P
v
9
t
G
g
8
I
/
a
V
M
p
x
Z
1
j
J
6
m
6
C
U
g
K
d
3
m
o
H
l
q
s
Charles Babbage
F u l l - S t a c k D e v
he/him
❤ b r a n c h e s a n d p u l l - r e q u e s t s
W o r k s i n p o s t - G i t h u b w o r l d
h
t
t
p
s
:
/
/
l
a
b
s
.
o
p
e
n
a
i
.
c
o
m
/
e
/
d
t
A
3
N
R
4
O
3
q
t
F
Z
n
v
K
P
v
9
t
G
g
8
I
/
a
V
M
p
x
Z
1
j
J
6
m
6
C
U
g
K
d
3
m
o
H
l
q
s
Charles Babbage
F u l l - S t a c k D e v
he/him
❤ b r a n c h e s a n d p u l l - r e q u e s t s
M o v e s f a s t a n d b r e a k s t h i n g s
W o r k s i n p o s t - G i t h u b w o r l d
🚀
h
t
t
p
s
:
/
/
l
a
b
s
.
o
p
e
n
a
i
.
c
o
m
/
e
/
d
t
A
3
N
R
4
O
3
q
t
F
Z
n
v
K
P
v
9
t
G
g
8
I
/
a
V
M
p
x
Z
1
j
J
6
m
6
C
U
g
K
d
3
m
o
H
l
q
s
h
t
t
p
s
:
/
/
g
i
t
h
u
b
.
c
o
m
/
g
o
t
h
i
n
k
s
t
e
r
/
r
e
a
l
w
o
r
l
d
Assumptions
Short-lived branch
A S S U M P T I O N
g i t c h e c k o u t - b f e a t / t a g s
Continuous Int
Continuous Integration
D
A
V
E
F
A
R
L
E
Y I t ’ s m o r e o f t e n t h a n y o u t h i n k
Continuous Int
Continuous Integration
N o o n e s t a y s b e h i n d t h e m a i n b r a n c h
D
A
V
E
F
A
R
L
E
Y
Assumptions
Quick task
A S S U M P T I O N
Assumptions
Quick task
A S S U M P T I O N
4 hours
max
Assumptions
Fast build
A S S U M P T I O N
Assumptions
Instant review
A S S U M P T I O N
Reality check
Interruptions
R E A L I T Y
h
t
t
p
s
:
/
/
l
a
b
s
.
o
p
e
n
a
i
.
c
o
m
/
e
/
y
w
1
6
o
E
E
d
7
w
J
6
F
M
D
d
D
D
p
1
v
u
9
D
/
R
3
1
l
Q
F
O
0
Y
p
Q
N
3
V
Y
L
a
J
C
A
f
J
4
N
Reality check
Interruptions
R E A L I T Y
h
t
t
p
s
:
/
/
l
a
b
s
.
o
p
e
n
a
i
.
c
o
m
/
e
/
i
K
m
7
l
M
X
r
Y
t
K
7
i
2
L
F
L
4
d
o
n
D
5
R
/
0
Y
7
R
x
C
L
D
5
p
D
f
M
d
A
K
x
H
c
N
5
C
o
h
Reality check
Interruptions
R E A L I T Y
Reality check
Long-lived branch
R E A L I T Y
Oh crap!
Reality check
Discovery
R E A L I T Y
Reality check
Slow and flaky build
R E A L I T Y
Reality check
Comment dance
R E A L I T Y
C O D E R E V I E W E R S
G I V I N G H A R S H
F E E D B A C K
h
t
t
p
:
/
/
w
w
w
.
g
o
k
.
l
a
c
k
o
.
p
l
/
z
b
o
j
e
c
k
a
-
c
i
u
p
a
g
a
-
d
l
a
-
g
o
r
a
l
i
-
l
a
c
k
i
c
h
.
h
t
m
l
M E R G E C O N F L I C T
R E S O L U T I O N
A F T E R L O N G - L I V E D
B R A N C H
h
t
t
p
:
/
/
w
w
w
.
g
o
k
.
l
a
c
k
o
.
p
l
/
z
b
o
j
e
c
k
a
-
c
i
u
p
a
g
a
-
d
l
a
-
g
o
r
a
l
i
-
l
a
c
k
i
c
h
.
h
t
m
l
Finally
Finally merged
A n d o n t h e s e v e n t h d a y …
Finally
Finally merged
A n d o n t h e s e v e n t h d a y …
🚀
Y o u c a n t r y i n s i d e - o u t d e v e l o p m e n t
Inside-out
Inside-out development
D o m a i n f i r s t
Inside-out
Inside-out development
D o m a i n f i r s t
Inside-out
Inside-out development
D o m a i n f i r s t
Inside-out
Inside-out development
D o m a i n f i r s t
🚀
Inside-out
Inside-out development
A p p l i c a t i o n s e c o n d
Inside-out
Inside-out development
A p p l i c a t i o n s e c o n d
Inside-out
Inside-out development
A p p l i c a t i o n s e c o n d
Inside-out
Inside-out development
A p p l i c a t i o n s e c o n d
🚀
Inside-out
Inside-out development
T h e n r e a l p e r s i s t e n c e
Inside-out
Inside-out development
T h e n r e a l p e r s i s t e n c e
Inside-out
Inside-out development
T h e n r e a l p e r s i s t e n c e
Inside-out
Inside-out development
T h e n r e a l p e r s i s t e n c e
🚀
Inside-out
Inside-out development
F i n a l l y e x p o s e i t
Inside-out
Inside-out development
F i n a l l y e x p o s e i t
Inside-out
Inside-out development
F i n a l l y e x p o s e i t
Inside-out
Inside-out development
F i n a l l y e x p o s e i t
🚀
FEATURE
TOGGLE
TYPES
02
Requirement
Release walking skeleton in dev/staging
Deploy code to production continuously
N O N - T E C H N I C A L
R E Q U I R E M E N T
Requirement
Release walking skeleton in dev/staging
Deploy code to production continuously
N O N - T E C H N I C A L T E C H N I C A L
R E Q U I R E M E N T
Pattern
Walking skeleton
T i n y E 2 E i m p l e m e n t a t i o n
Pattern
Walking skeleton
N o m u s c l e s y e t
Solution
Environment variables
P a a S
Solution
Environment variables
1 2 - F a c t o r
h
t
t
p
s
:
/
/
1
2
f
a
c
t
o
r
.
n
e
t
/
Solution
Environment variables
1 2 - F a c t o r
h
t
t
p
s
:
/
/
1
2
f
a
c
t
o
r
.
n
e
t
/
Solution
Environment variables
1 2 - F a c t o r
h
t
t
p
s
:
/
/
1
2
f
a
c
t
o
r
.
n
e
t
/
Requirement
Release dancing skeleton to our internal
users in production
R E Q U I R E M E N T
P a t t e r n f r o m : D a n i e l T e r h o r s t - N o r t h @ t a s t a p o d
Requirement
Release dancing skeleton to our internal
users in production
R E Q U I R E M E N T
P a t t e r n f r o m : D a n i e l T e r h o r s t - N o r t h @ t a s t a p o d
I n t h e o r y , s t a g i n g a n d p r o d u c t i o n a r e t h e s a m e .
I n p r a c t i c e , t h e y a r e n o t .
— A l b e r t E i n s t e i n ( m a y b e )
I n t h e o r y , s t a g i n g a n d p r o d u c t i o n a r e t h e s a m e .
I n p r a c t i c e , t h e y a r e n o t .
— A l b e r t E i n s t e i n ( m a y b e )
I n t h e o r y , s t a g i n g a n d p r o d u c t i o n a r e t h e s a m e .
I n p r a c t i c e , t h e y a r e n o t .
— A l b e r t E i n s t e i n ( m a y b e )
S t a g i n g P r o d u c t i o n
Same same, but different
Y o u w i l l n e e d a d y n a m i c r e l e a s e t o g g l e
w i t h t h e u s e r i d a c t i v a t i o n s t r a t e g y
Y o u w i l l n e e d a d y n a m i c r e l e a s e t o g g l e
w i t h t h e u s e r i d a c t i v a t i o n s t r a t e g y
Y o u w i l l n e e d a d y n a m i c r e l e a s e t o g g l e
w i t h t h e u s e r i d a c t i v a t i o n s t r a t e g y
Toggle types
Release Toggle
T H E F e a t u r e T o g g l e s a r t i c l e : h t t p s : / / m a r t i n f o w l e r . c o m / a r t i c l e s / f e a t u r e - t o g g l e s . h t m l
D o m a i n v o c a b u l a r y
Toggle types
Release Toggle
T H E F e a t u r e T o g g l e s a r t i c l e : h t t p s : / / m a r t i n f o w l e r . c o m / a r t i c l e s / f e a t u r e - t o g g l e s . h t m l
D o m a i n v o c a b u l a r y
Release Toggles allow incomplete and untested
codepaths to be shipped to production as latent
code which may never be turned on.
Strategy types
Activation strategy
T
h
i
s
i
s
d
o
m
a
i
n
v
o
c
a
b
u
l
a
r
y
u
s
e
d
a
t
U
n
l
e
a
s
h
D o m a i n v o c a b u l a r y
I c a n b u i l d a c u s t o m
f e a t u r e t o g g l e s e r v i c e
i n a w e e k
Feature ready
Skeleton got some muscles
I n t h e m e a n t i m e …
Requirement
Release feature to 1% of our users
R E Q U I R E M E N T
Strategy types
Activation strategy
T
h
i
s
i
s
d
o
m
a
i
n
v
o
c
a
b
u
l
a
r
y
u
s
e
d
a
t
U
n
l
e
a
s
h
D o m a i n v o c a b u l a r y
Release
Features
Deploy
Code
Deploy
Code
T E C H N I C A L E V E N T
Release
Features
B U S I N E S S E V E N T
Deploy
Code
T E C H N I C A L E V E N T
Requirement
Release feature to 100% of user and…
keep an eye on performance
R E Q U I R E M E N T
M
O
V
E
F
A
S
T
Requirement
Release feature to 100% of user and…
keep an eye on performance
R E Q U I R E M E N T
D
O
N
’
T
B
R
E
K
A
T
H
I
N
G
S
DevOps don’t know prod is getting hot
At the Ruby shop, doing something unholy
DevOps don’t know prod is getting hot
At the Ruby shop, doing something unholy
DevOps don’t know prod is getting hot
At the Ruby shop, doing something unholy
DevOps don’t know prod is getting hot
At the Ruby shop, doing something unholy
Requirement
Release feature to 100% of user and…
keep an eye on performance
R E Q U I R E M E N T
D
O
N
’
T
B
R
E
K
A
T
H
I
N
G
S
Toggle types
Operational Toggle
D o m a i n v o c a b u l a r y
D e v
O p s O
p s
h t t p s : / / s t a r y . p l / p l / r e p e r t u a r / w e s e l e - 4 /
D e v
O p s O
p s
M a r k e t i n g
d u d e
h t t p s : / / s t a r y . p l / p l / r e p e r t u a r / w e s e l e - 4 /
Requirement
Measure which variant generates more clicks
R E Q U I R E M E N T
Toggle types
Experiment Toggle
D o m a i n v o c a b u l a r y
Experiments
Variant
D o m a i n v o c a b u l a r y
T
h
i
s
i
s
d
o
m
a
i
n
v
o
c
a
b
u
l
a
r
y
u
s
e
d
a
t
U
n
l
e
a
s
h
Experiments
Variant
D o m a i n v o c a b u l a r y
Experiments
Variant
D o m a i n v o c a b u l a r y
Experiments
Variant
D o m a i n v o c a b u l a r y
Experiments
Variant
D o m a i n v o c a b u l a r y
Unix philosoph
Unix philosophy
J o y f u l c o d i n g
h
t
t
p
s
:
/
/
d
a
n
n
o
r
t
h
.
n
e
t
/
2
0
2
2
/
0
2
/
1
0
/
c
u
p
i
d
-
f
o
r
-
j
o
y
f
u
l
-
c
o
d
i
n
g
/
Unix philosoph
Do one thing well and
play well with others
J o y f u l c o d i n g
h
t
t
p
s
:
/
/
d
a
n
n
o
r
t
h
.
n
e
t
/
2
0
2
2
/
0
2
/
1
0
/
c
u
p
i
d
-
f
o
r
-
j
o
y
f
u
l
-
c
o
d
i
n
g
/
Unix philosoph
Do one thing well and
play well with others
J o y f u l c o d i n g
Problem
Unstable comment system
P r o b l e m
F P J S
G o
F P T S
W h i l e l o o p F o r l o o p
W h i l e l o o p F o r l o o p
f l a t M a p
// This is not a bug,
// this is just the way we do things.
Requirement
Turn the feature off on demand
to mitigate incidents
R E Q U I R E M E N T
Toggle types
Kill switch toggle
D o m a i n v o c a b u l a r y
Toggle types
Kill switch toggle
D o m a i n v o c a b u l a r y
Requirement
Turn the feature off programatically
from our monitoring infrastructure
R E Q U I R E M E N T
Production ready
External toggle API
S o l u t i o n
Production ready
Access tokens
S o l u t i o n
R T F M
I f y o u w a n t t h e m t o R T F M ,
m a k e a b e t t e r F M
— K a t h y S i e r r a
W e d o t h o s e t h i n g s n o t
b e c a u s e t h e y a r e e a s y ,
b u t b e c a u s e w e t h o u g h t
t h e y w e r e g o i n g t o b e
e a s y .
BUILDING NEW FEATURE
(RELEASE TOGGLES)
REDUCING DEPLOYMENT
RISK
(OPS TOGGLES)
A/B TESTING
(EXPERIMENT TOGGLES)
MITIGATING INCIDENTS
(KILL SWITCH TOGGLES)
Feature
Toggles
Jobs to
be Done
BUILDING NEW FEATURE
(RELEASE TOGGLES)
REDUCING DEPLOYMENT
RISK
(OPS TOGGLES)
A/B TESTING
(EXPERIMENT TOGGLES)
MITIGATING INCIDENTS
(KILL SWITCH TOGGLES)
Feature
Toggles
Jobs to
be Done
BUILDING NEW FEATURE
(RELEASE TOGGLES)
REDUCING DEPLOYMENT
RISK
(OPS TOGGLES)
A/B TESTING
(EXPERIMENT TOGGLES)
MITIGATING INCIDENTS
(KILL SWITCH TOGGLES)
Feature
Toggles
Jobs to
be Done
BUILDING NEW FEATURE
(RELEASE TOGGLES)
REDUCING DEPLOYMENT
RISK
(OPS TOGGLES)
A/B TESTING
(EXPERIMENT TOGGLES)
MITIGATING INCIDENTS
(KILL SWITCH TOGGLES)
Feature
Toggles
Jobs to
be Done
Feature
Toggles
Jobs to
be Done
BUILDING NEW FEATURE
(RELEASE TOGGLES)
REDUCING DEPLOYMENT
RISK
(OPS TOGGLES)
A/B TESTING
(EXPERIMENT TOGGLES)
MITIGATING INCIDENTS
(KILL SWITCH TOGGLES)
Theory
Jobs to be Done
P e o p l e “ h i r e ” y o u r p r o d u c t t o d o d i f f e r e n t j o b s
h
t
t
p
s
:
/
/
t
w
i
t
t
e
r
.
c
o
m
/
d
a
v
i
d
j
b
l
a
n
d
/
s
t
a
t
u
s
/
1
6
0
7
8
5
5
6
4
0
9
9
8
9
8
9
8
2
4
FEATURE
TOGGLES
AT SCALE
03
Toggles at scale
Toggles become a victim
of their own success
C H A L L A N G E
Toggles at scale
We keep using the same user IDs
over and over again
C H A L L A N G E
Toggles at scale
Segments = reusable constrains
D o m a i n v o c a b u l a r y
T
h
i
s
i
s
d
o
m
a
i
n
v
o
c
a
b
u
l
a
r
y
u
s
e
d
a
t
U
n
l
e
a
s
h
Toggles at scale
Segments = reusable constrains
D o m a i n v o c a b u l a r y
T
h
i
s
i
s
d
o
m
a
i
n
v
o
c
a
b
u
l
a
r
y
u
s
e
d
a
t
U
n
l
e
a
s
h
Toggles at scale
Segments in activation strategies
U S A G E
Toggles at scale
Evaluate toggles locally
P R I V A C Y + P E R F O R M A N C E
Get updated config
Toggles at scale
Someone accidentally turned my
toggle on
C H A L L A N G E
Toggles at scale
Exposure metrics
C A P A B I L I T Y
Toggles at scale
Event log
C A P A B I L I T Y
Toggles at scale
Event log
C A P A B I L I T Y
A
P
I
Assume
Positive
Intentions
Toggles at scale
Projects = grouping of toggles
C A P A B I L I T Y
Toggles at scale
Projects = grouping of toggles
C A P A B I L I T Y
Toggles at scale
We have too many toggles
C H A L L A N G E
Toggles at scale
We have too many toggles
C H A L L A N G E
To g g l e s s u c k
Toggles at scale
We have too many toggles
C H A L L A N G E
I t ’ s y o u r u s a g e o f
t o g g l e s t h a t s u c k s
To g g l e s s u c k
Toggles at scale
Toggle lifetime
R E C O M M E N D A T I O N
Toggles at scale
Toggle lifetime
R E C O M M E N D A T I O N
Toggles at scale
Toggle lifetime
R E C O M M E N D A T I O N
Toggles at scale
Health tracking and planning for retirement
C A P A B I L I T Y
Toggles at scale
Health tracking and planning for retirement
C A P A B I L I T Y
TOGGLES
W e d o t h o s e t h i n g s n o t
b e c a u s e t h e y a r e e a s y ,
b u t b e c a u s e w e t h o u g h t
t h e y w e r e g o i n g t o b e
e a s y .
Build vs buy
Should I build or buy?
Q U E S T I O N
Build vs buy
Q U E S T I O N
Should I build or buy?
C O R E
S U B D O M A I N
$ $ $
C O R E
S U B D O M A I N
$ $ $
S U P P O R T I N G
S U B D O M A I N
( i n - h o u s e )
C O R E
S U B D O M A I N
$ $ $
S U P P O R T I N G
S U B D O M A I N
( i n - h o u s e )
G E N E R I C
S U B D O M A I N
( O S S , S a a S )
C O R E
S U B D O M A I N
$ $ $
S U P P O R T I N G
S U B D O M A I N
( i n - h o u s e )
G E N E R I C
S U B D O M A I N
( O S S , S a a S )
c o m m o d i t i z a t i o n
C O R E
S U B D O M A I N
$ $ $
S U P P O R T I N G
S U B D O M A I N
( i n - h o u s e )
G E N E R I C
S U B D O M A I N
( O S S , S a a S )
o p p o r t u n i t y
Build vs buy
“Buy” and then build on top
A N S W E R
Learning
Outcomes
DECOUPLE DEPLOYMENT
AND RELEASE
“HIRE” TOGGLES FOR
DIFFERENT JOBS
ORGANIZE, AUDIT AND
RETIRE YOUR TOGGLES
MAKE BUILD OR BUY
DECISION
Learning
Outcomes
DECOUPLE DEPLOYMENT
AND RELEASE
“HIRE” TOGGLES FOR
DIFFERENT JOBS
ORGANIZE, AUDIT AND
RETIRE YOUR TOGGLES
MAKE BUILD OR BUY
DECISION
Learning
Outcomes
DECOUPLE DEPLOYMENT
AND RELEASE
“HIRE” TOGGLES FOR
DIFFERENT JOBS
ORGANIZE, AUDIT AND
RETIRE YOUR TOGGLES
MAKE BUILD OR BUY
DECISION
Learning
Outcomes
DECOUPLE DEPLOYMENT
AND RELEASE
“HIRE” TOGGLES FOR
DIFFERENT JOBS
ORGANIZE, AUDIT AND
RETIRE YOUR TOGGLES
MAKE BUILD OR BUY
DECISION
Beyoncé-Driven
Development
B D D
M a t e u s z K w a ś n i e w s k i
( @ k w a s n i e w )
Feature-Flag Driven
Development
F F D D
M a t e u s z K w a ś n i e w s k i
( @ k w a s n i e w )
Charles Babbage
S e n i o r F u l l - S t a c k D e v
he/him
h
t
t
p
s
:
/
/
l
a
b
s
.
o
p
e
n
a
i
.
c
o
m
/
e
/
d
t
A
3
N
R
4
O
3
q
t
F
Z
n
v
K
P
v
9
t
G
g
8
I
/
a
V
M
p
x
Z
1
j
J
6
m
6
C
U
g
K
d
3
m
o
H
l
q
s
W o r k s i n p o s t - G i t h u b w o r l d
h
t
t
p
s
:
/
/
l
a
b
s
.
o
p
e
n
a
i
.
c
o
m
/
e
/
d
t
A
3
N
R
4
O
3
q
t
F
Z
n
v
K
P
v
9
t
G
g
8
I
/
a
V
M
p
x
Z
1
j
J
6
m
6
C
U
g
K
d
3
m
o
H
l
q
s
Charles Babbage
S e n i o r F u l l - S t a c k D e v
he/him
b r a n c h e s a n d p u l l - r e q u e s t s ?
W o r k s i n p o s t - G i t h u b w o r l d
h
t
t
p
s
:
/
/
l
a
b
s
.
o
p
e
n
a
i
.
c
o
m
/
e
/
d
t
A
3
N
R
4
O
3
q
t
F
Z
n
v
K
P
v
9
t
G
g
8
I
/
a
V
M
p
x
Z
1
j
J
6
m
6
C
U
g
K
d
3
m
o
H
l
q
s
Charles Babbage
S e n i o r F u l l - S t a c k D e v
he/him
b r a n c h e s a n d p u l l - r e q u e s t s ?
M o v e s f a s t a n d d o e s n ’ t
b r e a k s t h i n g s
W o r k s i n p o s t - G i t h u b w o r l d
🚀
h
t
t
p
s
:
/
/
l
a
b
s
.
o
p
e
n
a
i
.
c
o
m
/
e
/
d
t
A
3
N
R
4
O
3
q
t
F
Z
n
v
K
P
v
9
t
G
g
8
I
/
a
V
M
p
x
Z
1
j
J
6
m
6
C
U
g
K
d
3
m
o
H
l
q
s
Charles Babbage
S e n i o r F u l l - S t a c k D e v
he/him
Put a flag on it. A busy developer's guide to feature toggles.

More Related Content

Similar to Put a flag on it. A busy developer's guide to feature toggles.

ATC UK 2015: Enhancing Drop Testing Simulation for Luxury Smartphones
ATC UK 2015: Enhancing Drop Testing Simulation for Luxury SmartphonesATC UK 2015: Enhancing Drop Testing Simulation for Luxury Smartphones
ATC UK 2015: Enhancing Drop Testing Simulation for Luxury Smartphones
Altair
 

Similar to Put a flag on it. A busy developer's guide to feature toggles. (20)

Creativity journey presentation
Creativity journey presentationCreativity journey presentation
Creativity journey presentation
 
Conférence - Du bon usage d'une charte graphique
Conférence - Du bon usage d'une charte graphiqueConférence - Du bon usage d'une charte graphique
Conférence - Du bon usage d'une charte graphique
 
Cloud-Star V1, V2, V3.pdf
Cloud-Star V1, V2, V3.pdfCloud-Star V1, V2, V3.pdf
Cloud-Star V1, V2, V3.pdf
 
Cloud-Star V1, V2, V3.pdf
Cloud-Star V1, V2, V3.pdfCloud-Star V1, V2, V3.pdf
Cloud-Star V1, V2, V3.pdf
 
Basics of Prototyping
Basics of PrototypingBasics of Prototyping
Basics of Prototyping
 
estimaing assignment
estimaing assignmentestimaing assignment
estimaing assignment
 
Agile and Scrum Methodology
Agile and Scrum MethodologyAgile and Scrum Methodology
Agile and Scrum Methodology
 
ENG4000 Documents
ENG4000 DocumentsENG4000 Documents
ENG4000 Documents
 
Smetwp 2 20160316
Smetwp 2 20160316Smetwp 2 20160316
Smetwp 2 20160316
 
Tecno
TecnoTecno
Tecno
 
Engineer Internship
Engineer InternshipEngineer Internship
Engineer Internship
 
Creative innovation
Creative innovationCreative innovation
Creative innovation
 
Why can't we all just get along? [Bettakultcha]
Why can't we all just get along? [Bettakultcha]Why can't we all just get along? [Bettakultcha]
Why can't we all just get along? [Bettakultcha]
 
From Data to Knowledge
From Data to KnowledgeFrom Data to Knowledge
From Data to Knowledge
 
My latest cv as chemical engineer in pdf
My latest cv as chemical engineer in pdfMy latest cv as chemical engineer in pdf
My latest cv as chemical engineer in pdf
 
James Cameron Masterclass | Purpose Studios.pdf
James Cameron Masterclass | Purpose Studios.pdfJames Cameron Masterclass | Purpose Studios.pdf
James Cameron Masterclass | Purpose Studios.pdf
 
ATC UK 2015: Enhancing Drop Testing Simulation for Luxury Smartphones
ATC UK 2015: Enhancing Drop Testing Simulation for Luxury SmartphonesATC UK 2015: Enhancing Drop Testing Simulation for Luxury Smartphones
ATC UK 2015: Enhancing Drop Testing Simulation for Luxury Smartphones
 
Company Profile 2014 (Before Rebranding)
Company Profile 2014 (Before Rebranding)Company Profile 2014 (Before Rebranding)
Company Profile 2014 (Before Rebranding)
 
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS Summit
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS SummitCanary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS Summit
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS Summit
 
Smetwp 2 201709
Smetwp 2 201709Smetwp 2 201709
Smetwp 2 201709
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

Put a flag on it. A busy developer's guide to feature toggles.