Bedriva mjukvaruutveckling är som att bygga altan – eller?
För lite drygt ett år sedan köpte jag och min festmö Ann-Christine en nyproducerad villa i Upplands-Väsby. Perfekt tänkte vi; huset är top-notch, det är bara tomten som behöver fixas. Den lilla detaljen är att bara inte alltid är så bara.
Första sommaren jobbade vi hårt med stenläggning, mur och gräsmatta på framsidan av huset. Denna säsong är det baksidan som gäller. Altan skall byggas och gräsmatta skall rullas ut. En altan bygger man väl på en helg? Kanske om man är professionell snickare eller har gjort det flera gånger förut. Jag är inte snickare och har inte heller byggt en altan tidigare.
Många gånger när jag har stannat upp i arbetet för att planera nästa steg så har tanken fört mig till likheterna mellan att anlägga tomt och att bygga mjukvara.
Både i det stora hela och i detta specifika fall med altanen så har vi börjat bygga de saker som ger oss mest nytta först. User Storyn som var högst upp på listan för altanen var att kunna sitta ute under markisen och äta ett mål mat. Detta ledde till att vi först såg till att lägga klart golvet på altanen på den del där vi hade för avsikt att ställa bord och stolar. Sagt och gjort vi fick glädje av vårt trädäck redan innan det var helt färdigt.
De absolut tydligaste likheterna mellan altanbygge och mjukvaruutveckling är nog behovet och nyttan av rätt verktyg och rätt personer för att utföra arbetet.
Jag hade med stor sannolikhet fixat att få ihop något som liknade en altan genom att prata med personalen på brädgården och läsa hur andra gjort på nätet. Men jag är helt övertygad om att resultatet inte hade blivit ens hälften så bra om jag inte hade haft tillgång till de verktyg jag hade och kära släktingar som vet hur dessa verktyg skall användas i samband med byggandet av en altan. Ett pucko med ett verktyg är fortfarande ett pucko...
Geringssågens alla finesser skulle kunna jämföras med WCF:s förmågor, medans Fogsvansen representerar ASP.NET Web Services (asmx). Båda sågarna kan kapa brädor. Med både ASP.NET Web Services och WCF kan du implementera webbtjänster för att skicka XML meddelanden över HTTP. Men Geringssågen öppnar nya möjligheter så som fina snitt, både raka och sneda, och fler användningsområden genom byte av sågklinga (läs WCF Bindings).
På bilderna: Cirkelsåg med linjal (vänster) är perfekt för vinklar som Geringssågen (mitten) inte fixar. Essve Cutters (höger) är en helt oslagbar träskruv.
Överst i Backloggen inför nästa Sprint ligger "vindskydd". Product Ownern (läs Ann-Christine) lade dock nu i veckan till en Story vid namn "sitta under segel som solskydd" som kanske blir upprioriterad. Det återstå att se.
Nu är det dags för lite sommarvila från allt som har med mjukvaruutveckling att göra för att sedan återkomma i augusti med laddade batterier och motivationen på topp. Jag kommer naturligtvis lyssna på MSDN och TechNet Sommarpratare under min ledighet.
Efter semestern kommer jag fortsätta att hjälpa våra kunder använda våra verktyg på bästa sätt.
Har du vägarna förbi Upplands-Väsby i sommar? Tweet:a mig så tänder jag grillen!
Ha en skön sommar.