Posts Tagged ‘scrum’

h1

Scrum myt #4: Zoomar man in är Scrum bara små, små vattenfall

onsdag, 31 mars, 2010

”Om man zoomar in tillräckligt mycket i Scrum, in i en sprint så är det ju bara små, små vattenfall. Inget nytt under solen.” FEL!

.
.
.

Scrum är inte små, små vattenfall.

Det grundläggande arbetssättet:
1) planera,
2) utföra,
3) kontrollera och
4) agera

dvs. att man tänker och planerar innan man handlar är inte synonymt med vattenfall.  Så gör man i alla situationer, oavsett uppgift.

.

Så, till skillnad från vattenfall så…

  • Levererar Scrum affärsvärde och ROI väldigt tidigt.
  • Scrums korta feedback cykler förändrar dagligen planen och planering.
  • Planering i Scrum fokuserar på att leverera affärsvärde (inte sprida ut arbetsuppgifter och deadlines i en kalender).
  • Scrum processen är själv-justerande och själv-förbättrande genom kontinuerlig utvärdering och granskning (i motsats till att ha en projektutvärdering i slutet).
  • Scrum välkomnar förändringar, till och med sent i processen, och detta är en naturlig del av processen.
  • Springer man in i bekymmer och tidsnöd så anpassar man i Scrum omfattningen (i motsats till att låta arbetsuppgifterna i planen skjutas framåt som ett tåg av dominobrickor).
  • I Scrum räknas inte framgång i antalet implementerade krav per deadline utan i levererat affärsvärde och kundnytta per sprint.
  • Levereras projektet enligt Scrum kan beställaren efter valfri* Sprint säga ”Nu är jag nöjd” (till skillnad från vattenfallsapproachen då allt eller inget levereras).
  • Scrum levererar potentiellt installerbar system/levererbar produkt varje sprint. Dvs. dokumentation, test, förvaltningsöverlämning etc. ska ske kontinuerligt (i stället för att komma som faser i slutet).

* Brasklapp. Det kan såklart dröja några sprintar innan man nått en minimal nivå av funktioner för att produkten ska gå att använda över huvud taget. Och ibland kanske det också krävs en stabiliserings- och Deploy sprint efter att beställaren ”är nöjd”.

.

Jag kan fortsätta rada upp skillnader. Jag hoppas dock i och med detta utbrott att det en gång för alla är vederlagt och fastslaget att det är stor skillnad mellan sekvensiell up-front planering/big-bang leverans (a la vattenfall) och agil planering/iterativ inkrementell leverans (Scrum). Fast att tro något sådant kanske vore nog naivt…

h1

Project Manager – to be, or not to be?

tisdag, 30 mars, 2010

En PMI certifierad  project manager ställer sig frågan ”Can a ScrumMaster be a project manager — are the positions one in the same?” i en nyligen publicerad artikel. Vidare hävdar hon att ”The project manager is the overarching manager and person accountable at the project level, while the ScrumMaster is the one responsible for the product development.”

Redan i ingressen känner jag i magtrakten att det är något knepigt i hennes tankengångar. Det tog ett tag innan jag lyckades formulera det för mig själv.

Låt oss vända på det hela.

.

Anta att vi har ett projekt som omfattar:

  • en Scrum Master som ser till att alla följer Scrum, utbildar, inspirerar, möjliggör teamet, kontinuerligt provocerar till förbättringar och sköter den dagliga adminstrationen,
  • ett agilt team (cross-functional, self-organizing and empowered) som estimerar storys i produktbackloggen, formar sina egna sprintmål efter produktbackloggens prioritering och bygger den faktiska mjukvaran,
  • en Product Owner som ser till att produktbackloggen är uppdaterad och prioriterad, för tät dialogen med teamet samt sköter release planering, samt eventuellt (men inte nödvändigtvis)
  • en styrgrupp, aka Meta-Scrum, som stöttar teamet med t.ex. resurser, staffing, etc.

Vad återstår? Är inte alla planerings-, koordinerings- och ansvarsfrågor omhändertagna? Om man ser behovet att behålla rollen ”Project Manager” har man inte lyckats (eller inte vågat) gå hela vägen mot en agil leverans och organisation!

Lisa A. Grant skriver vidare i sin artikel; ”The project manager ensures that the business case is clearly defined, compliance documents are completed in a timely manner, product deployment activities are executed — and he or she manages all other business aspects of the new product launch.”

