JulianEverett,March15th [email protected]
A Darwinian Perspective on Agile Architecture
• AgileseemedtosolvetheHOW,butnottheWHATorWHEN• Howdoweavoidbuildingthewrongthingintherightway?• “On-time,on-budget”clearlyneithernecessarynorsufficient• Howdowebetterevaluateprojectsuccess?
• Workingsomewhereinthegapbetween:• Adaptivesoftwaredeliverytechniques• Organisational level:evolutionarymicro-economics;complexitytheory
SomeBackground
FeatureConceptanditsExtendedPhenotype
FitnessLandscapes
Whatarepracticalbenefitsofthismodel?
Somepainpointsandissues:• CommandandControl:toomanyconstraints• AgileAnarchy:toofewconstraints• ZombieProjects:thenatureoffailure• AgileArchitecture:shouldn’twebedoingmorethan“goodenough”?
CommandandControl
• Darwinismisvhelpfulnarrativetoexplainthelimitsofcontrol• Someconstraintswecancontrol:• Codingpractices:XP;communicationandcollaboration:BDD
• Someconstraintswecan’tcontrol:• Competitoractivity;non-deterministicmarketbehaviour
• Constraintsimpactphenotypewhichimpactsenvironment• e.g.testcoveragetargets
• Constraintsconstrainserendipityaswellaschaos• Orgel’s 2nd rule:evolutioniscleverthanyou
AgileAnarchy
• Experiencedagiledevs withanarchist/libertariantendencies:• Freedfromthetyrannyofmicro-management,andain’t nevergoingback• Start-upsdon’tneedarchitectssowhydowe?
• Contrarytopopularbelief,Darwinismisnotradicallyreductionist• Evolutionneedsconstraintsaswellasflexibility.Why?• Toenableself-organisation andprevententropy+descentbackintochaos• Toensureimprovementsareresilientandembedded
• Product-centriclocaloptimisation problems
ZombieProjects
• SelfishMeme:itisthebusinesscasewhichmatters,nottheITproject• Lackofprojectfailuresisariskmanagement“smell”• Indicatesnoinnovationi.e.riskaversionratherthanmanagement
• Someprojectsshould fail,ascontroloveroutcomesislimited• Defensiveprogrammanagement:• Removessourcesofpreventablefailure• Minimises impactsofunpreventablefailure– viaescalationboundaries
Goodenougharchitecture
• Is“GoodEnough”theon-time,on-budgetofagilearchitecture?• Needmetricsthatdescribethefitnesslandscapeinbusinessterms• Easytospotbadarchitectureretrospectively:• Coststoomuchduetoover-engineering• Impactsfuturerevenuestreamsduetocost/delayofchange
• Architectureisspeculative• Itisaboutprobabilityratherthanpredictability• Mostrelevantduringmarketequilibriumstates• Designforserendipityduringmarketdisruptions• Spreadrisksocostoffailureisreduced->safetofail->playprobabilities
Agilearchitecture
• IsabouttheStrategicManagementofConstraints• Principleof“OptimalInterference”• Enoughconstraintstomaximise emergentdesign• Fewenoughconstraintsnottogetinthewayofserendipity• Specifyingwhatbadlookslike,butlettinggoodemerge??
• TechnicalStrategymatters,providingitis:• Adaptive• Recognised asspeculative• Designedtohandlefailuresafely• Probabilistic– aimedatbeingmoreright,moreofthetime• Modularandreconfigurable:notoverlycoupledtocurrentoperatingmodel
Questions? Open Space
Whatissuescurrentlyimpactyourdailylifeasanagilearchitect?
• Wemayhaveaready-madeanswerforyou!• Wemayneedtothinkaboutit(andblogpostafollow-up)• TheremaybenothingusefulwecanaddfromDarwinianperspective• Wemayenduptalkingaboutsomethingelseentirely!
Thank You