Timeboxing
Del av en serie om |
mjukvaruutveckling |
---|
I agila principer tilldelar timeboxing en maximal tidsenhet till en aktivitet, en så kallad timebox , inom vilken planerad aktivitet äger rum . Den används av agila principbaserade projektledningsmetoder och för personlig tidshantering.
I projektledning
Timeboxing används som en projektplaneringsteknik . Schemat är uppdelat i ett antal separata tidsperioder (timebox), där varje del har sina egna leveranser, deadline och budget. [ citat behövs ] Kallas ibland till som schema som oberoende variabel (SAIV). "Timeboxing fungerar bäst i flerstegsprojekt eller uppgifter som tar kort tid och du kan passa dem i samma tidslucka. Det är också värt att implementera i händelse av uppgifter som har förutsebara tidsramar för slutförande."
Som ett alternativ till fixering av omfattning
Inom projektledning anses det generellt finnas tre begränsningar : tid (ibland schema ), kostnad (ibland budget ) och omfattning . ( Kvalitet läggs ofta till som en fjärde begränsning --- representeras som mitten av en triangel.) Antagandet är att en förändring i en begränsning kommer att påverka de andra.
Utan timeboxing fungerar projekt vanligtvis med en fast omfattning, i vilket fall när det står klart att vissa leveranser inte kan slutföras inom de planerade tidsramarna, antingen måste tidsfristen förlängas (för att ge mer tid att slutföra den fasta omfattningen) eller fler personer är inblandade (för att slutföra den fasta omfattningen samtidigt). Ofta händer båda, vilket resulterar i försenad leverans, ökade kostnader och ofta minskad kvalitet (enligt The Mythical Man-Month- principen).
Med timeboxing är deadline fast, vilket innebär att omfattningen skulle behöva minskas. Eftersom detta innebär att organisationer måste fokusera på att slutföra de viktigaste leveranserna först, går timeboxing ofta hand i hand med ett schema för prioritering av leveranser (som med MoSCoW-metoden ) .
För att hantera risker
Tidlådor används som en form av riskhantering , för att explicit identifiera osäkra uppgift/tidsrelationer, dvs arbete som lätt kan sträcka sig efter dess deadline. Tidsbegränsningar är ofta en primär drivkraft vid planering och bör inte ändras utan att beakta projekt- eller delprojektkritiska vägar. Det vill säga att det oftast är viktigt att hålla deadlines. Riskfaktorer för missade deadlines kan inkludera komplikationer uppströms i projektet, planeringsfel inom projektet, teamrelaterade problem eller felaktigt utförande av planen. Uppströmsproblem kan inkludera förändringar i projektets uppdrag eller stöd/stöd från ledningen. Ett vanligt planeringsfel är otillräcklig uppgiftsuppdelning, vilket kan leda till att tiden som krävs för att utföra arbetet underskattas. Teamrelaterade problem kan inkludera problem med kommunikation mellan team; brist på erfarenhet eller nödvändig tvärfunktionalitet; bristande engagemang/drivkraft/motivation (dvs dåligt teambuilding och ledning).
För att hålla tidsfristen utvärderas vanligtvis följande åtgärder mot de tredubbla begränsningarna:
- Minska omfattningen: fallkrav för lägre påverkan (de som inte kommer att missas direkt av användaren)
- Tiden är den fasta begränsningen här
- Öka kostnaden: t.ex. lägga till övertid eller resurser
Adoption inom mjukvaruutveckling
Många framgångsrika programvaruutvecklingsprojekt använder timeboxing, särskilt mindre. Att använda timeboxing mer än tredubblade utvecklarproduktiviteten på DuPont på 80-talet. I vissa fall levererades ansökningarna helt inom den beräknade tiden för att bara fylla i en specifikation . Steve McConnell hävdar dock att inte alla produkter är lämpliga och att timeboxing endast bör användas efter att kunden går med på att skära av funktioner, inte kvalitet. Det finns få bevis för stark adoption bland den största klassen av projekt.
Timeboxing har antagits av några anmärkningsvärda mjukvaruutvecklingsmetoder :
- Dynamisk systemutvecklingsmetod (DSDM)
- Inom mjukvaruutveckling ger pull-schemaläggning med Kanban kortsiktig tidshantering . När man utvecklar ett stort och komplext system, när långsiktig planering krävs, är timeboxing skiktad ovanför.
- Rapid Application Development (RAD) mjukvaruutvecklingsprocess innehåller iterativ utveckling och mjukvaruprototyper . Enligt Steve McConnell är timeboxning en "Best Practice" för RAD och en typisk timebox-längd bör vara 60–120 dagar.
- Scrum influerades av idéer om timeboxing och iterativ utveckling . Vanliga timebox-enheter som kallas sprints utgör den grundläggande utvecklingsenheten. En typisk längd för en sprint är mindre än 30 dagar. Sprintplanering, sprintretrospektiv och sprintgranskningsmöten är tidsinställda.
- I extrema programmeringsmetoder är utvecklingsplanering tidsboxad i iterationer som vanligtvis är 1, 2 eller 3 veckor långa. Verksamheten omvärderar väntande användarberättelser före varje iteration.
Agil mjukvaruutveckling förespråkar att gå från plandriven till värdedriven utveckling. Kvalitet och tid är fasta men flexibilitet tillåts i omfattning. Att leverera de viktigaste funktionerna leder först till en tidigare avkastning på investeringen än vattenfallsmodellen .
En brist på detaljerade specifikationer är vanligtvis resultatet av en brist på tid, eller bristen på kunskap om det önskade slutresultatet (lösningen). I många typer av projekt, och särskilt inom mjukvaruteknik, är det omöjligt att analysera och definiera alla krav och specifikationer innan realiseringsfasen påbörjas. Timeboxing kan vara en gynnsam typ av entreprenad för projekt där deadline är den mest kritiska aspekten och där inte alla krav är helt specificerade i förväg. Detta gör också att ny feedback eller insikter som upptäckts under projektet återspeglas i slutresultatet.
I personlig tidshantering
Timeboxing kan användas för personliga uppgifter, i vilket fall det använder en reducerad skala av tid (t.ex. trettio minuter) och leveranser (t.ex. hushållssysslor istället för projektleveranser), och kallas ofta tidsblockering .
Personlig timeboxing sägs också fungera som ett livshack för att hjälpa till att stävja perfektionistiska tendenser (genom att sätta en bestämd tid och inte övergå till en uppgift) vilket också kan öka kreativiteten och fokus (genom att skapa en känsla av brådska eller ökad press).
Förhållande till andra metoder
Timeboxing fungerar som en byggsten i andra personliga tidshanteringsmetoder:
- Pomodoro -tekniken är baserad på 25 minuters tidslådor med fokuserad koncentration åtskilda av pauser som låter sinnet återhämta sig.
- Andy Hunt ger timeboxing som sitt "T" i SMART .
Se även
- Design sprint , en tidsbegränsad femfasprocess som används i designtänkande