När ett system växer så ändras förutsättningarna. Anpassar vi inte arkitektur och design efterhand så får vi ofta en mardröm när det gäller att underhålla ett system men kanske framförallt hämmar det utveckling av nya funktioner. Det brukar i folkmun kallas teknisk skuld.
När jag var i Alicante för några år sedan såg jag ett antal växter som ständigt påminde mig om de system som jag som konsult jobbade med eller hade jobbat med. Här kommer en kavalkad av dessa och om ni känner igen ert system bland dessa får ni gärna maila mig en kommentar.
Vi börjar med ett system som har en gedigen bas. Detta system så hade kravställarna svårt att bestämma sig inledningsvis så utvecklarna hade tid att förbereda sig. Men sedan blev det bråttom och det utvecklades flera spår efter ett tag och vissa ser lite tunna ut och kanske blir det svajigt när det blåser.
Min rekommendation till organisation är att konsolidera till ett fåtal grenar och göra dem mer solida. Såga av de grenar som inte är bärkraftiga och/eller växer horisontellt innan de ställer till med stora problem. Det syns att man redan jobbat med att beskära men mer arbete behövs
Denna är i många stycken motsatsen till föregående även om starten ser bra ut så togs det något beslut på vägen relativt tidigt som gör att de behövt stötta systemet för att det inte skall falla samman.
Min rekommendation i detta fallet är att håll tummarna för att inte någon kräver större ändringar eller anpassningar behövs för en annan arkitektur, typ en flytt till AWS. Speciellt inte om systemet måste utvecklas vidare parallellt för att uppfylla kundernas önskemål.
Nu börjar det likna många av de system jag jobbat med genom åren. En relativt bra bas men succesivt har målat ändrats vilket gör att stammen lutar. Därefter har någon valt att bygga flera olika system på en och samma bas och till slut behövdes ett större arbeta göras för att inte systemet skulle trilla ihop. Det gjordes också en insatts för att 5 varianterna inte skulle få en fortsatt divergering av kodbasen.
Min rekommendation är att lägga till ytterligare två stöttor vinkelrätt från den nuvarande plus att försäkra den nuvarande stöttan så att det bli en ”ny” starkare bas av detta. Det kräver dock en hel del arbete men risken är att hela konstruktionen faller ihop annars.
Hör ser vi ett system som dels utvecklats väldigt snabbt från början men framförallt har de insett att det var på fel väg, det fanns ingen marknad för det systemet, och arbetat sig i sidled/horisontellt. Det är aldrig bra för stabiliteten i ett system med så kraftiga sidledsförflyttningar. Dock har någon insett faran och byggt nya baser efterhand. Det ger en trygghet i att det skulle kunna gå att kapa de tidiga delarna av systemet och ändå få systemet att överleva.
Min rekommendation är att de ska vidareutveckla den nya basen och kanske även överväga att bygga en ny bas längre till höger och därefter sluta försöka att hitta nya affärsmodeller så fort en kund hör av sig. Det tyder på ett företag i stor desperation för att hitta sitt berättigande.
Till sist en bild på ett stabilt bygge som trots väl grund och stabil riktning på utvecklingen så bli det svajigt när det har pågått en längre tid.
Min rekommendation är att de nu måste stabilisera programvaran och byta ut grunderna till senaste, eller i varje fall senare, tekniker. Det är lite som att fortfarande köra Windows 95 för att drifta sin webbsajt på.