Det här är ju perfekta uppgifter för produktägaren att ta ansvar för och prioritera in i release planering. Produktägaren initierar projektet (genom att formulera visionen, förankra visionen och kontinuerligt bygga upp och underhålla produktbackloggen) och är självklart med hela resan tills systemet/produkten är klar och sjösatt. Däremot kanske scrum teamets konstellation och storlek varierar med tiden.

.

Jag tycker att Lisa istället borde acceptera att hennes roll i ett agilt projekt, i en lean organisation, kanske är överspelad. Hennes kunskaper och erfarenheter är det såklart dock inte! Sedan om hon passar bäst som Scrum Master, Produkt Owner eller annan organisatorisk roll har jag ingen aning om.

h1

Scrum – Fake it until you make it!

måndag, 29 mars, 2010

Hur gör man för att köra mera utav Scrum och göra det bättre? Hur gör man för att person X och Y ska ”fatta”?

Det enda sättet är tyvärr att jobba på, experimentera, våga göra misstag och dra lärdom av vad som fungerade bra och vad som fungerade sämre och ta tillvara på de tillfällen som ges att lyfta Scrum (och personerna i och runt Scrum projektet) när möjlighet ges!

Joe Little publicerade precis två artiklar där han funderar och tänker högt kring ämnet. Han ger inte direkt några knivskarpa och enkla råd men han lyckas rada upp några riktigt fina ordspråk:

.

We are as likely to act ourselves into a new way of thinking as to think ourselves into a new way of acting.

Fake it. Pretend that you want to do it. Feign optimism. Just do it. Do it as an experiment.

”Going through the motions can trigger the emotions.”

.

”Vadå? Vilka floskler!” kan man kanske tycka.

Kanske det kanske men jag gillar ändå hans budskap. Genom att föregå med gott exempel och helhjärtat anstränga sig att följa Scrum och praktisera de agila värderingarna  så kommer involverade och berörda med tiden bli bättre på att jobba enligt Scrum och så småningom även få djupare förståelse för varför Scrum fungerar och hur det fungerar.

Precis som överallt annars så har människor man försöker inspirera eller lära en tendens att göra som man själv gör – och inte som man säger…

.

Yoda uttrycker det hela lite enklare:

”Do. Or do not.
There is no try.”

.

Läs Joe Littles artiklar här:
A re-write och Changing people (that includes you)

h1

EVE Online goes Scrum

onsdag, 24 mars, 2010

Intressant föreläsning från Fanfest 2009. CCP utvecklar EVE Online och på konventet höll Adalsteinn ”Alli” Ottarsson (Technical Producer) och Noah Ward (Lead Game Designer) en uppskattad föreläsning som blivit upplagd på YouTube.

De berättade bland annat om hur de gick från (en för dem framgångsfull) vattenfalls baserad utvecklingsmodell till att jobba enligt Scrum inför Apocrypha expansionen (deras största expansion hittills). De berättade om hur de skalade upp och anpassa Scrum för att klara av deras 11 team vilka är utspridda över tre länder (Island, USA och Indien).

De gick igenom lite hur de jobbar med ”krav”, dvs. hur de såg på och hanterade Epics, Features och User Stories. Avslutningsvis berättade de om vilka utmaningar de står inför just nu. Jag uppskattar alltid när folk ärligt berättar om misstag, bekymmer och frustrationen – däri ligger mest att lära.

Riktigt intressant om man tycker om att lyssna på föreläsningar! Nu har dom släppt precis nästa expansion, Dominion. Jag är nyfiken på hur det har gått för dem…

Men jag kan jag inte låta bli att undra… Scrum är nästan en standard i spelbranschen för att kunna möta strikta deadlines, hålla budgetar och leverera kvalitativa spel till en krävande och kräsen publik. Varför sprider sig inte denna insikt om styrkan med agil utveckling snabbare än vad den gör till andra branscher?

h1

Scrum myt #3: Agil utveckling är odisciplinerad

tisdag, 23 mars, 2010

”Agila metoder är bara utvecklarnas ursäkt för att få göra som dom vill”, eller Extreme Programming är ju bara ett fint ord för fulkodning eller hack-n-fix” är påstående jag hört från olika håll, och ibland fortfarande känner bubbla under ytan. Sanningen är snarare motsatta.

