54
Architecture & Collaboration cornerstones of continuous delivery #AgileSlovenia @rachellaycock Monday, 14 October 13

Architecture & collaboration: The cornerstones of Continuous Delivery

Embed Size (px)

DESCRIPTION

Presented at Agile Slovenia 2013

Citation preview

Page 1: Architecture & collaboration: The cornerstones of Continuous Delivery

Architecture & Collaboration

cornerstones of continuous delivery

#AgileSlovenia @rachellaycock Monday, 14 October 13

Page 2: Architecture & collaboration: The cornerstones of Continuous Delivery

Monday, 14 October 13

Page 3: Architecture & collaboration: The cornerstones of Continuous Delivery

Architecture & Collaboration

cornerstones of continuous delivery

Monday, 14 October 13

Page 4: Architecture & collaboration: The cornerstones of Continuous Delivery

Architecture & Collaboration

Monday, 14 October 13

Page 5: Architecture & collaboration: The cornerstones of Continuous Delivery

Iteration 0 1 2 3 4

Analysis + Design

Development

Testing + Showcase

Integration + QA Release and operation

Customer

Centralized QA IT Operations

"Agile" team

The "last mile"

Agile 101

Monday, 14 October 13

Page 6: Architecture & collaboration: The cornerstones of Continuous Delivery

Customer

Delivery teamConstant flow of new features into production

continuous delivery

Monday, 14 October 13

Page 7: Architecture & collaboration: The cornerstones of Continuous Delivery

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

feedback from usersreduce risk of release

Releasing frequently

Monday, 14 October 13

Page 8: Architecture & collaboration: The cornerstones of Continuous Delivery

feedback from usersreduce risk of releasereal project progress

Continuous Delivery is big

Monday, 14 October 13

Page 9: Architecture & collaboration: The cornerstones of Continuous Delivery

Continuous Delivery is big

Monday, 14 October 13

Page 10: Architecture & collaboration: The cornerstones of Continuous Delivery

Organisational Alignment

Release Management

Architecture Quality Assurance

Continuous Integration

Configuration Management

Data Management

Environments & Deployment

Continuous Delivery is big

Monday, 14 October 13

Page 11: Architecture & collaboration: The cornerstones of Continuous Delivery

Smells!

Monday, 14 October 13

Page 12: Architecture & collaboration: The cornerstones of Continuous Delivery

#AgileSlovenia @rachellaycock

smell: things are slowsmell: Confusion

smell: ivory towerssmell: it never gets better

Monday, 14 October 13

Page 13: Architecture & collaboration: The cornerstones of Continuous Delivery

smell: things are slow

Monday, 14 October 13

Page 14: Architecture & collaboration: The cornerstones of Continuous Delivery

Monday, 14 October 13

Page 15: Architecture & collaboration: The cornerstones of Continuous Delivery

ANTI-pattern: ball of MUD

Monday, 14 October 13

Page 16: Architecture & collaboration: The cornerstones of Continuous Delivery

ANTI-pattern: ReAL ball of mud

Monday, 14 October 13

Page 17: Architecture & collaboration: The cornerstones of Continuous Delivery

ANTI-pattern: tight coupling

Monday, 14 October 13

Page 18: Architecture & collaboration: The cornerstones of Continuous Delivery

pattern: Loose coupling

Monday, 14 October 13

Page 19: Architecture & collaboration: The cornerstones of Continuous Delivery

pattern: Micro services

Monday, 14 October 13

Page 20: Architecture & collaboration: The cornerstones of Continuous Delivery

Postel’s Law

Last responsible moment

Architect and develop for evolvability

Conway’s Law

Architect for testability

pattern: Evolutionary architecture

Monday, 14 October 13

Page 21: Architecture & collaboration: The cornerstones of Continuous Delivery

pattern: untangling

Monday, 14 October 13

Page 22: Architecture & collaboration: The cornerstones of Continuous Delivery

pattern: Feature Toggles

http://martinfowler.com/bliki/FeatureToggle.htmlMonday, 14 October 13

Page 23: Architecture & collaboration: The cornerstones of Continuous Delivery

pattern: branch by abstraction

http://continuousdelivery.com/wp-content/uploads/2011/05/branch_by_abstraction.png

Monday, 14 October 13

Page 24: Architecture & collaboration: The cornerstones of Continuous Delivery

Monday, 14 October 13

Page 25: Architecture & collaboration: The cornerstones of Continuous Delivery

ANTI-pattern: heavy risk management

Monday, 14 October 13

Page 26: Architecture & collaboration: The cornerstones of Continuous Delivery

pattern: lightweight risk mgmt

Monday, 14 October 13

Page 27: Architecture & collaboration: The cornerstones of Continuous Delivery

#AgileSlovenia @rachellaycock

smell: things are slowsmell: Confusion

smell: ivory towerssmell: it never gets better

Monday, 14 October 13

Page 28: Architecture & collaboration: The cornerstones of Continuous Delivery

smell: Confusion

Monday, 14 October 13

Page 29: Architecture & collaboration: The cornerstones of Continuous Delivery

