Från pyramider till Scrum, del 1

Första delen där vi tar oss från pyramiderna till att konstatera att ”all problems are people problems”

En av världens sju underverk är pyramiden i Giza, eller Cheopspyramiden som den även kallas. Ett fantastiskt byggnadsverk som efter 20 intensiva år av 12 stenblock varje timma året runt, stod klar 2560 för vår tideräknings början. Tiotusentals yrkesmän (inte slavar!) arbetade tillsammans för att skapa en 147 meter hög perfekt ihopsatt byggnad med 1,2 miljoner stenblock. Mellanrummet mellan stenblocken var ungefär 5 mm och basen mätte 230,4 meter, med en felmarginal på endast 58 mm.
Vad krävdes för lyckas med detta bygge? Vilka krav hade beställarna och hur ”dokumenterade” man byggandet?

Vi tror att ”förståelsen av projektet” var ganska enkel och tydlig.  Komplexiteten låg troligtvis inte i själva maskinerna, verktygen eller algoritmerna1, utan i att leda och styra rätt kunskap till rätt plats och att koordinera alla olika yrkesmän och få hela projektet att dra (och putta och lyfta!) åt samma håll.

De flesta byggprojekt är ”skalbara” i den meningen att man kan bygga en mindre byggnad först och när man sen ska bygga en större behöver man bara tillsätta fler arbetare och mer byggnadsmaterial.

Det fanns inget behov eller drivkraft för att bygga en pyramid på endast en månad. Det fick ta den tid det tog och man ”anställde” så mycket folk som behövdes. Genom att tillsätta fler människor kunde man enkelt utföra och ersätta det som en ”maskin” skulle kunnat tillföra. Vad är behovet av att införa ångmaskinsdrivna dörröppnare under antiken, när det fanns ett överflöd av människor som kunde göra samma jobb?

Om vi nu gör ett STORT hopp i tiden fram till 1935, så kan man påstå att processerna i princip fungerade på liknande sätt och man löste problem huvudsakligen genom ”manuellt arbete” även om algoritmerna nu var betydligt mer komplexa och avancerade. Definitionen av ”computer” i ett engelskt lexikon från 1935 talar om”en människa som beräknar saker”. Tio år senare, 1945, pekade definitionen för samma ord på att en computer är ”en maskin som utför beräkningar”. Hur kommer det sig att definitionen ändrades?

Man kan lätt påstå att människan reagerar och skapar spännande produkter och innovationer när vi är TVUNGNA till det. Situationen före och under andra världskriget innebar en avgörande skillnad mot tidigare; man var nu tvungen att utföra beräkningar mycket snabbare än tidigare. Så snabbt att det inte gick att lösa enbart genom att plocka in fler ”räkne-personer”. Man var helt enkelt tvingad att bygga en maskin som klarade tusentals additioner per sekund för att komma i närheten av acceptabla svarstider för de komplicerade problem man skulle lösa. Exempelvis tog det ungefär fyra år (!) att göra alla tester och beräkningar för att skapa ett ”kanonschema” som gjorde det möjligt för soldaten utan lång erfarenhet att ställa in en kanon så att projektilen nådde fram och träffade det tänkta målet. Helt oacceptabelt lång tid!
Ett annat exempel är nödvändigheten att knäcka tyskarnas meddelandekyptering, som gjordes med ENIGMA-maskinen. Alan Turing hittade ett sätt att knäcka koden genom en smart algoritm, men det tog alldeles för lång tid att utföra själva beräkningarna.

“The Bombe” (Colossus) var en elektromekanisk kryptanalytisk maskin med 1022 tillstånd (states). Första exemplaret var färdigt den 18:e mars 1940.