För att överhuvud taget lyckats producera högkvalitativ, levererbar kod varje sprint i ett Scrum projekt, och samtidigt undvika att bygga på teknisk, skuld behövs ordentlig disciplin i teamet. Scrum beskriver inga best-practices för programmering eller test – det gör däremot XP och därför är XP ett kraftfullt,  populärt och nästintill nödvändigt komplement till Scrum (vissa XP principer är t.o.m. inbyggda i Scrum).

Men det är absolut inget extremt alls med XP principerna. Var och en av dem beskriver ett verktyg, eller trycker på vikten av olika metoder eller tekniker för att utveckla kod på ett strukturerat sätt som i sin tur skapar högre kvalitet. Ingen av dem säger ”Gör som du vill så blir det bra”. Jag vet inget som kräver så mycket disciplin, tålamod och ödmjukhet som till exempel par programmering. Jag har å andra sidan svårt att komma på något som höjer kvaliten så mycket som just par programmering.

Nu kan det ju dock såklart vara så att du har en person i Scrum teamet som gått på myten och tagit med sig missuppfattningen in i teamet och som hävdar att alla förslag på att införa stuktur, design patterns, templates, etc. går emot Agile värderingar och principer. Det finns inget enklare sätt att uttrycka det på – den personen är låååångt ute på åkern och cyklar.

Agil utveckling och Scrum kräver disciplin!

h1

Lägg krut på rätt ställe med ”Focus Scales”

måndag, 22 mars, 2010

Hur vet man att man lägger krutet på rätt saker? Hur kan man förenkla utmaningen med att kommunicera kundens vision in i Scrum-teamet? Räcker Produktbackloggens prioritering för att nå maximal verksamhetsnytta? ”Focus Scales” kan vara ett kraftfullt verktyg för att fylla gapet mellan kundens behov och teamets ansträngningar.

.

Agiles projektledningstriangel

Scrums verktyg för att ena kunden och Scrum-teamen under samma ledstjärna är ett Vision Statement. Denna beskriver visionen för IT-lösningen, dvs. vad dess syfte är, mål och önskat resultat. Agiles projektledningstriangel säger vidare att vi aldrig får kompromissar med kvaliteten utan att vi anpassar scoopet för att nå tid och budget.

Även fast vi aldrig tummar på kvalitét gör vi fortfarande kontinuerligt andra typer av val; dels avgör vi löpande i vilken ordning vi utvecklar funktionerna (dvs. vad som ska levereras efter nästa sprint). Men vi avgör också löpande hur mycket krut vi ska lägga ner på varje funktion, dvs. hur avancerad eller minimalistisk implementering av varje User Story ska göras.

.

Focus Scales

Själva prioriteringen av Produktbackloggen gör Produktägaren givetvis löpande i dialog med kunden. Det är dock en mycket god idé att samtidigt som man tar fram ”Vision Statement” även målar upp några enkla tumregler för vad man ska lägga extra tid och energi på och vad man ska hålla enkelt.

Som ett diskussionsunderlag för Produktägaren (och teamet) i sin dialog med kunden kan man använda sig av något jag kallar Fokus Scales. Dessa kan även teamet använda internt när de designar funktionerna och funderar över hur pass avancerad eller enkel lösning de ska sikta på.

Att dessutom ta fram dessa vågskålar under en workshop där både kund och teamet är med (eller åtminstone representanter för teamet) öppnar upp för en fantastisk möjlighet att diskutera idéer, koncept och nå konsensus över vad man vill åstadkomma och vad som är viktigt.

Ett exempel på ett projekts fokus vågskålar…


Varje vågskål beskriver hur balansen ska läggas när man väljer mellan två olika kriterier. Observera att kriterierna absolut inte behöver vara motsatser eller utesluta varandra, de ska endast vara vägledande och fungera som diskussionsunderlag. Kriterier som är vettiga i ett projekt kanske helt saknar relevans och betydelse i ett annat. Det är en god idé att begränsa antalet vågskålar till ett fåtal (kanske 3-5 stycken). Med för många vågskålar riskerar summan av dem bli svårbegripliga och motsägelsefulla.

.

Tydligare ledstjärna!

Genom att börja med att ta fram Vision Statement och Focus Scales etableras och kommuniceras en tydlig målsättning och gemensam ledstjärna för både kund och team från början. En framgångsfaktor för alla agila projekt.

(Ursprungligen publicerad på sogeti.blogg.se)

h1

Grundmall för ”Definition of DONE”

torsdag, 18 mars, 2010

