När man jobbar med digitalisering i projektform så är ett bra fungerande arbetssätt en av nycklarna till att komma framåt. Dåliga arbetsmetoder gör att det tar längre tid, kostar mer och de man byggt har inte de funktionerna man vill ha.
På Spinit kallar vi våra projektledare för kaptener och så har det varit under många år. Kaptenen tar ansvar för att samordna alla funktioner i det vi bygger och leder teamet av utvecklare. Varje nytt uppdrag är unikt och vi jobbar i olika steg för att skapa förståelse och sedan utveckla det som kunden vill att vi ska göra.
Jag pratade med Sebastian Appler Olsson, en av kaptenerna på Spinit, om hur han ser på sitt jobb.
– Jag jobbar alltid dynamiskt och använder mig av de arbetstekniker som passar in för det specifika uppdraget.
– Det första jag gör att identifiera vad en kund har och inte har tillgång till när dom kommer till oss. Har de någon som kan generera designskisser då tar de ansvar för det. Eller har de någon som är bra på att skriva tydlig dokumentation om hur systemet ska fungera. Likaså vet de vilken data som ska skickas var, och vilka rättigheter olika användare ska ha då är ju vissa delar av jobbet redan gjort.
– Om specifikationen är klar från början så behöver vi inte lägga ner energi på det, och vi fyller upp de delarna som kunden inte har. Ofta har en kund inte allt i sina team de behöver för att bygga det de vill. Då går vi in och kompletterar med våra kunskaper.
– Jag tycket inte det är kul att följa ett färdigt arbetssätt bara för att det står så i projekthandledarhandboken. Det kan bli jättetråkigt och så vill man ju inte ha det. En av anledningen till att jag tycker så är för det tillför onödigt gnissel mellan projektledaren och teamet. Inför man många ritualer och arbetssätt som projektledare kan det orsaka tidskrävande krångel som teamet kanske inte är i behov av.
– Jag sätter mig alltid in i specifikationen och tittar på vilka teknikval som ska göras. Här så pratar jag ofta med någon som har gjort något liknande, bollar några idéer och så kommer man fram till ett förslag. I detta steget så undersöker vi vad som krävs för att kunna bygga systemet, det görs innan vi börjar att planera mer i detalj. Ofta har kunden en idé om vad som ska göras i början, och vi hjälper dem att skapa konkreta förslag av deras idéer. En kund har ofta en idé som vi sedan bygger vidare på och sedan har vi täta avstämningar för att se att vi ligger i fas med kundens önskemål. Alla projekt ändras från grundidén. För helt nya större projekt så föreslår jag att vi börjar med en förstudie för att reda ut allt som behövs för bygga plattformen.
– Då stoppar man dem. Det gäller att identifiera vad som verkligen krävs för att få lösningen att fungera. Man får se till att man inte bränner för mycket tid på saker som inte är nödvändiga för projektet. Ibland är våra kunder bra på att prioritera vad som behövs, ibland är de inte det. Det gäller att kategorisera prioriteringar så att det som är viktigast blir gjort först. Det är väldigt lätt rent intuitivt att bara göra det som kunden säger, och det går bra tills lanseringen och man får ny feedback. Då finns det lite tid kvar och allt blir dyrare än beräknat.
– Ofta så verkar sådana projekt varit väldigt stela från början och ingen vågar testa några nya arbetsmetoder, man har ett bestämt arbetssätt från början.
– Typiskt är att man slutar lyssna på signaler, ifrågasätter inte och lägger ingen energi på att analysera vad som händer. Någon kanske har mycket aggressioner inom sig och dom andra går åt sidan istället för att göra något åt problemet. För att leda IT-projekt på ett bra sätt så måste man våga ifrågasätta problemen redan från början.
– Man måste vilja framåt och våga pröva nya saker. Det låter klyschigt att våga ifrågasätta, men jag tycker att jag ser en gemensam nämnare i stora projekt som går åt pipan – ofta har det funnits problem som alla vet om, men ingen vågar ta tag i.
– Jag har aldrig lett ett projekt som har gått riktigt dåligt, en nyckel till framgång är att säga till när något känns fel i hur vi jobbar ihop med våra partners. Det går inte att jobba efter helt orimliga krav och man måste säga till när något är fel. Oftast så brukar det vara något missförstånd som ligger till grund när man inte kommunicerar bra. Det gäller att sätta sig in i hur våra olika världar fungerar. Jag är för en ‘why-culture’, och ifrågasätter också varför jag själv gör det jag gör.
– Att ha en bra kravspecifikation från start är en bra början. Det finns ingen människa eller team som klarar av att skriva en 20 sidor lång kravspecifikation som gäller under hela projektet, det är mycket som kommer att ändras. Kravspecifikationen är fröet och sen växer den vidare och blir något annat. Ibland så ändrar kunden sina planer och då är det bra att jobba dynamiskt och använda sig av flexibla och dynamiska tekniker och arbetsmetoder.
– Det måste också vara någon i projektet som har ett helikopterperspektiv. Det bästa är när kunder tar den rollen eftersom de oftast känner till hela visionen och bakgrunden. Detta brukar vi i projektledningsvärlden kalla för ’product owner’, eller produktägare på svenska.
– Ja, det ställs höga kvar på de som leder ett projekt, och man måste vara självgående som projektmedlem. Att bara ha ett möte för att man måste är inte bra för gruppen, och det är lätt att några zoomar ut för att mötet inte var nödvändigt just då.
– För att få projektlederiet att kännas mer levande så är det bra att ställa samma avstämningsfrågor på ett informellt sätt. I vissa fall så faller det sig naturligt att ha en förutbestämt stand-up möte, i andra fall så är ett informellt möte lika bra. Det finns tre frågor att ställa. Vad har du gjort? Vad ska du göra idag? Har du några problem? Detta gör man för att alla ska ligga på samma våglängd och komma framåt. Det gäller att stanna upp och se till att teamet går åt rätt håll. Det är ju inte meningen att man ska upptäcka att man ligger helt fel till efter att man jobbat tillsammans i 15 veckor.
– Extreme programming, den är bra, kort och pedagogisk.
– Jag använder Jira på att hålla koll på vad som ska göras, lägger in alla user stories1 där och då vet man att man under utvecklingen får med allt som vi bestämt från början. Här planerar jag varje sprint2 och ser till att utvecklingen går som den ska.
– Toggl hjälper mig att hålla koll på tiden och vad jag jobbar med. På det sättet så har vi alltid koll på vad vi har gjort och lagt tid på. Jag tycker även att det är professionellt att vi kan detaljerat påvisa vad vi jobbat med varje minut.
*1 User stories är ett verktyg för att beskriva de uppgifterna som man vill att ett system ska lösa. Har man jobbat igenom alla user stories väl så får man också in allt som behövs i systemet.
*2 En sprint är en arbetscykel och en del av ett större projekt. Till exempel kan man jobba i en eller två veckors sprintar och då fördela de olika arbetsuppgifterna, bestämma när man ska ge feedback, hur man ska testa olika funktioner etc. under de veckorna. Under nästa sprint så arbetar man med nya uppgifter.
– Bland annat NameISP, Willhem, vidareutvecklingen av Göteborgs Hamn och SpeedLedger.
– Var intresserad och ambitiös, och skaffa dig bra grundkunskaper.
Sebastian har också tidigare föreläst om agil utveckling på nForum kallat ”Vi kör ju typ Scrum”.