Continous delivery - lad koden flyde 2014

20
CONTINOUS DELIVERY - LAD KODEN FLYDE… ©2014, MORTEN ULRIK SØRENSEN, BESTBRAINS Bestbrains Cafémøde, november 2014

description

Når et software-produkt løbende bliver forbedret, så vil vi jo gerne give brugerne forbedringerne i hænderne så hurtigt og let som muligt. Continuous Delivery er automatiske test og automatiseret deployment strikket sammen, så I bare skal lave lækre features og checke ind - så klarer automatikken resten. Vi ser på hvordan man sætter den nødvendige infrastruktur og automatik op, så de gode tilføjelser og rettelser til koden hurtigt og automatisk flyder ud til slutbrugerne - og de knap så gode bliver stoppet undervejs.

Transcript of Continous delivery - lad koden flyde 2014

Page 1: Continous delivery - lad koden flyde 2014

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

Page 2: Continous delivery - lad koden flyde 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

Page 3: Continous delivery - lad koden flyde 2014

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

Page 4: Continous delivery - lad koden flyde 2014

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

Page 5: Continous delivery - lad koden flyde 2014

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

Page 6: Continous delivery - lad koden flyde 2014

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.

Page 7: Continous delivery - lad koden flyde 2014

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

Page 8: Continous delivery - lad koden flyde 2014

– 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”

Page 9: Continous delivery - lad koden flyde 2014

– 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”

Page 10: Continous delivery - lad koden flyde 2014

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

Page 11: Continous delivery - lad koden flyde 2014

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

Page 12: Continous delivery - lad koden flyde 2014

– 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”

Page 13: Continous delivery - lad koden flyde 2014

– M A R T I N F O W L E R

“When it hurts, do it more often“

Page 14: Continous delivery - lad koden flyde 2014

C O N T I N O U S D E L I V E R Y

Page 15: Continous delivery - lad koden flyde 2014

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

Page 16: Continous delivery - lad koden flyde 2014

D E M O

Page 17: Continous delivery - lad koden flyde 2014
Page 18: Continous delivery - lad koden flyde 2014

I N F O R M AT I O N R A D I AT O R

Page 19: Continous delivery - lad koden flyde 2014

– 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)”

Page 20: Continous delivery - lad koden flyde 2014

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!