Architecture & collaboration: The cornerstones of Continuous Delivery

Preview:

DESCRIPTION

Presented at Agile Slovenia 2013

Citation preview

Architecture & Collaboration

cornerstones of continuous delivery

#AgileSlovenia @rachellaycock Monday, 14 October 13

Monday, 14 October 13

Architecture & Collaboration

cornerstones of continuous delivery

Monday, 14 October 13

Architecture & Collaboration

Monday, 14 October 13

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

Customer

Delivery teamConstant flow of new features into production

continuous delivery

Monday, 14 October 13

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

feedback from usersreduce risk of release

Releasing frequently

Monday, 14 October 13

feedback from usersreduce risk of releasereal project progress

Continuous Delivery is big

Monday, 14 October 13

Continuous Delivery is big

Monday, 14 October 13

Organisational Alignment

Release Management

Architecture Quality Assurance

Continuous Integration

Configuration Management

Data Management

Environments & Deployment

Continuous Delivery is big

Monday, 14 October 13

Smells!

Monday, 14 October 13

#AgileSlovenia @rachellaycock

smell: things are slowsmell: Confusion

smell: ivory towerssmell: it never gets better

Monday, 14 October 13

smell: things are slow

Monday, 14 October 13

Monday, 14 October 13

ANTI-pattern: ball of MUD

Monday, 14 October 13

ANTI-pattern: ReAL ball of mud

Monday, 14 October 13

ANTI-pattern: tight coupling

Monday, 14 October 13

pattern: Loose coupling

Monday, 14 October 13

pattern: Micro services

Monday, 14 October 13

Postel’s Law

Last responsible moment

Architect and develop for evolvability

Conway’s Law

Architect for testability

pattern: Evolutionary architecture

Monday, 14 October 13

pattern: untangling

Monday, 14 October 13

pattern: Feature Toggles

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

pattern: branch by abstraction

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

Monday, 14 October 13

Monday, 14 October 13

ANTI-pattern: heavy risk management

Monday, 14 October 13

pattern: lightweight risk mgmt

Monday, 14 October 13

#AgileSlovenia @rachellaycock

smell: things are slowsmell: Confusion

smell: ivory towerssmell: it never gets better

Monday, 14 October 13

smell: Confusion

Monday, 14 October 13

ANTI-pattern: Too much re-work

Monday, 14 October 13

pattern: automation

Monday, 14 October 13

ANTI-pattern: massive org structure

Monday, 14 October 13

ANTI-pattern: silos

Monday, 14 October 13

ANTI-pattern: distance

Monday, 14 October 13

pattern: devops

Monday, 14 October 13

pattern: feature teams

Monday, 14 October 13

ANTI-pattern: single point of failure

Monday, 14 October 13

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

pattern: big visible charts

Monday, 14 October 13

Customer

Delivery teamConstant flow of new features into production

pattern: iterative development

Monday, 14 October 13

#AgileSlovenia @rachellaycock

smell: things are slowsmell: Confusion

smell: ivory towerssmell: it never gets better

Monday, 14 October 13

smell: ivory towers

Monday, 14 October 13

ANTI-pattern: civil architecture

Monday, 14 October 13

pattern: town planning

Monday, 14 October 13

pattern: SELF-organisation

Monday, 14 October 13

pattern: Architect For build, run and deploy

Monday, 14 October 13

#AgileSlovenia @rachellaycock

smell: things are slowsmell: Confusion

smell: ivory towerssmell: it never gets better

Monday, 14 October 13

smell: it never gets betterMonday, 14 October 13

ANTI-pattern: BIG BANG

Monday, 14 October 13

pattern: wabi-sabi

Monday, 14 October 13

pattern: retrospectives

Monday, 14 October 13

#AgileSlovenia @rachellaycock

smell: things are slowsmell: Confusion

smell: ivory towerssmell: it never gets better

Monday, 14 October 13

Monday, 14 October 13

Thank you!

RACHEL LAYCOCK

http://thoughtworks.com@rachellaycock

#AgileSlovenia @rachellaycock Monday, 14 October 13

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

Recommended