Drivkraften för snabbare beräkningar inföll turligt nog under samma era som introduktionen av elektriciteten. Möjligheten att bygga en elektrisk maskin med snabba binära tillståndsändringar, innebar att man kunde realisera en kodknäckarmaskin med 1022 tillstånd. Den stod klar 18:e mars 1940 och kallades för Colossus eller ”the Bombe”. När man hade fått den första maskinen att fungera, byggde man ytterligare 200 (!), vilka tillsammans var en helt avgörande faktor för krigsutgången, när man med maskinernas hjälp lyckades knäcka koderna och dechiffrera alla viktiga meddelanden inom rimlig tid.

Den troligtvis skarpaste hjärnan av dem alla var John von Neumann. Han visade på en datorarkitektur som gjorde det möjligt att lagra ett ”program”, som beskrev hur maskinen skulle utföra beräkningar, på samma ställe som delresultaten och själva slutresultatet. Han skrev en avhandling kring sina idéer 1945, idéer som kom att totalt förändra alla maskiners egenskaper från grunden - ”von Neumann-arkitekturen”. Von Neuman var även delaktig i framtagandet av ENIAC (Electronic Numerical Integrator And Computer) som räknas som den första riktiga datorn, även om den delvis hade en annan arkitektur och krävde att man kopplade om över 6000 kablar för varje ny typ av beräkning.

John von Neumann är troligtvis en av de skarpaste hjärnorna under det senaste seklet. Ett matematiskt snille med förmåga att flyga högt ovanför alla ”lådor”. Skarpaste kniven i lådan.

Von Neuman löste det tidigare återkommande problemet kring lagringen av själva informationen.  Från urminnes tider har vi haft behov av att ”dokumentera” resultat för fortsatta beräkningar och för att ha kontroll. Kontroll över hur mycket skatt som skulle betalas, hur mycket öl och mat som betalats ut till arbetare, hur många människor som skulle beskattas, etc. Ishango-benen är en tidig representation av hur man kunde ”lagra kunskap” och göra den mer persistent. Men de nya algoritmerna krävde lagring av enorma mängder delresultat och slutresultat. Utan tillkomsten av maskiner som drog nytta av elektricitet, så skulle utvecklingen aldrig kunnat ske. Det räckte inte med korrekta algoritmer, det var tvunget att kunna beräknas med tusentals operationer per sekund för att ge resultat inom rimlig tid för att kunna ge verklig nytta i den givna situationen.

Ishango-benen är en av världens första representationer av information, en typ av ”informationsgrafik” för att kunna lagra information och göra bättre beräkningar, förstå situationer och ta bättre beslut

Problemen kring att lösa de tekniska problemen kring själva maskinen gjorde att man helt uppslukades av att fokusera på själva verktyget, att göra maskinerna snabbare och mer kraftfulla. Problemet var således själva maskinen, och man fokuserade inte längre på att ”hantera människor” i stora projekt.

Det vi ser idag med stöd i alla tänkbara undersökningar, är att själva problemet för utveckling av system, inte längre ligger hos förmågan hos själva maskinen eller hur snabba algoritmerna utförs, utan är tillbaka till att vara ett ”mänskligt problem” och ett problem med ”människor som använder maskiner”

Nästa kapitel  i denna bloggartikel pratar om riskerna kring Scrum med avseende på fokus och en förenklad probleminsikt och infografiska förenklingar.

Referenser

  1. De algoritmer som existerade för skapa räta vinklar var bland annat ett rep med tre knutar med avstånden 3,4 och 5, enligt principen om Pythagoras sats
  2. Namedropping” för de som gillar att googla en stund:
    Babbage & Ada Lovelace, J. Presper Eckert & John William Mauchly (ENIAC), Konrad Zusa (introducera det binära tänket), Herman Goldstein (försökte lösa problemen med snabbare beräkningar för projektilbanor), Freddy Williams (programmerbar maskin), Alan Turing (Turing maskinen, Turing-testet, maskininlärning) etc.
Om författaren

Stefan Eekenulv är en passionerad seniorkonsult inom kravhantering och förbättringsarbete, kreativ och visuell, alltid med fokus på att se saker med nya ögon och att få det att funka i verkligheten.