Precis som utlovat kommer här min åsikt om vad ”Definition of DONE” bör innehålla. Oavsett innehåll är det viktigt att alla i projektet, dvs. Teamet, Scrum Mastern och Produktägaren, alla är överens om vad den definerar – och vad den utelämnar.

”DONE” bör enligt min uppfattning minst innehålla:

Collaborated & Designed
Coded
Versioned
Tested
Documented
Knowledge Shared
Deployable/Deliverable
Approved

Denna lista är på intet sätt komplett eller tillräckligt tydlig. Varje team måste själva tillsammans med sin Produktägare och Scrum Master ta ställning till vad DONE ska innehålla och vad varje punkt betyder. Glöm inte bort att DONE beskriver krav på vad som ska ha utförts/fullgjorts av teamet för varje User Story som demonstreras på Sprint Demo.

Sedan kan det vara så att alla kriterier inte är applicerbara eller meningsfull för allt som teamet åtar sig under en sprint. Det kan också självklart vara så att man för vissa typer av User Stories lägger till ytterligare kriterier. Men lägger man till för mycket bör det diskuteras ifall något annat kanske ska tas bort. För många och för höga kriterier kan resultera i överprestation som inte är efterfrågad, a.k.a Waste.

Har ni i ert team inte alla DONE kriterier ovan? Försök införa dem än efter än så kommer ni se att er kvalitet och kundnöjdhet kommer att öka och er tekniska skuld att minska.

Vidare vill jag trycka på att alla i teamet är ansvariga tillsammans för att DONE efterlevs och uppfylls. Detta innebär också att var och förväntas hjälpa till för att färdigställa alla påbörjade åtaganden och tasks innan Sprint Demon.

Tvivlar du på om det är värt besväret? För några dagar sedan skrev jag ett inlägg om värdet på ”Definition of DONE”.

.

Collaborated & Designed

Teamet har tillsammans med produktägaren (och eventuellt med kund) diskuterat och beskrivit funktionen. Vad gäller den tekniska implementeringen har teamet suttit och diskuterat vad man vill uppnå och kommit överens om en teknisk lösning. (Detta kan t.o.m. ha skett i föregående Sprint.)

Coded

Funktionen/featuren är färdig kodad, dvs. all kod som ska skrivas har blivit skriven. Jobbar teamet med TDD på enhetstestnivå har dessa enhetstester blivit skrivna.

Versioned

Kod och dokumentation är incheckat i versionshanteringssystemet.

Tested

Den utvecklade funktionen/featuren är testad. Här behöver det detaljeras vilka krav på tester som krävs och vilka typer av tester funktionen/featuren ska utsättas för. Exploratory Testing? Automatiserade Acceptance tester? Integrationstestat av det nattliga bygget?

Documented

Överenskommen dokumentation är skriven och/eller uppdaterad. Exakt vilken dokumentation behöver defineras. Finns det system översikter som ska uppdateras? Användarmanualer?

Knowledge Shared

Antingen utövas Par Programmering eller så har person/personerna som utvecklade funktionen berättat för övriga i teamet vad de gjort, hur de tänkte och vilka moduler, klasser, tester, dokument, etc. de har skapat/ändrat.

Deployable/Deliverable

Funktionen/featuren är redo för leverans/installation, dvs. eventuella installations script har uppdaterats, installationspaket har kompletterats, etc. Testmiljöer ska dessa ha uppdaterats. (Detta betyder dock inte att funktionen automatiskt ingår i nästa leverans. Dock ska  funktionen, med minimal ansträngning, kunna ingå i nästa version av produkten/systemet närhelst det beslutas av Produktägaren.)

Approved

Produktägare och/eller kund har gett feedback och sitt godkännande genom att prova på och testa i testmiljön.

.

Uppdatering: 2010-03-19

InfoQ presenterar ett intressant förslag på ”Definition of DONE” från Alixx Skevington på sin hemsida: http://www.infoq.com/news/2010/03/mainfesto-of-done

h1

En väldefinerad och välförankrad ”Definition of DONE” är ovärderlig!

tisdag, 16 mars, 2010

Fördelar med en bra DONE definition

En DONE definition beskriver som bekant vad som krävs för att teamet ska få lov att säga att dom är helt ”klara” med en User Story och för att de ska tillåtas demonstrera den på sprint demon. Typ en checklista för teamet när de utvecklar. Men…

.

