rewire your brain (for digital) - allan kelly associates · allan kelly @allankellynet...

Post on 16-Aug-2021

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

AllanKelly@allankellynetallan@allankelly.neth.p://www.allankelly.net

September2017

RewireyourBrain(forDigital)

Mentalmodels

Maybe…...weneedto...

...rethink

Organiza(on&Managementmodels?

Q

HowmanyofyouconsideryourselvessoMwaredevelopers?

Howmanyofyouthinkyouworkin

“digital”?

Digital

AppsOnlineretailTheWeb

GigeconomyUberisa(on

GPS BigData

Drones

AnalyUcs

AI

MobilephonesSmartphones

Itsso.wareallthewaydown…

Sensors Lidar

DeepLearning

Socialmedia

RoboUcs

Cloud

SocialmarkingCrowdfunding

Moore’sLaw

Youain’tseennothingyet

0

1E+09

2E+09

3E+09

4E+09

5E+09

6E+09

7E+09

8E+09

1960 1970 1980 1990 2000 2010 2020

TransistorsperCPU:1970->2020

Datafromh.ps://en.wikipedia.org/wiki/Transistor_count

2016Intel22-coreXeonBroadwell-E5(7,200,000,000)

1976ZilozZ80(8,500)

1971Intel4004(2,300)

1975Mostek6502(3,510)

dot.comboom

0

2E+09

4E+09

6E+09

8E+09

1E+10

1.2E+10

1.4E+10

1.6E+10

1960 1970 1980 1990 2000 2010 2020 2030

Nextyear14,000,000,000Transistors

1969ApolloGuidancecomputer12,000transistors

2016iPhone73,300,000,000

(3.3bn)transistors

Mentalmodels

DiseconomiesofScale

SoMwaredevelopment…

•  DoesNOThaveeconomiesofScale•  DevelopmenthasDISECONOMIESofscale

MilkischeapestinBIGcartons

So.wareischeapestinlotsofsmallcartons

AndsmallcartonsofsoMwarereducerisk

SoMwaredevelopment…

•  DoesNOThaveeconomiesofScale•  DevelopmenthasDISECONOMIESofscaleTherefore

•  StopthinkingBIG•  StartthinkingSMALL

OpUmizeforlotsofSmall

•  Smallbatchsize(amountofwork)•  Smallcodebases•  Smallreleases•  Smalltests•  Smallteams•  Smallfunding– Allocate£$€insmallbatches

Higherqualityisfaster

JohnCage

Defectsarenotfree.Somebodymakesthem,andgetspaidformaking

them

Quality…makesallthingspossible

PhilipCrosby

"Qualityhasmuchincommonwithsex.•  Everyoneisforit.(UndercertaincondiUonsof,course)•  Everyonefeelstheyunderstandit.(Eventhoughthey

wouldn'twanttoexplainit)•  EveryonethinksexecuUonisonlyama.eroffollowing

naturalinclinaUons.(AMerall,wedogetalongsomehow)

And,ofcourse,mostpeoplefeelthatallproblemsintheseareasarecausedbyotherpeople."

publicclassRecentlyUsedList{privateList<string>list;publicRecentlyUsedList(){ list=newList<string>();}publicstringthis[intindex]{ get{ intposiUon=0; foreach(stringvalueinlist){ if(posiUon==index) returnvalue; ++posiUon;} thrownewArgOutOfRngExcpt();}

publicintCount{ get{ intsize=list.Count; returnsize;}}

publicvoidAdd(stringnewItem){

if(list.Contains(newItem)){ intposiUon= list.IndexOf(newItem); stringexisUngItem=list[posiUon]; list.RemoveAt(posiUon); list.Insert(0,exisUngItem); }else{ list.Insert(0,newItem);}}

}}

publicclassRecentlyUsedList{privateList<string>list=newList<string>();publicvoidAdd(stringnewItem){ list.Remove(newItem); list.Add(newItem);}publicintCount{ get{ returnlist.Count;}}publicstringthis[intindex]{ get{ returnlist[Count-index-1];}}}

Code&refactoringfromKevlinHenney–www.curbralan.com

LowQuality HighQuality

Faster!

LowQuality HighQuality

Faster!

Howdoyouimprovequality?

TDDATDDBDD

Quickestwaytolearnistodo

"Why,"saidtheDodo,"thebestwaytoexplainitistodoit."

LewisCarolAlicethroughtheLookingGlass

Planningislearning

Planningisvaluable

But…

IBM360

IBM360atComputerHistoryMuseumDaveRoss:CCLlicenseviaWikiMedia

46years…

1970OS/360model195•  10,000KIPS(10MIPS)•  4096kb(4Mb)•  COBOLonOS/360•  IMSdatabase•  Monthlyrental$250,000

(Approx.$1.25min2016prices)

2016RaspberryPi2•  4,744MIPS•  1Gb•  Linux•  Python,Scala,Ruby,…•  SQL,NoSQL•  Buy$35

CPUcycles€€€->Planningischeap

CPUcycles€€€->Planningisexpensive

Valueofplann

ing

Time

Planninghasrapidlydiminishingreturns

Moreplanningdoes

notaddvalue

PlanningislearningPlanningisvaluable

But…PlanningisexpensivePlanninghasrapidlydiminishingreturns

IfyouwanttofinishsoonerThen

Startbuildingsooner

Doitright,then

Dotherightthing

“UsersdonotknowwhattheywantunUltheyseeworkingsoMware”

Humphrey'sLawWa.sHumphrey

TheAlignmentTrap

LessEffecUve

MoreEffecUve

Highlyaligned

Lessaligned

‘Alignmenttrap’11%companies+13%ITspending-14%3yearsalesgrowth

‘Maintenancezone’74%companiesAvgITspending-2%3yearsalesgrowth

‘ITEnabledgrowth’7%companies-6%ITspending+35%3yearsalesgrowth

‘Well-oiledIT’8%companies-15%ITspending+11%3yearsalesgrowth

Source:Shp

ilberg,Berez,Puryear,Shah:

MITSloanReview,Fall2007

1

2

Doingtherig

htth

ings

Doingthingsright

Hewholearnsfastestwins

“WeunderstandthattheonlycompeUUveadvantagethecompanyofthefuturewillhaveisitsmanagers’abilitytolearnfasterthanthentheircompeWtors.”

AriedeGeus,TheLivingCompany1988

1)DoitrightBuildamachinewhichcaniterateAlearningmachine

2)DotherightthingIterateyourwaytotherightthing

