A Darwinian Perspective on Agile Architecture · 2016. 3. 18. · Agile Anarchy • Experienced...

12
Julian Everett, March 15 th 2016 [email protected] A Darwinian Perspective on Agile Architecture

Transcript of A Darwinian Perspective on Agile Architecture · 2016. 3. 18. · Agile Anarchy • Experienced...

Page 1: A Darwinian Perspective on Agile Architecture · 2016. 3. 18. · Agile Anarchy • Experienced agile devswith anarchist/libertarian tendencies: • Freed from the tyranny of micro-management,

JulianEverett,March15th [email protected]

A Darwinian Perspective on Agile Architecture

Page 2: A Darwinian Perspective on Agile Architecture · 2016. 3. 18. · Agile Anarchy • Experienced agile devswith anarchist/libertarian tendencies: • Freed from the tyranny of micro-management,

• AgileseemedtosolvetheHOW,butnottheWHATorWHEN• Howdoweavoidbuildingthewrongthingintherightway?• “On-time,on-budget”clearlyneithernecessarynorsufficient• Howdowebetterevaluateprojectsuccess?

• Workingsomewhereinthegapbetween:• Adaptivesoftwaredeliverytechniques• Organisational level:evolutionarymicro-economics;complexitytheory

SomeBackground

Page 3: A Darwinian Perspective on Agile Architecture · 2016. 3. 18. · Agile Anarchy • Experienced agile devswith anarchist/libertarian tendencies: • Freed from the tyranny of micro-management,

FeatureConceptanditsExtendedPhenotype

Page 4: A Darwinian Perspective on Agile Architecture · 2016. 3. 18. · Agile Anarchy • Experienced agile devswith anarchist/libertarian tendencies: • Freed from the tyranny of micro-management,

FitnessLandscapes

Page 5: A Darwinian Perspective on Agile Architecture · 2016. 3. 18. · Agile Anarchy • Experienced agile devswith anarchist/libertarian tendencies: • Freed from the tyranny of micro-management,

Whatarepracticalbenefitsofthismodel?

Somepainpointsandissues:• CommandandControl:toomanyconstraints• AgileAnarchy:toofewconstraints• ZombieProjects:thenatureoffailure• AgileArchitecture:shouldn’twebedoingmorethan“goodenough”?

Page 6: A Darwinian Perspective on Agile Architecture · 2016. 3. 18. · Agile Anarchy • Experienced agile devswith anarchist/libertarian tendencies: • Freed from the tyranny of micro-management,

CommandandControl

• Darwinismisvhelpfulnarrativetoexplainthelimitsofcontrol• Someconstraintswecancontrol:• Codingpractices:XP;communicationandcollaboration:BDD

• Someconstraintswecan’tcontrol:• Competitoractivity;non-deterministicmarketbehaviour

• Constraintsimpactphenotypewhichimpactsenvironment• e.g.testcoveragetargets

• Constraintsconstrainserendipityaswellaschaos• Orgel’s 2nd rule:evolutioniscleverthanyou

Page 7: A Darwinian Perspective on Agile Architecture · 2016. 3. 18. · Agile Anarchy • Experienced agile devswith anarchist/libertarian tendencies: • Freed from the tyranny of micro-management,

AgileAnarchy

• Experiencedagiledevs withanarchist/libertariantendencies:• Freedfromthetyrannyofmicro-management,andain’t nevergoingback• Start-upsdon’tneedarchitectssowhydowe?

• Contrarytopopularbelief,Darwinismisnotradicallyreductionist• Evolutionneedsconstraintsaswellasflexibility.Why?• Toenableself-organisation andprevententropy+descentbackintochaos• Toensureimprovementsareresilientandembedded

• Product-centriclocaloptimisation problems

Page 8: A Darwinian Perspective on Agile Architecture · 2016. 3. 18. · Agile Anarchy • Experienced agile devswith anarchist/libertarian tendencies: • Freed from the tyranny of micro-management,

ZombieProjects

• SelfishMeme:itisthebusinesscasewhichmatters,nottheITproject• Lackofprojectfailuresisariskmanagement“smell”• Indicatesnoinnovationi.e.riskaversionratherthanmanagement

• Someprojectsshould fail,ascontroloveroutcomesislimited• Defensiveprogrammanagement:• Removessourcesofpreventablefailure• Minimises impactsofunpreventablefailure– viaescalationboundaries

Page 9: A Darwinian Perspective on Agile Architecture · 2016. 3. 18. · Agile Anarchy • Experienced agile devswith anarchist/libertarian tendencies: • Freed from the tyranny of micro-management,

Goodenougharchitecture

• Is“GoodEnough”theon-time,on-budgetofagilearchitecture?• Needmetricsthatdescribethefitnesslandscapeinbusinessterms• Easytospotbadarchitectureretrospectively:• Coststoomuchduetoover-engineering• Impactsfuturerevenuestreamsduetocost/delayofchange

• Architectureisspeculative• Itisaboutprobabilityratherthanpredictability• Mostrelevantduringmarketequilibriumstates• Designforserendipityduringmarketdisruptions• Spreadrisksocostoffailureisreduced->safetofail->playprobabilities

Page 10: A Darwinian Perspective on Agile Architecture · 2016. 3. 18. · Agile Anarchy • Experienced agile devswith anarchist/libertarian tendencies: • Freed from the tyranny of micro-management,

Agilearchitecture

• IsabouttheStrategicManagementofConstraints• Principleof“OptimalInterference”• Enoughconstraintstomaximise emergentdesign• Fewenoughconstraintsnottogetinthewayofserendipity• Specifyingwhatbadlookslike,butlettinggoodemerge??

• TechnicalStrategymatters,providingitis:• Adaptive• Recognised asspeculative• Designedtohandlefailuresafely• Probabilistic– aimedatbeingmoreright,moreofthetime• Modularandreconfigurable:notoverlycoupledtocurrentoperatingmodel

Page 11: A Darwinian Perspective on Agile Architecture · 2016. 3. 18. · Agile Anarchy • Experienced agile devswith anarchist/libertarian tendencies: • Freed from the tyranny of micro-management,

Questions? Open Space

Whatissuescurrentlyimpactyourdailylifeasanagilearchitect?

• Wemayhaveaready-madeanswerforyou!• Wemayneedtothinkaboutit(andblogpostafollow-up)• TheremaybenothingusefulwecanaddfromDarwinianperspective• Wemayenduptalkingaboutsomethingelseentirely!

Page 12: A Darwinian Perspective on Agile Architecture · 2016. 3. 18. · Agile Anarchy • Experienced agile devswith anarchist/libertarian tendencies: • Freed from the tyranny of micro-management,

Thank You

[email protected]