torsdag, januari 15, 2009

Scrum i Praktiken

Igår kom mitt första inlägg på Projektbloggen upp. Det är en omskrivning av en artikel jag skrev 2007.

---------------------------------------------------
Scrum sägs vara en enkel metod för att hantera komplexa projekt. Det stämmer väldigt bra. Grunderna i Scrum är enkla att beskriva och enkla att förstå. Svårigheten är kanske att veta hur man ska använda den i ett verkligt projekt. Hur använder man Scrum i en organisation som annars kanske jobbar enligt vattenfallsmetoden? Hur anpassar man sig till en organisation som har en fungerande releasehantering enligt t.ex. ITIL?

En del i enkelheten i Scrum är att det bara finns tre olika roller: Scrum master, produktägare och utvecklare.

• Scrum mastern ansvarar för att processen följs och agerar mentor eller coach till teamet och produktägaren.
• Produktägaren är den person som prioriterar kraven efter affärsvärde och styr vad som ska utvecklas i produkten eller systemet.
• Utvecklare är medlemmarna i teamet som ansvarar för att leverera. Det spelar ingen roll om din expertis är inom programmering, arkitektur eller test, i Scrum benämns du ändå som utvecklare.

Sprintar
All utveckling inom Scrum sker inkrementellt i iterationer som kallas för sprintar. Längden på en sprint är individuell men mellan 14 och 30 dagar. I början av projektet kan man experimentera med olika sprintlängder. Det är dock viktigt att sedan bestämma sig och hålla sig till samma sprintlängd. Anledning till att jag tycker att man ska hålla en given sprintlängd är för att man vill ge teamet en känsla över hur långt man ska ha kommit efter en viss tid in i sprinten. Det underlättar också när man estimerar då man enklare kan använda sig av teamets hastighet.

Den första dagen i en sprint spenderar teamet tillsammans med produktägare och Scrum master för att komma fram till vad teamet ska leverera när sprinten är slut. Dagen är uppdelad på två möten, ett där teamet och produktägaren förhandlar om innehållet och ett där teamet tidsuppskattar och bryter ned kraven till uppgifter. Efter dag ett lämnar Scrum över kontrollen till teamet och kräver bara att en gång per dag få status om hur projektet går. Detta sker genom ett dagligt möte som varar max 15 minuter där teamet lämnar status till varandra om hur arbetet fortskrider.

Nu ska teamet börja jobba. Klockan tickar… Bara 29 dagar kvar till en potentiellt levererbar produkt ska vara klar. Vad ska vi göra nu? Hur ska vi kunna leverera den kvalitet som förväntas? Hur ska vi kunna testa den här funktionen som har beroende mot andra externa system som vi inte har tillgång till? Frågorna hopar sig och som sagt… tick tack, tick tack...

Fokus och ostördhet
I det här läget är det många som tar hjälp av eXtreme Programming för att t.ex. få till automatiserade byggen, enhetstester och kontinuerlig integrering. Scrum säger väldigt lite om vad som händer i sprinten, utan betonar att teamet ska lämnas ostört och få möjlighet att fokusera på leveransen. Scrum och XP fungerar väldigt bra tillsammans även om XP i sig är en helt komplett metod. Det som skiljer XP från många andra agila metoder är att den ger väldigt många rekomendationer till vad teamet kan göra under en iternation.

Utbildningar
På marknaden idag finns det en del utbildningar som riktar sig mot Scrum masters men få som riktar sig mot utvecklare i ett Scrum-projekt. Då menar jag inte själva utvecklingen i C#, VB.NET eller Java, utan snarare vad man kan göra för att förbättra kvaliteten och öka produktiviteten i leveranserna. För just produktivitet betonas väldigt tydligt i Scrum.
Ett exemple på en sådan utbildning är Scrum i Praktiken på Addskills. Den kursen riktar in sig mot just teammedlemmar i ett Scrum-projekt. Första dagen handlar om Scrum och om estimering och andra dagen handlar om practises från XP.

Själv gick jag min Scrum Master-utbildning på Citerus i Uppsala med Tobias Fors och Mikael Lundgren och det var en helt fantastisk kurs som jag varmt kan rekomendera.

Någon som har gått eller sett någon annan utbildning i Scrum som inte är någon av de officiella Certified Scrum *-utbildningar?

onsdag, januari 14, 2009

Ny blog!

För några dagar sedan skapade jag en ny blog. Måste också säga att blogger.com är helt lysande!

Den nya bloggen heter Surface Developer. Vad den kommer att handla om känns överflödigt att berätta!

Jag har valt att skriva Surface Developer på engelska av den anledningen att det känns som att det här kan finnas en internationell skara läsare.

