lean outside in software development

Post on 23-Feb-2017

39 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

LEAN, Outside in Software DevelopmentBrendon Page

@brendonpaginate

Overview

Magicand a journey

LEANOutside

in & insideout

Magic and a Journey

Thinking

Agileprinciples

Supportingpractices

LEANprinciples

LEANsoftware

developmentprinciples

New thinking driven

by personalexperiences

A lot ofexistingthinking

Existing practice map

MacroPlanning

Communication

Collaboration

Predictthe

future

------------

------------

------

Talked about to death

------------

------------

------

Micro?

Micro

If(x<3){..}

foreach(var c in cakes){..}

var thing = new Moo();

If(x<3){..} foreach(var c in cakes){..}var thing = new Moo();

ThinkingPlanning

Sticky

The problem with magic

“so roughly how far are you?”

“should be done in about 2 days”

At thestand-up

“so roughly how far are you?”

“should be done in about 2 days”

5 days later at thestand-up

Reasoning about magic

If(x<3){..} foreach(var c in cakes){..}var thing = new Moo();

LEAN?

LEAN?

LEAN?

LEAN?

LEAN?

My journey

BeforeChillisoft

ChillisoftbeforeOman

OmanChillisoft

afterOman

My journey

BeforeChillisoft

ChillisoftbeforeOman

OmanChillisoft

afterOman

How I worked

Bottom (DB, FS)

Top (UI, Web services)

Class Class Class

Class Class

Class

Whiteboard

How I worked

Bottom (DB, FS)

Top (UI, Web services)

Class Class Class

Class Class

ClassClass

Coding

Insideout

How I worked

Bottom (DB, FS)

Top (UI, Web services)

Class Class Class

Class Class

ClassClass

Coding

Unhealthy cycle

Build

Think

Re-build

Improvement with experience

Forknown

problems

Fewer shorterre-buildsteps

Unknownproblems

Manylong

re-buildsteps

My journey

BeforeChillisoft

ChillisoftbeforeOman

OmanChillisoft

afterOman

How I worked

Inside (DB, FS)

Outside (UI, Web services)

Class Class Class

Class Class

Class

Whiteboard

How I worked

Inside (DB, FS)

Outside (UI, Web services)

Class & Tests Class & Tests Class & Tests

Class & Tests Class & Tests

Class & TestsClass & Tests

Coding

2 times as painful

How I worked

Inside (DB, FS)

Outside (UI, Web services)

Class & Tests Class & Tests Class & Tests

Class & Tests Class & Tests

Class & TestsClass & Tests

Coding

My journey

BeforeChillisoft

ChillisoftbeforeOman

OmanChillisoft

afterOman

How we worked

Inside (DB, FS)

Outside (UI, Web services)

Class Class Class

Class Class

Class

Whiteboard

How I worked

Inside (DB, FS)

Outside (UI, Web services)

Class & Tests Class & Tests

Class & Tests

Class & Tests

Coding

Onlybuilt

what weneeded Refactored

out conceptsas theybecameapparent

Extracted

Outsidein

JITThinking

DiscomfortI could ‘see’

where wewere goingto end up We

didn’t end upthere

Deliveredhigh quality

system

FastPush

Push

My journey

BeforeChillisoft

ChillisoftbeforeOman

OmanChillisoft

afterOman

I wrote code completely differently

If(x<3){..} foreach(var c in cakes){..}var thing = new Moo();

How do Iadd value

Can I deferthis decisionuntil I know

more?TDD wasn’tpainful

anymoreOutside

in

Trying to explain all this

LeanThinking

Banish Waste and Create Wealth in Your CorporationJames P.

WomackDaniel T.

Jones

LEAN

Eliminatewaste

Move

Batch&

queueSmall

batches / onepiece flow

Reducesinventory

Reducesbottlenecks

Earlydiscovery of

defects

Improvesflexibility

Outside in &

inside out

LEAN context

Insideout

Outsidein

Batch&

queue

Singlepieceflow

Obligatory war

Insideout

camp

Outsidein

camp

But it’s the way I think

DistinctionWhiteboard

(thinking)Think

howeveryou want

to

Coding

Outsidein

JIT thinking

Deferdecisions

Getting started

Practice(Game oflife kata is

good)Awareness

Reflect

How do Iadd value

Can I deferthis decisionuntil I know

more?

Summary

Outside in is

single pieceflow

ReadLEAN Thinking

Start withkatas

Thank you!Questions?

@[twitter handle]

top related