Post on 02-Jul-2015
description
C O N T I N O U S D E L I V E R Y - L A D K O D E N F LY D E …
© 2 0 1 4 , M O R T E N U L R I K S Ø R E N S E N , B E S T B R A I N S
Bestbrains Cafémøde, november 2014
W AT E R I N T H E B A S E M E N T… N O T L I K E W H E N T H E R E ’ S B E E N A F L O O D , N O T L I K E
F R O M T H E S O U R C E T O T H E U S E R ST H E C O D E S H O U L D F L O A T E F F O R T L E S S LY
T I M E L I N E , M O R T E N
M.Sc.E., DTU
ph.d, DTU
cat@log
Adomogps-based fitness device
home server voice enabled mail server
voice controlled telephony
2000
1997
1993
2010
2001
Carnegie Mellon
Speakanet GoHello
eXtreme Programming Mobile Switchboard
Switchboard in the cloud
BestbrainsAgile experts:
consultants developers coaches in the field
- direct to web
VA L U E S , C U LT U R E , M E T H O D S ▷
H E A LT H Y O R G A N I S AT I O N , C O D E B A S E , T E A M P L AY ▷
B E T T E R P R O D U C T S , S O O N E R
B E S T B R A I N S
C O N T I N O U S D E L I V E R Y
is the answer to 2 questions:
• When we improve the code, when should the uses get it?
• What if our change is not an improvement?
and how easily we can achieve that.
W H E R E A R E W E ?
• New to me - I’m wondering what it is?
• I know the theory, but would like to learn about practicalities
• Half way - tell me more
• Come a long way, but I’ve hit a snag
• All the way - I’d like to share
• It ain’t gonna work
– C H R I S R E A D
“Until your pretty code is in production, making money, or doing whatever it does, you’ve just
wasted your time”
– A N O N Y M O U S E X - C O L L E A G U E
“Delivering software in this company is like kicking a dead whale along the beach”
cost
per
uni
t
batch size
combined cost of transaction cost of delay
O P T I M A L B AT C H S I Z E
AT A L O W E R C O S T O F T R A N S A C T I O N
cost
per
uni
t
batch size
combined cost of transaction cost of delay
O P T I M A L B AT C H S I Z E
– A N O N Y M O U S E X - C O L L E A G U E
“Delivering software in this company is like kicking a dead whale along the beach”
– M A R T I N F O W L E R
“When it hurts, do it more often“
C O N T I N O U S D E L I V E R Y
Check in Trigger
Check in Trigger
Check in Trigger
Trigger
Trigger
Full deployment
Developers Source Control
Build and unit test
System tests
Limited deployment
Check in Trigger
Trigger
Trigger
Trigger
D E M O
I N F O R M AT I O N R A D I AT O R
– O B J E C T M E N T O R C O A C H
“If you deliver every day, then no deadlines are special (or scary)”
R E F E R E N C E S
• Continuos delivery software:
• Used in demo: Thoughtworks Go
• http://www.thoughtworks.com/products/go-continuous-delivery/
• Travis-CI (cloud service)
• Read this blog: http://www.zealake.com/2012/12/25/continuous-integration-of-your-front-end-javascript-code-using-travis-ci/
• TeamCity
• Jenkins / Hudson (java-ish)
• Have fun!