Mina första inlägg har handlat om problemen att få Surface SDK´n att fungera på Windows 7 men nu är det klart!

måndag, januari 12, 2009

Dags för Windows 7

I helgen laddade jag ner Windows 7 och installerade på min bärbara dator. Först gav jag mig på en uppgradering men eftersom att det är Windows 7 Ultimate och jag bara har Windows Vista Enterprise så fungerade det inte. Full install var dock väldigt smidig. Bara att mounta imagen och sedan installera direkt från Vista. Hela gamla innehållet på C-disken sparades i en katalog som döptes till Windows.old.

Sedan var det dags för installation av Office Ultimate och då dök det hittills enda problemet upp. Sedan länge har jag haft Daemon Tools som favoritprogram för simulering av cd-drive men den installationen fungerade inte. Datorn hamnade bara i en oändlig omstarts-loop…

Efter en stunds letande hittade jag en rekommendation att använda PowerISO tillsammans med Windows 7 och det visade sig fungera alldeles utmärkt. Än så länge har jag inte sett några begränsningar i den gratisversion som jag laddade ner.

Installationen av Office funkade perfekt. Jobbets version av F-secure, anslutning till domänen på och konfigurering av Outlook fungerade också smidigt.

Beta 1 av Windows 7 finns publikt tillgänglig för nerladdning samt genom ett msdn-abonnemang. Den helt publika länken kommer att finnas tillgänglig tills de kommer upp till 2,5 miljoner nerladdningar och installationen slutar fungera efter den 1 augusti 2009. Men innan dess har ju i alla fall beta 2 kommit så då får man ta resan en gång till.

Hittils så är känslan av Windows 7 bara positiv. Den känns mycket smidigare och snabbare än Vista. Har faktiskt otroligt liten koll på vad som är nytt men det lär visa sig...

torsdag, januari 08, 2009

Tillbaka!

Första dagen tillbaka efter en ganska lång ledighet över julen vilket har varit otroligt skönt. Omställd till att äta frukost kl 11 var det lite tungt att kliva upp tidigt imorse och försöka få upp barnen i tid till dagis och annat. Men det funkade till slut!

Har medvetet varit så frånkopplad som möjligt under ledigheten och fick börja dagen med att skriva upp en lista med allt som måste göras. Enklaste sättet att ta reda på det är att gå igenom senaste månadens mail och lägga. Tyvärr funkar jag så att det som inte finns i ett mail, det finns inte. Så drygt 800 mail senare känner jag mig lite mera uppdaterad. (nej, jag har inte läst alla idag…)

På listan hamnade saker som att planera lite utbildningar, teamkonferens, skriva till blogginlägg, avsluta personer som tyvärr valt att sluta på Connecta och planera för såna som börjar nästa vecka.

Det verkar dock som att andra har jobbat medan jag varit ledig för det har hänt saker sista veckorna!

Windows Azure
I ett av mina många mail fanns inbjudningskoderna till Windows Azure Services så nu ska det bli kul att testa det på riktigt också. Passande nog har min artikel om Windows Azure, som jag skrivit för Addskills, också publicerats. Den finns med i årets kurskatalog. Där finns också min kollega Hans Sterby med som har skrivit en artikel om F#.

Månadens profil på MSDN
I höstas blev jag intervjuad av Johan Lindfors på Microsoft vilket resulterade i att jag blev månadens profil i december. Grymt kul!

TechDays
Den 17 och 18 mars kommer Microsofts konferens TechDays att hållas i Västerås och under julledigheten har siten fått ett uppdaterat innehåll. Nu finns en hel del av sessionerna och talarna med. Från Connecta får ni hålla utkik efter fyra talare på tre sessioner:
• Varför F# och vad är funktionell programmering? – Hans Sterby
• SharePoint Workflows, experiences from the field – Daniel Karlsson (med Mattias Lindberg från Microsoft)
• Runda gränssnitt i en fyrkantig värld - Hur man kan kombinera styrkan i WPF för rika gränssnitt med Office 2007 – Pelle Johansson & Björn Eriksen
Missa inte chansen att delta i vad jag tror kommer att bli en riktigt bra konferens på (nästan) hemmaplan.

Projectplace
Från januari kommer jag att börja skriva inlägg på Projcetplace blogg. Projectplace har funnits sedan 1998 och erbjuder ett webbaserat projektverktyg. Det är den webbplats jag brukar referera till när man säger att Software As A Service är något nytt. Där kommer jag att skriva om allt möjligt som har med agile och Scrum att göra.

Microsoft Surface!
Nu är det äntligen klart. Vi kommer att beställa ett Surface-bord till Connecta! Mycket mer om detta senare!