Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

126
©LeanAgileMachine Creative Commons Licence Continuous Deployment The writing is on the wall John Stevenson Lean Agile Machine

description

2011-11-01 | 10:40 AM - 11:40 AMSo you want to do continuous delivery but is it working and how does the team and the organisation know what's going on? Using wallboard, information radiators and even just bits of paper stuck to the wall can help you manage all your development.Covering the many ways companies have visualised the mashinations of their work and providing tips on setting up your own uber information radiators.

Transcript of Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

Page 1: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Continuous Deployment

The writing is on the wall

John StevensonLean Agile Machine

Page 2: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Who is John Stevenson● Lean agile coach

Kanban, system thinking, ToC. ● Atlassian ambassador in UK

Growing communities around JIRA...● Community geek

London Java, Graduate Devs, London Scala, London Clojurians, etc.

● Dabbles with

Page 3: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

My Journey

● Started with RUP, UML & XP● Fell for Behaviour Driven

Development & kanban● Learn about a lot of Value &

Systems thinking● Coached teams & individuals● Sharing experiences with

community

Page 4: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

So what is Continuous Deployment ?

Page 5: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

...its incredibly hard

Page 6: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

...even if you are...

Page 7: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

...hard plus infinity for everyone else

Page 8: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Continuous deployment example:

Page 9: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Page 10: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Typically:

25 deploys per day

per developer

Page 11: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Forward culture

Page 12: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

So why go for continuous

deployment?

Page 13: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Page 14: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Page 15: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Page 16: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Page 17: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

http://blog.thehigheredcio.com/2011/08/31/efficiency-vs-effectiveness/

Page 18: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Understanding the business

Table stakes / foundations

SpoilersDifferentiators

Accelerators

Page 19: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Page 20: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Benefits

Page 21: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Where to get started ??

Page 22: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Is your team / company ready ?

A case study in pain and dissapointment!

Page 23: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Change can be expensive

Page 24: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

A long journey of discovery

Page 25: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Involving the whole business

Page 26: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Understanding of Value

Page 27: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

The right motivation

Page 28: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

What is the goal?

Page 29: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Where to start ??

Page 30: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Visualise how you do IT...

Page 31: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Kanban – a wall of Facts

Page 32: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Let the board show issues...

V1.0.1, V1.0.2, V1.0.3, V1.0.4,

Build 1209Build 1221Build 1301

Page 33: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Value stream mapping

The (often wide) path to getting things done

Activities that get things done effectively

Page 34: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Software development

Page 35: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Software development

Page 36: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Page 37: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Include the whole process...

Strategy to shiped

Budgeting

Business sign off

Deployment dry run

Page 38: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Improve the foundations

Page 39: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Monitoring your servers

● Nagios / NagVis● The Dude● Microsoft Operations Manager● Outsource IT...

Page 40: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Page 41: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Page 42: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Page 43: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Page 44: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Page 45: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Sever Provisioning

Page 46: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Its all virtual these days...

Page 47: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Page 48: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Virtual Machines

Automate provisioning

Manage sys-admin tasks remotely

Spin up instances into the cloud Using public cloud when your private cloud is maxed out

Off the shelf pre-configured servers

Page 49: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Managing VM's is easy

Page 50: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Automating Virtual Machines

Page 51: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Vagrant – simple to use

● Requirements Ruby Virtualbox Chef / Puppet for other VM systems

Page 52: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Consistent environments

Page 53: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Automated server managementPuppet / Chef / Rex

Page 54: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Disaster recovery for learning

Page 55: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Change freezes

The period of time when the most of the changes happen

When lots of patches are done !

A good time to learn what is important !

Page 56: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Deployment Strategies

Page 57: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

If it hurts, do it more often

Page 58: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Segmented deploys

Different customers / different expectations

Page 59: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Timely deployments

Cost of delay ?

When is the software valuable ?

Page 60: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Smaller deployments

Page 61: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Visualise deployment strategies??

Page 62: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Managing your code

Page 63: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

It compiles, ship it!!

Compile

Ship It

Page 64: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Automated builds

Design around common patterns for building

Should have valuable reason for doing something different

SBT

Page 65: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>com.mycompany.app</groupId>

<artifactId>my-app</artifactId> <packaging>jar</packaging>

<version>1.0-SNAPSHOT</version>

<name>Maven Quick Start Archetype</name> <url>http://maven.apache.org</url>

<dependencies>

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>4.8.2</version>

<scope>test</scope>

</dependency> </dependencies>

</project>

Simple Maven config

Page 66: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Local repositories

Nexus

Artefactory

DVCS

Page 67: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Build tools – continuous feedback

Maven 3 Shell

Simple Build Tool

~Tests

Page 68: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Coding fast feedback

JavaScript

Page 69: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Testable code

● TDD / BDD helped devs have a better appreciation of code that is more testable

● Faster feedback gave devs (and team) better understanding of what is needed

● Resolve issues quickly, prevent many from happening at all

Page 70: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Behaviour Driven Developent

Page 71: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Deployable software

● Automated server builds● Automated deployment scripts / tools● Automated tests / specifications● Effective business review

