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.

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

All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...amber724300
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfROWELL MARQUINA
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 

Recently uploaded (20)

All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdf
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 

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