ANTI-pattern: Too much re-work

Monday, 14 October 13

Page 30: Architecture & collaboration: The cornerstones of Continuous Delivery

pattern: automation

Monday, 14 October 13

Page 31: Architecture & collaboration: The cornerstones of Continuous Delivery

ANTI-pattern: massive org structure

Monday, 14 October 13

Page 32: Architecture & collaboration: The cornerstones of Continuous Delivery

ANTI-pattern: silos

Monday, 14 October 13

Page 33: Architecture & collaboration: The cornerstones of Continuous Delivery

ANTI-pattern: distance

Monday, 14 October 13

Page 34: Architecture & collaboration: The cornerstones of Continuous Delivery

pattern: devops

Monday, 14 October 13

Page 35: Architecture & collaboration: The cornerstones of Continuous Delivery

pattern: feature teams

Monday, 14 October 13

Page 36: Architecture & collaboration: The cornerstones of Continuous Delivery

ANTI-pattern: single point of failure

Monday, 14 October 13

Page 37: Architecture & collaboration: The cornerstones of Continuous Delivery

Product opportunity assessment

Product discovery Development Final testing

and approval ReleaseProduct

planning and estimation

Elapsed time

Value-added time3 days 1 week 10 days 7 weeks 1 week 2

hours

1 week 10 days 3 days 5 days 2 days

pattern: value stream mapping

Monday, 14 October 13

Page 38: Architecture & collaboration: The cornerstones of Continuous Delivery

pattern: big visible charts

Monday, 14 October 13

Page 39: Architecture & collaboration: The cornerstones of Continuous Delivery

Customer

Delivery teamConstant flow of new features into production

pattern: iterative development

Monday, 14 October 13

Page 40: Architecture & collaboration: The cornerstones of Continuous Delivery

#AgileSlovenia @rachellaycock

smell: things are slowsmell: Confusion

smell: ivory towerssmell: it never gets better

Monday, 14 October 13

Page 41: Architecture & collaboration: The cornerstones of Continuous Delivery

smell: ivory towers

Monday, 14 October 13

Page 42: Architecture & collaboration: The cornerstones of Continuous Delivery

ANTI-pattern: civil architecture

Monday, 14 October 13

Page 43: Architecture & collaboration: The cornerstones of Continuous Delivery

pattern: town planning

Monday, 14 October 13

Page 44: Architecture & collaboration: The cornerstones of Continuous Delivery

pattern: SELF-organisation

Monday, 14 October 13

Page 45: Architecture & collaboration: The cornerstones of Continuous Delivery

pattern: Architect For build, run and deploy

Monday, 14 October 13

Page 46: Architecture & collaboration: The cornerstones of Continuous Delivery

#AgileSlovenia @rachellaycock

smell: things are slowsmell: Confusion

smell: ivory towerssmell: it never gets better

Monday, 14 October 13

Page 47: Architecture & collaboration: The cornerstones of Continuous Delivery

smell: it never gets betterMonday, 14 October 13

Page 48: Architecture & collaboration: The cornerstones of Continuous Delivery

ANTI-pattern: BIG BANG

Monday, 14 October 13

Page 49: Architecture & collaboration: The cornerstones of Continuous Delivery

pattern: wabi-sabi

Monday, 14 October 13

Page 50: Architecture & collaboration: The cornerstones of Continuous Delivery

pattern: retrospectives

Monday, 14 October 13

Page 51: Architecture & collaboration: The cornerstones of Continuous Delivery

#AgileSlovenia @rachellaycock

smell: things are slowsmell: Confusion

smell: ivory towerssmell: it never gets better

Monday, 14 October 13

Page 52: Architecture & collaboration: The cornerstones of Continuous Delivery

Monday, 14 October 13

Page 53: Architecture & collaboration: The cornerstones of Continuous Delivery

Thank you!

RACHEL LAYCOCK

http://thoughtworks.com@rachellaycock

#AgileSlovenia @rachellaycock Monday, 14 October 13

Page 54: Architecture & collaboration: The cornerstones of Continuous Delivery

ResourcesBooks:• Continuous Delivery - Jez Humble, Dave Farley• Working Effectively with Legacy Code - Michael Feathers• Release It - Michael Nygard• Domain Driven Design - Eric Evans

Articles/Blogs:• Branch by Abstraction - Jez Humble: http://continuousdelivery.com/2011/05/make-large-scale-changes-incrementally-with-branch-by-abstraction/• Branch by Abstraction - Paul Hammant:http://paulhammant.com/blog/branch_by_abstraction.html/• Feature Toggles - Martin Fowler: http://martinfowler.com/bliki/FeatureToggle.html• Evolutionary Architecture - Neal Ford: http://www.ibm.com/developerworks/views/java/libraryview.jsp?search_by=evolutionary+architecture+emergent+design:• Ball of Mud: http://www.laputan.org/mud/• Demming - http://leanandkanban.wordpress.com/2011/07/15/demings-14-points/• Coding Horror: http://www.codinghorror.com/blog/2007/11/the-big-ball-of-mud-and-other-architectural-disasters.html

Monday, 14 October 13