Do the right thing

Do it right

ThesoluUondefinestheproblem

SoluUondefinestheproblem

TheiPhoneXisEPIC

MyiPhone7isSOslow,fingerprintscannerinsecure,homebu.on!!!!

Youcannotdefinewhatiswantedatthestart

Problemunderstanding&soluUon

co-evolve

Challenge/ResponseAconversaUon

Problem

SoluWon(trythis)

Problem

SoluWon(trythis)

Problem

SoluWon(trythis)

Embraceuncertainty&ambiguity

Solveproblemsbyredefiningthem

EdsgerW.Dijkstra

“Toputitquitebluntly:aslongastherewerenomachines,programmingwasno

problematall;whenwehadafewweakcomputers,programmingbecameamildproblem,andnowwehavegiganUccomputers,programminghasbecomeanequally

giganUcproblem."

1972

0

1E+09

2E+09

3E+09

4E+09

5E+09

6E+09

7E+09

8E+09

1960 1970 1980 1990 2000 2010 2020

TransistorsperCPU:1970->2020

Datafromh.ps://en.wikipedia.org/wiki/Transistor_count

2016Intel22-coreXeonBroadwell-E5(7,200,000,000)

1976ZilozZ80(8,500)

1971Intel4004(2,300)

1975Mostek6502(3,510)

dot.comboom

GiganUcProblem

Complexity

InsoMwaredevelopmentweareconstantlyba.lingcomplexity

digital

Upsidedownthinkingmakesitallmorecomplex

Upsidedownthinkingmakesitallmorecomplicated

Whathavewelearned?

1.  DiseconomiesofScale2.  Higherqualityisfaster3.  Quickestwaytolearnistodo4.  Doitright,thendotherightthing5.  SoluUondefinesproblem

LeanPubh.ps://leanpub.com/cdigital

allan@allankelly.netTwi.er:@allankellynet

LeanPubh.ps://leanpub.com/cdigital

allan@allankelly.netTwi.er:@allankellynet

1.  DiseconomiesofScale2.  Higherqualityisfaster3.  Quickestwaytolearnistodo4.  Doitright, thendotherightthing

5.  SoluUonsdefinesproblem

AllanKelly…Ø ConsulUngonsoMwaredevelopment&strategyØ TrainingforAgile

Author–  Li\leBookofRequirements&UserStories(2016)

h.p://www.leanpub.com/userstories–  Xanpan:TeamCentricAgileSoMwareDevelopment(2014)h.ps://leanpub.com/xanpan

–  BusinessPa\ernsforSo.wareDevelopers(2012)–  ChangingSoMwareDevelopment(2008)

top related