SlideShare a Scribd company logo
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.

Creativity journey presentation
Creativity journey presentationCreativity journey presentation
Creativity journey presentationNhon Vo
 
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 graphiqueDavid Endico
 
estimaing assignment
estimaing assignmentestimaing assignment
estimaing assignmentshensin1015
 
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]Cormac Lawler
 
From Data to Knowledge
From Data to KnowledgeFrom Data to Knowledge
From Data to KnowledgeFabien Richard
 
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 pdfEngr. S. Hassan Aslam
 
James Cameron Masterclass | Purpose Studios.pdf
James Cameron Masterclass | Purpose Studios.pdfJames Cameron Masterclass | Purpose Studios.pdf
James Cameron Masterclass | Purpose Studios.pdfPurposeStudios
 
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 SmartphonesAltair
 
Company Profile 2014 (Before Rebranding)
Company Profile 2014 (Before Rebranding)Company Profile 2014 (Before Rebranding)
Company Profile 2014 (Before Rebranding)Tonny Tok
 
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 SummitAmazon Web Services
 

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

IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxAbida Shariff
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...FIDO Alliance
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101vincent683379
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfFIDO Alliance
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...FIDO Alliance
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfEasyPrinterHelp
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationZilliz
 
Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024TopCSSGallery
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty SecureFemke de Vroome
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераMark Opanasiuk
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
 

Recently uploaded (20)

IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdf
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 

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