Post on 23-Feb-2017
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]