● Faster feedback● Resolve issues quickly● Deploy when valuable

Page 72: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Distributed Versioning

● Smaller repositories Per component / module Simpler architecture

● Manage branching easier with pull requests A pull system is more effective than central push

● Different repos for different purposes Repo for deployment, trunk, CI server

Page 73: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Page 74: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Git Workflow

Page 75: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Git architecure (logical)

Page 76: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Page 77: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Change-set history

Page 78: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Page 79: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Code reviews

DVCS push requests

Page 80: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Central or

Distributed Version control

Page 81: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Centralised team

Page 82: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Centralised issues

Fear of breaking the build

unnecessary branching

delayed commits

Off-line support?

Any redundancy in versioning server?

Page 83: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Managed Distributed team

Page 84: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Continuous Integration

What

When

How long

Run specifications / unit tests

Reports

Actions to initiate

Page 85: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

CI Server basics

Page 86: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

BOfH CI Server

Kicks out checked in code if it fails

Wires up build bunnies to stop you hiding from broken builds

Wall of shame for breaking builds

Top ten worst programmers

Page 87: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Page 88: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Page 89: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

CI Server lights

Page 90: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Ultimate Wallboards

Page 91: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Issue ticker

Stream of issues flowing

Highlight new features, overdue items, critical issues, time related news, etc

Page 92: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Page 93: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

UltimateWallboard.com

Page 94: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

More than compiling code...

conf/tomcat-users.xml<user username=”bamboo” password=”bamboo” roles=”manager-script,manager-gui”/>

Page 95: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

One click deploy

Page 96: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Architect for deployment

Modular systems

Simple interfaces

Supported by acceptance tests (specifications)

Automate low value tasks

Page 97: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Final thoughts

Page 98: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Predictability / Cadence

Smaller tasks

Understanding you capacity

Page 99: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Communicate effectively

Page 100: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Feedback

Page 101: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

How will you make a change ?

● Automated deployments● Distributed version control● Refactoring architecture, design & code● Modularity in design● Migrating from technical debt

● Shouting...

Page 102: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Benefits

Page 103: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Thank you

Page 104: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Feedback & Refs

@JR0cket

[email protected]

[email protected]

Please note: Very few bulletpoints were hurt during the making of this presentation

Page 105: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

The big-ish picture

Page 106: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

SummaryAdaptable practices

TDD/BDD, DDD, kanban, ToC, system thinking

Good understanding of supporting tools Cucumber, CI build jobs, DVCS, ...

Strong DevOps capability

Understand business value

Page 107: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

A tool to collaborate

Page 108: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Visualising the workload

Page 109: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Pull system

Page 110: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Experditing

● Visualisation for a high priority task Big red sticker Experditing lane Record other tasks being blocked

● Review why you get high priority task Consider it a constraint / bottleneck

Page 111: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Experditing lane

Page 112: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

DevOps Goal keeper

● Team rotates people around role ● Goalkeeper fields all issues● Rest of team allowed to

focus on a (bigger) task● Use visual indicator to show

who is the Goalie

Visually represent these points ??

Page 113: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Drop the Backlog

● The backlog is a omnipresent sign of overload

Useful for pushing back to the management

Bad for team moral Hide it away (eg. JIRA)

● When team are in tune with value, tasks flow more naturally – opportunities are not drowned out

Page 114: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Data dashboard effect

● Manager can instantly see what you are working on

● Manager can evaluate priorities easily Or go back and ask for clarification with business

● Gives data on issues Recording task swapping, time to work on tasks Data to review at retrospective on current

approach

Page 115: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Page 116: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Washing line

Page 117: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

RSPB

Royal Society for the protection of Bulletpoints

Page 118: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Change at speed of deployment

Page 119: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Be as creative as needed

Page 120: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Managing the change

Page 121: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Subtle ”Theory of Constraints”

● What is stopping you achieve your goals ? Identify all the current challenges

● Find how to work effectively With respect to the biggest challenge

● Incrementally improve around biggest challenge

● Review the challenges

Page 122: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Change at the speed of acceptance

● Effective change cannot be pushed

● kanban estoles pull, change should be pulled

● Odd that some many agile projects start and end with a big bang

Page 123: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Lean Startup

● Business canvas model● Real options● Last responsible moment● Least responsible change

Page 124: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Lessons from Service Desk

● Variation of personal kanban Sticky notes at the side of the keyboard One priority at once Need business reason to change priorities

Record reason and number of times you had to revisit the task

Page 125: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

DevOps overload

● Lots of last minute patches

● Deployment like buses, nothing for a few days then three come at once for the same night

● DevOps have no time to script deployments

● Have to deal with long, boring deployment documents

● Repeatedly swiched from infrastructure work, vastly increasing time taken.

Page 126: Java Tech & Tools | Continuous Delivery - the Writing is on the Wall | John Stevenson

©LeanAgileMachineCreative Commons Licence

Summary of Kanban

● Visualse work● Manage WIP● Engage with business

Shared ownership● Encourage realistic

priorities

● Helps you stay sane

● Show you are productive

● Deal with micro-management