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

Preview:

Citation preview

JulianEverett,March15th 2016julian.everett@datalanguage.com

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

julian.everett@datalanguage.com

Recommended