För en vecka sedan presenterade Microsoft några nya grejer för cirka tjugo tusen förväntansfulla IT-nördar på konferens - jag var en av dem - och jag släpper de agila idéerna en stund för att prata om moln, windows utan väggar och touch-skärmar istället.
Windows Azure, eller "The Cloud - ett operativsystem för webben"
Vad är det och vad ska man ha det till?
Microsofts ambition är att det ska vara ett operativsystem för webben - i princip är Azure ett antal sammanlänkande servrar placerade över hela världen, med tjänster för utvecklare att använda. Man ska alltså inte behöva ha egna databaser, webbservrar eller backup-lösningar längre, all information man lagrar ska finnas i molnet. Som företag och utvecklare av mjukvara kan man fokusera på lösningen som ska ge affärsvärde och inte behöva lägga ner tid på hårdvara, skalbarhet och komplicerade driftsättningar. Det är alltså både ett slags webbhotell och en plats där all information lagras.
Hur använder man "molnet"?
Man arbetar i sin miljö som vanligt med utveckling av mjukvara, all kommunikation med molnet sker med ett fåtal rader kod. Som utvecklare tänker man inte längre i termer av rader i databastabeller, utan snarare i formen av sin domänmodell med objekt och egenskaper som speglar företagets affärsverksamhet. Man kanske kan säga att man klipper bort biten längst ner i den klassiska uppdelningen användargränssnitt, affärslogik och datalager. Det är användargränssnittet och affärsreglerna man arbetar med och data finns någonstans i molnet - osynligt, men enkelt att slänga in saker och enkelt att hämta ut saker. För att publicera räcker det med att kompilera sitt program och skicka iväg det till molnet. Det ska ta minuter - inte månader - att driftsätta sin mjukvara.
Jag tycker att "The Cloud" påminner ganska mycket om idéerna från förr, då man trodde att det i framtiden skulle räcka med fem datorer i hela världen för att hantera all information. När Ray Ozzie presenterade Windows Azure kändes det spännande och futuristiskt, på ett gammaldags sätt!
Sunday, November 2, 2008
Wednesday, October 15, 2008
Starta ett gerilla-team!
Vad betyder det att vara långt ner i en företagshierarki, när man vill genomföra förbättringar i sitt arbetssätt och i sina processer? Jag brukar ofta höra kommentarer i stil med "Vi vill jobba så här, men beslutsvägarna är så långa...". En sådan här situation brukar innebära passiva medarbetare och en ganska stelbent organisation.
I det traditionella organisationsschemat har vi ju en VD högst upp, följt av olika chefsroller. Längst ner hittar vi team och individer, som producerar produkter som företaget säljer eller utför de tjänster som erbjuds. Det är något som inte riktigt är okej med den där bilden.
Det traditionella organisationsschemat borde ju egentligen vändas upp-och-ner! Jag tycker att en chefsroll egentligen innebär att vara stödorganisation, till de individer och team som tar initiativ och hittar lösningar till gamla och nya problem. Som också ställer krav på sin stödorganisation – hur ska de annars kunna leverera rätt grejer? De som har idéer och provar nya sätt att öka produktiviteten, kommer hela tiden att försöka bli bättre. Jag tror att det blir en naturlig del av arbetet och man känner också personligt ansvar för de initiativ man tagit. Det blir ju inte riktigt samma sak när det kommer direktiv från ovan.
Varför vänta på att någon annan högre upp i organisationen ska ta beslut och hitta på nya idéer, när man på plats redan nu vet vad som kan förbättras? Starta ett gerilla-team och prova olika lösningar! Det kan vara startskottet till att få hela företaget att bli mer lättrörligt och så blir det säkert roligare att gå till jobbet. Det ska ju vara kul att jobba!
I det traditionella organisationsschemat har vi ju en VD högst upp, följt av olika chefsroller. Längst ner hittar vi team och individer, som producerar produkter som företaget säljer eller utför de tjänster som erbjuds. Det är något som inte riktigt är okej med den där bilden.
Det traditionella organisationsschemat borde ju egentligen vändas upp-och-ner! Jag tycker att en chefsroll egentligen innebär att vara stödorganisation, till de individer och team som tar initiativ och hittar lösningar till gamla och nya problem. Som också ställer krav på sin stödorganisation – hur ska de annars kunna leverera rätt grejer? De som har idéer och provar nya sätt att öka produktiviteten, kommer hela tiden att försöka bli bättre. Jag tror att det blir en naturlig del av arbetet och man känner också personligt ansvar för de initiativ man tagit. Det blir ju inte riktigt samma sak när det kommer direktiv från ovan.
Varför vänta på att någon annan högre upp i organisationen ska ta beslut och hitta på nya idéer, när man på plats redan nu vet vad som kan förbättras? Starta ett gerilla-team och prova olika lösningar! Det kan vara startskottet till att få hela företaget att bli mer lättrörligt och så blir det säkert roligare att gå till jobbet. Det ska ju vara kul att jobba!
Wednesday, September 17, 2008
Äggklockan - kontorsjobbarens bäste vän
Hur kommer det sig att det som plingar till i e-postlådan ofta får högre prioritet än det man för tillfället arbetar med? Man släpper ofta omedelbart allt för att istället läsa e-posten. Hur påverkar det produktiviteten egentligen? I en artikelserie i DN kan man läsa om hur mycket tid som faktiskt försvinner och hur mycket avbrott i arbetet kostar i form av tid.
Ska man inte svara när det ringer och strunta i mejl helt och hållet på jobbet? Det är nog ingen bra idé, det kan ju faktiskt vara så att meddelandet har med jobbet att göra... Ska man kolla inboxen och sitt mobilsvar två gånger om dagen på fasta tider? Det håller nog inte riktigt heller, tycker jag.
Jag har provat en grej som jag tycker funkar bra och till hjälp kan man använda sig av en äggklocka! (kommentar: mobiltelefonens timer-funktion går också bra)
När arbetsdagen börjar, skriver jag ned det jag planerar att arbeta med under dagen. En uppgift per rad. Jag tidsuppskattar varje uppgift i formen av tjugofemminuterspass. Tar uppgiften ett pass eller tre att bli klar med?
I princip handlar det om att dela upp sin dag i små bitar. Jag brukar ha som mål att genomföra tre pass före lunch och cirka fem pass på eftermiddagen. Det blir totalt knappt fyra timmar (med korta pauser mellan) och då har man hela fyra timmar kvar till exempelvis möten.
Nu är det bara att vrida upp äggklockan och sätta igång!
När man väl startat ett pass finns det några viktiga regler: då det till exempel plingar till i e-postlådan har man två val - att avbryta passet för att läsa mejlet, eller vänta till passet är avklarat. Mellan varje pass tar man nämligen korta pauser (cirka fem minuter) för att hämta kaffe, läsa e-post, ringa, snacka med sina jobbarkompisar och så vidare.
Under ett pass tar jag alltså aktivt ställning till om avbrottet i arbetet är så viktigt att det inte kan vänta några minuter, eller om jag kan ta det då passet är avklarat. Avbryter jag ett pass markerar jag det, genom att sätta ett "x" bredvid uppgiften på pappret. Då arbetsdagen är slut ser man hur ofta man faktiskt blir avbruten. Man kan fundera på om det går att prioritera sina dagar på ett bättre sätt.
Om en kollega kommer förbi och vill prata lite då? Med äggklockans hjälp blir man ganska bra på att förhandla: "kan jag komma förbi om tio minuter, jag är mitt uppe i ett pass?".
Prova med frasen:
"Jag är mitt uppe i en Pomodoro, kan vi snacka om tio minuter?".
Det här sättet att arbeta kallas nämligen för The Pomodoro Technique. Det var en italienare som började med det här och till sin hjälp hade han en äggklocka som såg ut som en tomat.
Det här inlägget tog två pass att skriva. Ett avbrott mitt i ett pass gjorde att jag fick vrida tillbaka klockan och starta ett nytt.
Ska man inte svara när det ringer och strunta i mejl helt och hållet på jobbet? Det är nog ingen bra idé, det kan ju faktiskt vara så att meddelandet har med jobbet att göra... Ska man kolla inboxen och sitt mobilsvar två gånger om dagen på fasta tider? Det håller nog inte riktigt heller, tycker jag.
Jag har provat en grej som jag tycker funkar bra och till hjälp kan man använda sig av en äggklocka! (kommentar: mobiltelefonens timer-funktion går också bra)
När arbetsdagen börjar, skriver jag ned det jag planerar att arbeta med under dagen. En uppgift per rad. Jag tidsuppskattar varje uppgift i formen av tjugofemminuterspass. Tar uppgiften ett pass eller tre att bli klar med?
I princip handlar det om att dela upp sin dag i små bitar. Jag brukar ha som mål att genomföra tre pass före lunch och cirka fem pass på eftermiddagen. Det blir totalt knappt fyra timmar (med korta pauser mellan) och då har man hela fyra timmar kvar till exempelvis möten.
Nu är det bara att vrida upp äggklockan och sätta igång!
När man väl startat ett pass finns det några viktiga regler: då det till exempel plingar till i e-postlådan har man två val - att avbryta passet för att läsa mejlet, eller vänta till passet är avklarat. Mellan varje pass tar man nämligen korta pauser (cirka fem minuter) för att hämta kaffe, läsa e-post, ringa, snacka med sina jobbarkompisar och så vidare.
Under ett pass tar jag alltså aktivt ställning till om avbrottet i arbetet är så viktigt att det inte kan vänta några minuter, eller om jag kan ta det då passet är avklarat. Avbryter jag ett pass markerar jag det, genom att sätta ett "x" bredvid uppgiften på pappret. Då arbetsdagen är slut ser man hur ofta man faktiskt blir avbruten. Man kan fundera på om det går att prioritera sina dagar på ett bättre sätt.
Om en kollega kommer förbi och vill prata lite då? Med äggklockans hjälp blir man ganska bra på att förhandla: "kan jag komma förbi om tio minuter, jag är mitt uppe i ett pass?".
Prova med frasen:
"Jag är mitt uppe i en Pomodoro, kan vi snacka om tio minuter?".
Det här sättet att arbeta kallas nämligen för The Pomodoro Technique. Det var en italienare som började med det här och till sin hjälp hade han en äggklocka som såg ut som en tomat.
Det här inlägget tog två pass att skriva. Ett avbrott mitt i ett pass gjorde att jag fick vrida tillbaka klockan och starta ett nytt.
Thursday, August 28, 2008
Vi vill spela poker på jobbet!
Hur svårt kan det egentligen vara att gissa hur lång tid en arbetsuppgift tar att bli klar med? Vi som jobbar i IT-projekt brukar ju misslyckas med det här. Det har till och med gått så långt att våra misslyckanden av många betraktas som ett skämt!
Men det är ju en gissningslek och jag tror inte att det går att veta i förväg hur många timmar man behöver för en helt ny uppgift. Min erfarenhet är också att de som ska göra jobbet är bäst på att gissa och att fler personer gissar bättre än en person. Och det är här kortleken kommer in.
För att spela poker behövs en kortlek, som har en uppsättning av sifforna 1, 2, 3, 5, 8, 13 och 21 till varje person. Det går bra att riva papperslappar att skriva siffrorna på för att snabbt komma igång.
Innan man alls funderar på antalet timmar, pratar man lite om uppgifterna och försöker hitta den som verkar enklast. Den uppgiften får värdet en (1) poäng.
Nu är det dags att spela kort! Ta fram nästa uppgift och fundera en kort stund på hur mycket svårare den uppgiften är, i förhållande till den som var enklast. När alla med pokerfejs funderat klart: "Ett, två, tre!" och alla slänger samtidigt sina valda kort på bordet.
Man upptäcker snabbt att det ofta kastas kort med olika poäng och det är precis det som är poängen. Vi ser problem från olika håll och har kanske till och med tolkat arbetsuppgiften olika! Då korten skiljer sig, pratar man lite mer och berättar hur man tänkt. Sedan är det dags att spela igen - med samma uppgift. Så här håller man på till alla är överens.
När alla uppgifter är klara är det dags att prata om hur många timmar en poäng egentligen är. Är en poäng fyra timmar? Eller en dag? När korthajarna kommit överens har projektet nu en lista med uppgifter som tidsuppskattats. Troligtvis är den här typen av gissning bättre än då en ensam människa vid sitt skrivbord gör sina uppskattningar.
Den här metoden kallas planeringspoker och används ofta vid planeringsmöten i projekt som drivs med Scrum. Tro det eller ej, men det är också väldigt kul att tidsuppskatta med hjälp av poker.
Det ska vara kul att jobba!
Men det är ju en gissningslek och jag tror inte att det går att veta i förväg hur många timmar man behöver för en helt ny uppgift. Min erfarenhet är också att de som ska göra jobbet är bäst på att gissa och att fler personer gissar bättre än en person. Och det är här kortleken kommer in.
För att spela poker behövs en kortlek, som har en uppsättning av sifforna 1, 2, 3, 5, 8, 13 och 21 till varje person. Det går bra att riva papperslappar att skriva siffrorna på för att snabbt komma igång.
Innan man alls funderar på antalet timmar, pratar man lite om uppgifterna och försöker hitta den som verkar enklast. Den uppgiften får värdet en (1) poäng.
Nu är det dags att spela kort! Ta fram nästa uppgift och fundera en kort stund på hur mycket svårare den uppgiften är, i förhållande till den som var enklast. När alla med pokerfejs funderat klart: "Ett, två, tre!" och alla slänger samtidigt sina valda kort på bordet.
Man upptäcker snabbt att det ofta kastas kort med olika poäng och det är precis det som är poängen. Vi ser problem från olika håll och har kanske till och med tolkat arbetsuppgiften olika! Då korten skiljer sig, pratar man lite mer och berättar hur man tänkt. Sedan är det dags att spela igen - med samma uppgift. Så här håller man på till alla är överens.
När alla uppgifter är klara är det dags att prata om hur många timmar en poäng egentligen är. Är en poäng fyra timmar? Eller en dag? När korthajarna kommit överens har projektet nu en lista med uppgifter som tidsuppskattats. Troligtvis är den här typen av gissning bättre än då en ensam människa vid sitt skrivbord gör sina uppskattningar.
Den här metoden kallas planeringspoker och används ofta vid planeringsmöten i projekt som drivs med Scrum. Tro det eller ej, men det är också väldigt kul att tidsuppskatta med hjälp av poker.
Det ska vara kul att jobba!
Thursday, August 21, 2008
Från Fragile till Agile
Visst är IT-leveranser alltför ofta som ömtåliga paket och kanske till och med som skadat gods ibland? Kvalitet har länge varit en svår grej i vår bransch, men många av oss arbetar för att hela tiden bli bättre på det vi sysslar med.
Sedan en tid tillbaka arbetar vi i vårat lag så här:
Levererar ofta
Vi delar upp projekt i etapper om tre veckor, där varje etapp har en leverans. Det är faktiskt lättare att hantera, än att ha en enda jätte-leverans i slutet av ett projekt.
Testar ofta
Vi har skrotat den traditionella testfasen, som brukar vara i slutet av ett projekt. Då är det ju redan försent, eller hur? I varje etapp är istället test en naturlig del av utvecklingen.
Kompetens istället för fasta roller
För oss är det inte ett dugg kontroversiellt att inte ha någon i laget som vi kallar "projektledare". Projektledning sysslar vi däremot med i allra högsta grad, hela laget och varje dag.
Och vad får vi ut av det här då?
Personligen tycker jag att det är riktigt roligt att arbeta så här! Jag går till jobbet med ett leende. Glada projektmedlemmar är produktiva, det tror jag på.
Vi levererar bättre produkter med färre buggar. Tvärfunktionella lag hittar problem och löser dem snabbare, det är vår erfarenhet.
Vi har valt Scrum som arbetssätt och efter några projekt känns det som rätt vägval. I systemutvecklingsprojekt är också testdriven utveckling något som behövs; när man levererar var tredje vecka behövs automatisering. Läs gärna mer i tidigare inlägg.
Hur gör ni i er organisation för att leverera produkter med kvalitet, har du några tips?
Sedan en tid tillbaka arbetar vi i vårat lag så här:
Levererar ofta
Vi delar upp projekt i etapper om tre veckor, där varje etapp har en leverans. Det är faktiskt lättare att hantera, än att ha en enda jätte-leverans i slutet av ett projekt.
Testar ofta
Vi har skrotat den traditionella testfasen, som brukar vara i slutet av ett projekt. Då är det ju redan försent, eller hur? I varje etapp är istället test en naturlig del av utvecklingen.
Kompetens istället för fasta roller
För oss är det inte ett dugg kontroversiellt att inte ha någon i laget som vi kallar "projektledare". Projektledning sysslar vi däremot med i allra högsta grad, hela laget och varje dag.
Och vad får vi ut av det här då?
Personligen tycker jag att det är riktigt roligt att arbeta så här! Jag går till jobbet med ett leende. Glada projektmedlemmar är produktiva, det tror jag på.
Vi levererar bättre produkter med färre buggar. Tvärfunktionella lag hittar problem och löser dem snabbare, det är vår erfarenhet.
Vi har valt Scrum som arbetssätt och efter några projekt känns det som rätt vägval. I systemutvecklingsprojekt är också testdriven utveckling något som behövs; när man levererar var tredje vecka behövs automatisering. Läs gärna mer i tidigare inlägg.
Hur gör ni i er organisation för att leverera produkter med kvalitet, har du några tips?
Subscribe to:
Posts (Atom)