Top Banner
http://thoughtworks-studios.com / adopting continuous delivery @jezhumble | [email protected] 8 November 2012 | #qconsf Thursday, November 8, 12
32

adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

Jun 20, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

http://thoughtworks-studios.com/

adoptingcontinuous delivery

@jezhumble | [email protected] November 2012 | #qconsf

Thursday, November 8, 12

Page 2: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

“adopting”

organizational, architectural, process

-NOT-

tools, code, infrastructure

Thursday, November 8, 12

Page 3: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

start with continuous integration

understand why you want to change

get measurable change fast, even if reaching your goal takes years

create culture of continuous improvement

focus on organization and architecture

takeaways

Thursday, November 8, 12

Page 4: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

what is continuous delivery?

reduce the cost, time, and risk

of delivering incremental changes

to users

Thursday, November 8, 12

Page 5: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

why continuous delivery?

build the right thingCustomer

developent

Agile productdevelopment

Eric Ries, “The Lean Startup” http://bit.ly/8ZoX5F

Thursday, November 8, 12

Page 6: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

why continuous delivery?

build the right thingreduce risk of release

John Allspaw: “Ops Metametrics” http://slidesha.re/dsSZIr

Thursday, November 8, 12

Page 7: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

why continuous delivery?

build the right thingreduce risk of releasereal project progress

Thursday, November 8, 12

Page 8: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

so!ware is always releasable on demand

prioritize keeping system releasable over delivery

anybody can get fast, automated feedback on the e"ect of a change

how do i know i’m doing it?

Thursday, November 8, 12

Page 9: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

deployment pipeline

Delivery team Version control Build & unit tests

Automated acceptance tests

User acceptance tests

Release

Check in

Feedback

Trigger

Check in

Feedback

Trigger

Trigger

Check inTrigger

Trigger

ApprovalApproval

Feedback

Feedback

FeedbackFeedback

Thursday, November 8, 12

Page 10: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

skills & responsibilities

plan for continuous delivery

architect for continuous delivery

business wants to scale back release frequency

project launched early

green#eld project

Thursday, November 8, 12

Page 11: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

devops

http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr

Thursday, November 8, 12

Page 12: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

hiring a devop

http://gun.io/blog/how-to-hire-devops/

Thursday, November 8, 12

Page 13: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

the devops role

If you add a “devops” function to your existing dev, testing and ops functions, you just missed the whole point.

Thursday, November 8, 12

Page 14: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

the path of continuous delivery

http://www.flickr.com/photos/jezand_rani/455116092/Thursday, November 8, 12

Page 15: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

hp laserjet #rmware team

~5% - innovation

15% - manual testing

25% - current product support

25% - porting code

20% - detailed planning

10% - code integration

2008

~40% - innovation

5% - most testing automated

10% - one branch cpe

15% - one main branch

5% - agile planning

2% - continuous integration

2011

Thursday, November 8, 12

Page 16: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

the economics

2008 to 2011

• overall development costs reduced by ~40%

• programs under development increased by ~140%

• development costs per program down 78%

• resources now driving innovation increased by 5X

A Practical Approach to Large-Scale Agile Development - Gruver, Young, Fulghum

Thursday, November 8, 12

Page 17: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

test automation

architecture

continuous integration

planning process

what changed?

Thursday, November 8, 12

Page 18: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

organizational transformation

aim to achieve measurable change as soon as possible - no more than a few months

Thursday, November 8, 12

Page 19: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

top down or bottom up?

fetch me 100 of your finest CSMs!

no! we will deliver crappy software late through self-

organization!

Thursday, November 8, 12

Page 20: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

start with continuous integration

Is the system working?

If you broke it, you !x it.

Thursday, November 8, 12

Page 21: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

Mainline Server

Develop

Build

Build

pull

Local Workstation

Buildpush

✔Done!

Thursday, November 8, 12

Page 22: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

branch-by-abstraction - bit.ly/kAUbEw

“feature branching is a poor man’s modular architecture” - Dan Bodart

micro-services - build a platform - bit.ly/shHR"

strangler application - bit.ly/R4ZiJZ

architecture

Thursday, November 8, 12

Page 23: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

acceptance testing in non-integrated environment

design for phoenixes - bit.ly/PFtDQy

stand up system in dev environment

create test doubles for integration

design for test and deploy

Thursday, November 8, 12

Page 24: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

program-level co-ordination

1 -> 2 releases per month; 40% cycle time reduction

low-hanging fruit: reduce branching, run tests, standardize environments, decrease build time

director of continuous delivery managing initiative

what can we do in a year?

Thursday, November 8, 12

Page 25: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

slack time

excitement

existing capability (“nokia test”)

can demonstrate measurable change

#nding the right team

Thursday, November 8, 12

Page 26: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

Are you doing iterative development?

Iterations must be time-boxed to less than four weeks

Software features must be tested and working at the end of each iteration.

The iteration must start before the specification is complete.

the nokia test

bas voddeThursday, November 8, 12

Page 27: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

Are you doing Scrum?

Do you know who the product owner is?

Is the product backlog prioritized by business value?

Does the product backlog have estimates created by the team?

Are there project managers (or others) disrupting the work of the team?

the nokia test

bas voddeThursday, November 8, 12

Page 28: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

maturity model

• continuous integration• testing• environments and deployment• data management• traceability and auditing• organizational alignment• con#guration management• architecture

Thursday, November 8, 12

Page 29: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

monolithic architecture, water-scrum-fall

architecture didn’t consider test and deployment

“They don't need a deployment pipeline, they need to talk to each other much more”

expected magic CD fairy to make things better

how not to do it

Thursday, November 8, 12

Page 30: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

make it easy for everyone to see what’s happening

get everyone together at the beginning

keep meeting

continuous improvement (kaizen)

people are the key

Thursday, November 8, 12

Page 31: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

start with continuous integration

understand why you want to change

get measurable change fast, even if reaching your goal takes years

create culture of continuous improvement

focus on organization and architecture

takeaways

Thursday, November 8, 12

Page 32: adopting continuous delivery - QCon San Francisco · start with continuous integration understand why you want to change get measurable change fast, even if reaching your goal takes

http://thoughtworks-studios.com/

questions@jezhumble | [email protected]://continuousdelivery.com/

ThoughtWorks is hiring!http://jobs.thoughtworks.com/

Australia | Brazil | Canada | ChinaGermany | India | Singapore | South AfricaUganda | UK | USA

© 2012 ThoughtWorks, Inc.

Thursday, November 8, 12