En väldefinierad och förankrad DONE defintion som teamet följer disciplinerat är användbar och värdefull på så många fler sätt:

  • Underlättar vid User Story estimering av Product Backlog (så att man inte glömmer bort någon aspekt)
  • Hjälper teamet att bryta ner User Stories till tasks vid sprint planering
  • Gör det tydligt för Product Owner och stakeholders vad teamet menar när dom säger att dom är ”klara” men någonting
  • Beskriver önskad kvalitetsnivå (genom att teamet till exempel genom diskussion med Product Owner specificera vilka typer av tester som skall göras)
  • Hjälper teamet hålla den tekniska skulden låg
  • Ger kunden/beställaren möjlighet att vara ”nöjd” efter valfri sprint (då man vet att det som har blivit demat är helt klart och redo för paketering eller leverans)
  • Synliggör  för Product Owner och att det finns andra uppgifter utöver själva programmeringen som tar tidstakeholders.

Det går enkelt att komma på många fler fördelar! Någon som behöver ytterligare inspiration? 😉

Återkommer inom kort med vad jag tycker att en ”Definition of DONE” minst borde innehålla…

h1

Ny bok om Scrum & Kanban från ”the trenches”

måndag, 15 mars, 2010

Henrik Kniberg skrev 2007 den populära boken ”Scrum and XP from the Trenches”. Nu har han tillsammans med Mattias Skarin skrivit en ny bok om hur man kan kombinera det bästa från Scrum med det bästa från Kanban – ”Kanban and Scrum – making the most of both”.

”Scrum and XP from the Trenches” slukade jag snabbt när jag kom över den första gången och är oftast den första bok jag rekommenderar till personer som vill ha lästtips om Scrum. ”Kanban and Scrum – making the most of both” var precis lika välskriven och lättläst. Jag mer eller mindre sträckläste den under söndagseftermiddagen.

Boken går igenom vad likheterna och skillnaderna är mellan Scrum och Kanban, tar upp många exempel från verkligheten, innehåller många bra och förklarande diagram och illustrationer samt en bra case-study av hur två team implementerade Kanban.

Jag känner inget direkt behov att byta ut Scrum mot Kanban i mitt nuvarande projekt, men som Henrik skriver i boken – Scrum och Kanban är bara verktyg. Jag känner mig dock inspirerad och kommer antagligen att försöka bygga på vår Scrum process med några av godbitarna från Kanbans verktygslåda (speciellt försöka hitta ett sätt för oss att arbeta med Work-in-Progress begränsningar).

Däremot skulle jag rekommendera support och maintanance team därute att ta sig en rejäl funderare på om inte Kanban skulle göra livet bättre.

”Kanban and Scrum – making the most of both” finns för gratis nedladdning här på InfoQ:s hemsida. Du måste dock du registrera dig och bli medlem för att kunna ladda hem pdf:en.

h1

Scrum Gathering 2010 i Orlando? Vad hände?

söndag, 14 mars, 2010

Är lite småbitter över att jag inte fick möjlighet att göra en liten tur till Orlando i USA och delta på Scrum Gathering 2010. Men å andra sidan, vad är väl en konferans på Gaylord Palms Resort & Convention Center?

Jag var hur som helst såklart nyfiken på vad som hände och diskuterades och hittade en fina sammanfattning på Scrum Alliance hemsida.  (Klicka här för att läsa summeringen över de tre dagarna.)

Konferansen pågick den 8:e till 10:e mars. Det fanns många spännande seminarier och workshops på agendan men eftersom det övergripande temat på träffen var ”collaboration” bestod (såklart) hela dag tre av Open Space.

Precis som brukligt på Open Space samlades alla deltagare i en cirkel på morgonen för att föreslå, planera och organisera dagens Open Space pass. Dagen leddes av ingen mindre än Open Space grundare Harrison Owen.

Jag gissar att bilden ovan är tagen strax innan alla deltagarna stormade in i rummet. Fatta vilken kreativitet och energi som måste ha sprudlat där den dagen… Men nej, nej. Jag är inte avundsjuk.

Fast jag kan ju alltid göra ett försök att ta mig till Scrum Gathering i Shanghai i April, eller till Sydafrika i September.

Troligt.

PS. Fler bilder finns här. DS.

.

Uppdatering: 2010-03-19

Nu finns anteckningarna från ett trettiotal av Open Space passen publicerade på ”Community of Scrum Gathering, Orlando 2010” hemsida.

http://sg2010usdialogroom.posterous.com/reference-list-of-open-space-sessions-open-sp