Programvarens livssyklus. Scrum steg for steg

Alle har hørt om Agile. Hvis noen nylig kanskje ikke har kjent dette ordet, begynte German Gref selv, sjefen for Sberbank, i januar i år å angripe landet med alle våpnene sine med sin evangelisering av fleksible tilnærminger til ledelse, og nå har Agile allerede lydt for alle.

Scrum er den praktiske implementeringen av Agile-prinsipper. Det er en tilnærming som, ifølge skaperen Jeff Sutherland, lar deg gjøre dobbelt så mye på halve tiden.

Du vil sannsynligvis vite mer om Agile og Scrum for å komme opp i fart. Det er ikke lenger mulig å forestille seg IT-verdenen uten Agile, og denne "infeksjonen" sprer seg raskt til tradisjonelle offline-bedrifter.

For å holde deg informert kan du lese Jeff Sutherlands nye bok, Scrum. En revolusjonerende metode for prosjektledelse." Dette vil ta flere dager. En alternativ måte å raskt lese smarte amerikanske forretningsbøker på er å lese et sammendrag, gjenfortelling, sammendrag fra vår partner - Smart Reading-selskapet. Det vil ta en halv time, og du vil definitivt lære alle nøkkelideene uten vann.

Scrum dukket opp for rundt 20 år siden som en effektiv metode for å øke produktiviteten innen programvareutvikling. Etter å ha blitt populær i Silicon Valley, fikk Scrum raskt aksept i andre forretningssektorer. Skaperne, Ken Schwaber og Jeff Sutherland, studerte verdens beste praksis for vellykkede selskaper og kom til den konklusjonen at "fossefall"-modellen, som tidligere ble brukt til å jobbe med IT-prosjekter, er håpløst utdatert. Det svarte ikke til kundenes forventninger fordi arbeidet gikk sakte, strengt tatt i henhold til langsiktig plan, og ofte var ikke produksjonen den som faktisk var nødvendig.

Systematisk top-down prosjektledelse skaper en illusjon av kontroll og tillit i arbeidsprosessen, men i realiteten er resultatet uforutsigbart. Til tross for tilgjengeligheten av kilogram papir med detaljerte planer, begrunnelser, grafer og tabeller, blir tidsfrister overskredet, budsjetter overskrides, og ansatte blir frustrerte og føler nytteløsheten i aktivitetene sine.

Bli kjent med nøkkelprinsippene til Scrum, og kanskje vil emnet interessere deg så mye at du ikke lenger vil kunne unngå å lese Sutherlands bok.

Mennesker er viktigere enn prosesser

I selskapene selv forskjellige størrelser Byråkratiet setter seg først og fremst ut for å bygge prosesser, og tror at uorganisering er roten til alle problemer. Men hvis denne roten eksisterer, så er det ansatte som er misfornøyde med arbeidet sitt, som ignorerer klienter og deres behov, som ikke klarer å realisere potensialet sitt og bli vellykket. De ødelegger alt.

Scrum handler om glade ansatte, og ikke om uendelig slanke og dyre prosesser.

Kom til kontoret ditt i morgen, og du vil sannsynligvis se mange slike mennesker der. Det er viktig å sette mennesker i sentrum av organisasjonen, ikke sjefer eller prosesser.

Produktet er viktigere enn dokumentasjon

En annen favoritt hobby byråkrati – beskriv alt i det uendelige, lag tonnevis med dokumentasjon, bruk godt halvparten av ressursene på det, og utsett dermed tidsfrister. Det som er viktig er ikke papirlappene, men om din organisasjon og ditt team klarer å lage akkurat det produktet kundene virkelig trenger. Hvis du har et flott produkt og ingen dokumentasjon, er det ikke dårlig. Slik kom den første iPhonen på markedet i 2007.

Scrum handler om mening, og ikke om å lage så mange stykker papir som mulig for å lage så mange stykker papir som mulig.

Kolossal intern dokumentasjon og en beskrivelse av hvert steg du tar på veien til det ferdige produktet er nok også viktig, men stadig flere bedrifter klarer seg nå uten dette tullet. Og de er dine konkurrenter. Dine stadig raskere konkurrenter.

Samarbeid med oppdragsgiver er viktigere enn en perfekt utformet kontrakt

For å lage et godt produkt må du jobbe, skape, løse problemer, komme med og implementere ideer. Alt som distraherer fra dette er søppel. Du må bygge et slikt forhold til kunden at han hele tiden deltar i arbeidet ditt, ser hvordan produktet vil bli hvis du følger gjeldende strategi, og forstår utsiktene for å få et produkt som passer ham. Dette kan gjøres dersom du har et forhold til kunden, og ikke bare en kontrakt.

Scrum handler om forståelse og samarbeid, ikke om advokater og å dekke over svake flekker.

Det er nødvendig å bygge et forhold til klienten der det ikke er behov for å utveksle endeløse og livløse papirkrav og betingelser og inngå stabler med kontrakter. Den ideelle situasjonen er når du er snille og forståelsesfulle partnere, kollegaer som jobber for å oppnå samme mål, og du ikke trenger å være forsikret av kontrakter og bruke betydelig tid på dette. Avtaler og papirer er en måte å beskytte deg selv på. Bygg et forhold der ingen av partene trenger å forsvare seg.

Evnen til å endre er viktigere enn å holde seg til planer

De sier at det verste er å bruke hele livet på å lage et produkt som ingen ender opp med å bruke. Tenk deg at du brukte tre år på å utvikle noe som så ikke fløy fordi det viste seg å være uavhentet på markedet. Dette på grunn av grandiose planer utarbeidet i starten og streng overholdelse av dem. Hva om treårsplanen var feil? Du vil bruke mye penger og stå blakk.

Scrum handler om vitenskap og mening, ikke om tro og urimelige forhåpninger.

Hvordan være? I følge Scrum bør du ha et stort mål, men gå mot det iterativt, uten å prøve å forutsi hvert skritt i en fjern fremtid. I små iterasjoner på 2-4 uker, gå mot målet, se tilbake, gjør et tilbakeblikk, evaluer hva du har gjort, forkast resultatet av siste iterasjon hvis det ikke bringer deg nærmere målet. På denne måten kan du unngå dumme store fiaskoer. Iterativitet er en vitenskapelig tilnærming. Håp om riktigheten av store planer er snarere som religion.

Stillinger og titler er ikke viktige – det som betyr noe er hva du gjør

Jo høyere nivå sjefen har, jo mindre vet han direkte om opprettelsen av produktet og forviklingene ved dets arbeid, dets egenskaper, evner. I dag er tilnærminger til ledelse på moten når sjefer ikke lenger er spesielt nødvendige, hierarkier viskes ut og organisasjoner blir flate. Posisjoner er ikke viktige når det gjelder praktisk arbeid med å lage et produkt, undersøke brukerbehov, teste ulike hypoteser og aktiv iterativ utvikling.

Scrum handler om tillit, ikke makt og vold.

Klassiske sjefer er skapt for kontroll og undertrykkelse. Hvis teamet består av lidenskapelige fagfolk som er betrodd og som er direkte involvert i å skape verdier, så trenger de ikke en sjefsovervåker med en vakker, men ubrukelig tittel.

Ulike verktøy er laget rundt disse viktige Scrum-prinsippene for å hjelpe til med å nå mål på kortest mulig tid, med høy grad av forutsigbarhet, til lavest mulig kostnad. Sørg for å fordype deg i dette emnet: det er interessant, og mest sannsynlig, uten kunnskap om Agile og Scrum i fremtiden vil du ikke kunne få både en interessant og høyt betalt jobb.

Så du kan lære alt om Scrum i detalj fra boken av skaperen Jeff Sutherland. Som et alternativ kan du lese sammendraget av denne boken i det elektroniske biblioteket Smart Reading på 20–30 minutter.

Lifehacker og Smart Reading foreslår å prøve denne nye måten for raskt å lære hele essensen av veldig smarte, men veldig tykke bøker. På nettsiden Smart Reading finner du flere hundre flere sammendrag av flotte bøker som du kanskje aldri vil lese helt.

Scrum(skrʌm "scrum") er en prosjektledelsesmetodikk. Hovedvekten ved bruk av denne metodikken er kvalitetskontroll av utviklingsprosessen. Scrum er en av de mest populære "metodene for programvareutvikling". I tillegg til å administrere programvareutviklingsprosjekter, Scrum kan også brukes til å støtte programmer.

I artikkelen "The New Product Development Game" (Harvard Business Review, januar-februar 1986) bemerket Hirotaka Takeuchi og Ikujiro Nonaka at prosjekter som er jobbet med av små team av spesialister har en tendens til å gi bedre resultater. De refererte til "rugby-tilnærmingen" Scrum(dytter, klatrer rundt ballen).

Første gangs metode Scrum ble presentert for publikum, dokumentert, tydelig innrammet og beskrevet i fellesskap av Schwaber og Jeff Sutherland, som jobbet sammen i løpet av de påfølgende årene for å beskrive og presentere alle deres erfaringer og beste praksis for prosjektledelse i metodikken vi kjenner i dag. Scrum.

Bruk Scrum På planleggingsstadiet innebærer det å dele opp et programvareutviklingsprosjekt i flere faste korte iterasjoner, ellers kalt sprints. Sprint. Hver påfølgende iterasjon, i henhold til dens prioritet, ender med levering av fungerende programvare med nye muligheter til sluttbrukeren. Samtidig gir den strengt fastsatte korte varigheten av sprinten utviklingsprosessen forutsigbarhet og fleksibilitet.

Scrum prosjektledelsesprosess

Scrum prosjektterminologi

  • Sprint- utviklingsstadiet;
  • Sprint-etterslep- oppgaver for utviklingsstadiet;
  • Prosjektetterslep- liste over funksjonalitetskrav.

Sprint iterasjon

Basis Scrum er Sprint- utviklingsstadiet der et bestemt arbeid utføres på produktet. Den komplette utviklingen av et prosjekt består av korte stadier Sprints. Funksjoner som må implementeres på hver Sprint"e, er strengt fastsatt og kan ikke endres under sprinten; de er brutt ned i oppgaver som har poeng og prioriteringer.

Før hver Sprint produsert Sprintplanlegging, der innholdet vurderes Prosjektetterslep og er dannet Sprint-etterslep, som inneholder oppgaver (Story, Bugs, Tasks) som må fullføres i gjeldende sprint. Hver sprint skal ha et mål som er en motivasjonsfaktor som kan oppnås ved å gjennomføre oppgaver fra Sprint-etterslep.

Sprint alltid begrenset i tid (1-4 uker) og har samme varighet gjennom hele produktets levetid. Ved ferdigstillelse Sprint en ny fungerende, men ikke endelig, versjon av produktet må skaffes.

Liste over prosjektkrav Prosjektetterslep

Prosjektetterslep- dette er et dokument som inneholder en liste over alle funksjonskrav til prosjektet, dvs. en liste over programfunksjonalitet som må implementeres. Listeelementer bør sorteres etter viktighet. Etter hvert som prosjektet skrider frem, kan listen og prioriteringene endres, avhengig av kundebehov, nye ideer eller endrede forhold.

I klassisk Scrum det er underforstått at prosjektkunden kan gjøre endringer direkte i løpet av prosjektet, men ikke i det nåværende Sprint. I de fleste tilfeller er programvareutviklingsbudsjettet fast. Dette betyr at Kundens mulighet til å påvirke fremdriften i implementeringen også er begrenset. Imidlertid kan du om nødvendig utarbeide en "Tilleggsavtale" til kontrakten, som tar hensyn til endringer i de økonomiske komponentene i prosjektet, siden behovet for å legge til eller endre eventuelle prosjektfunksjoner er svært relevant for kunden. Dette bidrar til utviklingen av prosjektet byggherren trenger, og ikke det som er formelt presentert i de tekniske spesifikasjonene.

Derfor, som Etterslep Som regel brukes en liste over oppgaver fra de tekniske spesifikasjonene, skissert og nedfelt i kontrakten, pluss modifikasjoner fastsatt i tilleggsavtaler som oppstår i løpet av arbeidet.

Liste over sprintkrav Sprintetterslep

Sprint-etterslep Sprint-etterslep inneholder prosjektfunksjonalitet for en spesifikk Sprintfase"a.

Roller i Scrum Project Management

Etter metoden Scrum I produksjonsprosessen er det visse roller, delt inn i 2 grupper: "griser" og "kyllinger". Disse navnene ble brukt på grunn av følgende vanlige vits:

Kyllingen foreslår til grisen: "La oss åpne en restaurant!" Grisen ser overrasket på kyllingen og svarer: «Det er en god idé, men hva vil du kalle det?» Kyllingen tenker seg om et øyeblikk og svarer: "Hvorfor ikke kalle det "bacon og egg"?
"Det går ikke," svarer grisen, "for da må jeg vie meg helt til prosjektet, og du vil bare være delvis involvert."

I følge Scrum«Grisene» lager produktet, mens «kyllingene» ikke er så interessert i det ferdige produktet. De bryr seg ikke om prosjektet er vellykket eller ikke, det vil ha liten effekt på dem. Derfor blir kravene, ønsker og ideer til "kyllingene" tatt i betraktning, men de får ikke være direkte involvert i prosessen Scrum prosjekt.

Klassisk Scrum bruker 3 grunnleggende roller ( "griser") :

  • Produkteier (PO) - Produkteier representerer kundens interesser i prosjektet.
    P.O. er ikke medlem av utviklingsteamet, men et bindeledd mellom utviklingsteamet og kunden, dvs. dette må være en representant for kunden. Siden rollen stiller høye krav til den enkeltes erfaring og kompetanse i utvikling og utvikling av prosjektet, og dessuten krever konstant personlig deltakelse i prosjektet (noe som ikke alltid er mulig for kunden), utføres denne rollen vanligvis av prosjektleder. .
  • Scrum master (SM) "servant leader" - et teammedlem som sikrer overholdelse av prinsippene Scrum.
    Rolle S.M. innebærer ingen ytterligere fullmakter for prosjektet. Oppgave S.M.- hjelpe teamet med å maksimere sin effektivitet ved å fjerne hindringer, assistere, trene og motivere teamet, assistere PO.
  • Utviklingsteam (DT) - utviklingsteam.
    Utviklingsteamet består av spesialister som jobber direkte med prosjektet. I følge The Scrum Guide skal en DT ha følgende egenskaper:
    • må være selvorganiserende. Ingen (inkludert S.M. Og P.O.) kan ikke indikere D.T. hvordan konvertere Prosjektetterslep til et fungerende produkt;
    • må være multifunksjonell og ha alle nødvendige ferdigheter for å lage et fungerende produkt;
    • Hele teamet skal være ansvarlig for prosjektet, ikke enkeltmedlemmer.
    Anbefalt lagstørrelse D.T., som regel, er 6...8 personer. Ifølge ideologer Scrum, team større størrelse krever for mye store ressurser på kommunikasjon, mens et mindre team øker risikoen (på grunn av mulig mangel på nødvendige ferdigheter) og reduserer mengden arbeid som kan fullføres i en gitt tidsperiode.

Ytterligere roller ( Hjelperoller) i metodikk Scrum ("Kyllinger") :

  • Interessenter er personene som initierer prosjektet og som prosjektet vil være til nytte for. De er involvert i Scrum kun under sprintrevymøtet Sprint gjennomgang;
  • HR-ledere;
  • Rådgivende eksperter.

Arbeid i etapper

Hovedoppgaven Produkteier knyttet til å opprettholde en oppdatert liste over prosjektoppgaver Etterslep og riktig prioritering i henhold til forretningsmålene til prosjektet. Samtidig, i Etterslep Som regel er det ikke små oppgaver som å endre grensesnittet til et skjema, men større forretningsoppgaver, for eksempel "implementering av enkeltautorisasjon gjennom sosiale nettverk."

I begynnelsen av hvert trinn velger laget fra listen Prosjektetterslep så mange oppgaver hun realistisk kan fullføre på en etappe Sprint"a. Bryter ned i deloppgaver og avklarer tidsfrister.


Sprintplanleggingsmøte

I begynnelsen av en ny iterasjon Sprint"a passende planlegging må gjøres. For å gjøre dette fra Etterslep"a prosjekt velges oppgaver som er Sprint team D.T. må oppfylle. Basert på de valgte oppgavene, a Backlog Sprint"a.

Hver sprintoppgave må estimeres i ideelle arbeidstimer. Å løse problemet bør ta fra 8 til 16 timer, dvs. ikke mer enn to virkedager. Om nødvendig kan oppgaven deles inn i deloppgaver.

Under planleggingen diskuteres og bestemmes prosedyren for gjennomføring av hele arbeidsomfanget. Varigheten av møtet er strengt begrenset (ikke mer enn én arbeidsdag) og avhenger av lengden på iterasjonen og teamets erfaring.


Daglig kontroll, Daglige møter

Daglige møter, ellers kalt Stand-up møte utføres hver dag. Gjennom Sprint"a laget møtes jevnlig samtidig. Hvert teammedlem D.T. skal svare på tre spørsmål:

  • Hva ble gjort i går?
  • Hva skal gjøres i dag?
  • Hva er problemene?

Ved gjennomføring Daglig møte Det er viktig å ikke bøye seg for å diskutere de tekniske detaljene i prosjektet, eller å formelt avklare prosjektets status.

Sprintstopp, unormal avslutning

Å stoppe sprinten før skjema kan gjøres i eksepsjonelle situasjoner. Hvis laget innser at det ikke kan nå sprintmålet på tildelt tid, så kan det stoppe Sprint. Sprinten kan også stoppes av prosjekteier dersom behovet for å nå sprintmålet forsvinner.

Etter at sprinten er stoppet, holdes et møte med laget D.T., hvor årsakene til nedleggelsen diskuteres. Etter dette fortsetter kommandoen for å utføre den neste Sprint"a.

Nedbrenningsdiagram

For å visualisere statusen til prosjektet, brukes et oppgavenedbrenningsdiagram Nedbrenningsdiagram, som viser mengden utført og gjenstående arbeid i forhold til den totale tiden som er avsatt til utviklingen av prosjektet. Diagrammet må oppdateres regelmessig (daglig) for å vise fremgang og kostnader i arbeidet med sprinten og prosjektet i sanntid. Nedbrenningsdiagram skal være tilgjengelig for alle prosjektmedlemmer.

Det finnes to typer diagram:

  • Et nedbrenningsdiagram for sprint som representerer mengden fullførte og ufullførte oppgaver i gjeldende sprint;
  • nedbrenningsdiagram for et prosjekt, som representerer volumet av fullførte og ufullførte oppgaver for det ferdige produktet programvareprodukt(vanligvis bygget over flere spurter).

Funksjoner ved et Scrum-prosjekt

1. I et Scrum-prosjekt kan endringer i krav gjøres når som helst.
På denne måten kan du endre deg Produktetterslep under utførelse. Dette gjør det vanskelig å bruke prinsippene Scrum i fastkost-/fasttidsprosjekter. Ideologi Scrum argumenterer for at det er umulig å forutse alle endringer på forhånd, så det er ingen vits i å planlegge hele prosjektet på forhånd, begrense oss til just-in-time planlegging, det vil si å planlegge kun de arbeidene som må fullføres i de nærmeste Sprintene.

2. I et Scrum-prosjekt er den viktigste kilden til pålitelig informasjon deltakernes empiriske erfaring.
Scrum-guiden snakker om behovet for fullstendig og nøyaktig implementering av bestemmelser Scrum på grunn av fravær av formell leder og leder.

3. Teammotivasjon spiller en viktig rolle i suksessen til et Scrum-prosjekt.
Et av grunnprinsippene Scrum prosjekt er tilstedeværelsen av et multifunksjonelt og selvorganiserende team av DT-utviklere. Forskning fra sosiologer viser at antallet selvmotiverte ansatte som er i stand til selvorganisering ikke er stort. Dermed er det kun en liten del av de ansatte som er i stand til å jobbe effektivt i Scrum prosjekt uten vesentlige endringer i roller, noe som resulterer i feil bruk av Scrum-prinsipper.

Fordeler og ulemper med et Scrum-prosjekt

En av hovedfordelene, fra kundens synspunkt, er den raske lanseringen av et Srcum-prosjekt med høyest prioriterte funksjoner og lavest mulig budsjett. Dermed er Scrum kundesentrert. Scrum gir kunden muligheten til å gjøre endringer i krav til enhver tid, men garanterer ikke at disse endringene blir implementert. Muligheten til å endre krav er attraktiv for mange programvarekunder. I tillegg gjør Scrum det lettere å overvåke fremdriften i arbeidet.

Men endringer i kravene Scrum prosjekt er også ledsaget av endring i prosjektbudsjettet. Et rimelig kompromiss er å inngå en avtale om utvikling av et prosjekt med et trinnvis sammenbrudd, pluss tilleggsavtaler for endringer som oppstår etter hvert som prosjektet utvikler seg.

Viktig svakhet Scrum er å skape et multifunksjonelt selvorganiserende team. Å danne et effektivt utviklingsteam for et Scrum-prosjekt er ofte forbundet med mangel på passende spesialister (kunnskap + erfaring + lønn) både i bedriften og på arbeidsmarkedet.

Det er verdt å merke seg at Scrum ikke egnet til å oppfylle myndighetspålegg, hvor alt skal avtales før oppstart av programvareutvikling, d.v.s. De tekniske spesifikasjonene ble utformet og kravene ble fastsatt, fristene for etappene ble fastsatt og budsjettet ble godkjent.

Classic Scrum innebærer at prosjektkunden kan gjøre endringer i løpet av prosjektet, men ikke på det nåværende utviklingsstadiet. Men i dette tilfellet er budsjettet stort sett fast, og kundens mulighet til å påvirke fremdriften i implementeringen er også begrenset.

Behovet for å legge til eller endre eventuelle prosjektfunksjoner er likevel svært presserende for kunden. Dette er med på å utvikle et prosjekt som oppdragsgiver virkelig trenger, og ikke det som er formelt beskrevet i de tekniske spesifikasjonene. Derfor, som et etterslep, brukes som regel en liste over oppgaver fra de tekniske spesifikasjonene, skissert og nedfelt i kontrakten, pluss forbedringer fastsatt i tilleggsavtaler som oppstår under arbeidet.

Grunnleggende prinsipper for organisering av arbeid i Scrum-team

  1. Vi organiserer applikasjonsutviklingsprosessen i små funksjonelle team som inneholder alle nødvendige spesialister. For å gjøre dette velger vi en person - en Scrum Master, som vil være ansvarlig for å opprettholde prosesser i teamet og en konstruktiv atmosfære.

    Backlog er et dokument som inneholder en liste over alle krav til prosjektet (visjon av prosjektet, liste over hva som bør gjennomføres). Listeelementene er sortert etter viktighet. Etter hvert som prosjektet skrider frem, kan listen og prioriteringene endres, avhengig av kundebehov, nye ideer eller endrede forhold.

  2. Vi bryter ned kravene i små, brukerorienterte, funksjonelle deler som er mest mulig uavhengige av hverandre, noe som resulterer i et produktetterslep. Ranger deretter backlog-elementene dine etter viktighet og gjør et relativt estimat av størrelsen på hver historie. Velg en egen person - produktets eier, som vil være ansvarlig for kravene og deres prioriteringer, som dekker alle interessenter.
  3. Vi utfører alt arbeidet på korte, 1 til 4 uker, faste iterasjoner – sprints, leverer komplett funksjonalitet på slutten av hver av dem, som kan bringes på markedet om nødvendig – produktøkning. Teamet, i henhold til hastigheten, samler oppgaver for en tidsinvariant iterasjon - en sprint. Hver dag avholdes et Scrum-møte hvor teamet synkroniserer arbeidet og diskuterer problemer. Mens de jobber, tar teammedlemmene på seg reserveposter i henhold til prioritet.

    En sprint er en kort fase av prosjektutvikling. Funksjonene som må implementeres ved hver sprint er faste og kan ikke endres under sprint. De er brutt ned i oppgaver, og oppgaver har karakterer og prioriteringer. I klassisk Scrum antas det at varigheten på sprinten er fast og varierer fra 2 til 4 uker, avhengig av teamets erfaring.

  4. På slutten av hver sprint, foreta en sprintgjennomgang for å få tilbakemelding fra produkteieren, og en sprintretrospektiv for å optimalisere prosessene dine. Produkteieren kan da endre kravene og deres prioriteringer og starte en ny sprint.

"Av alle utfordringene NASA møtte med å sende mennesket til månen, var kontrollen kanskje den mest utfordrende."

— Roger Launis, NASA-historiker

Gjennom historien har menneskeheten samlet en imponerende liste over vellykket implementerte komplekse prosjekter. Fra å bygge pyramidene i Giza til å sende en mann til månen, krevde de mest dristige menneskelige bestrebelsene koordinert arbeid fra tusenvis av mennesker. Og dette innebærer et komplekst prosjektstyringssystem.

Og selv om bare noen få av oss vil bli møtt med oppgaver av denne skalaen, vil de fleste lesere av denne bloggen møte prosjektledelse på en eller annen måte. I følge PMI-estimater vil det være det innen 2020 – og mange andre fagfolk må ofte styre miniprosjekter, i det minste på et personlig nivå.

Enkelt sagt er Prosjektledelse styring og organisering av alt som skal til for å nå et mål – i tide og innenfor budsjett, selvfølgelig. Enten det er å utvikle ny programvare, kjøre en markedsføringskampanje eller å lande mennesker på Mars, lar prosjektledelse deg oppnå suksess.

Alle prosjekter er forskjellige. Det finnes ikke noe perfekt prosjektstyringssystem som passer for alle typer prosjekter. Det er heller ikke noe system som passer enhver leder og som er praktisk for alle teammedlemmer. Men under eksistensen av prosjektledelse, mange effektive tilnærminger, metoder og standarder som kan tas i bruk. I dag skal vi snakke om de mest populære av dem.

Tilnærmingene som er utviklet er svært forskjellige fra hverandre. De er forskjellige i bruksområder, detaljer, selvforsyning og formalisering. I tittelen kalte vi dem "metoder" for enkelhets skyld, men faktisk presenterer artikkelen standarder, konsepter, metoder og rammeverk som brukes i prosjektledelse. Hensikten med denne artikkelen er å gi den bredeste oversikten over eksisterende tilnærminger innen prosjektledelse.

I denne artikkelen skal vi se på:

  • Klassisk prosjektledelse
  • Smidig
  • Scrum
  • Lene seg
  • Kanban
  • SeksSigma
  • PRINS2

Og før vi ser på spesifikke metoder, la oss svare på det åpenbare spørsmålet - "Hvorfor trenger vi prosjektstyringssystemer og -metoder i det hele tatt?"– la oss selvfølgelig se kort på historien til prosjektledelse og definere de grunnleggende vilkårene for prosjektledelse.

Hvorfor «prosjektledelse»?

Navnene til Neil Armstrong og Buzz Aldrin vil for alltid gå ned i historien som symboler på en av menneskehetens største prestasjoner - menneskets landing på månen. Imidlertid var de viktigste bidragsyterne til denne begivenheten de 400 000 NASA-ansatte og de 20 000 selskapene og universitetene som jobbet sammen om Apollo-oppdraget.

I 1961 satte John Kennedy i oppgave å lande en mann på jordens satellitt og returnere ham tilbake – til tross for at NASA på den tiden sendte en mann ut i verdensrommet i bare 15 minutter. Et så ambisiøst mål krevde utrolig mye ressurser, samarbeid, innovasjon og planlegging.

I følge NASAs bok Managing the Moon Program var hovedproblemet ikke " hva å gjøre?", og i det, " hvordan gjøre så mye på så kort tid? Ifølge Dr. Max Faget, leder for ingeniør ved Romsenteret oppkalt etter Lyndon Johnson (Lyndon B. Johnson Space Center, JSC), da hadde NASA ingen anelse om hvordan de skulle sette alt nødvendige handlinger klokken 10. Derfor var det første trinnet å "bryte prosjektet inn i håndterbare stadier."

Det var da viktig å fremskynde hver enkelt fase og sikre at teamene og selskapene som jobber i hver fase kommuniserte effektivt med hverandre og leverte resultater i tide. Denne oppgaven ble overlatt til Dr. George E. Muller, som ledet alle deler av Apollo-prosjektet, fra Det hvite hus til leverandøren selv. liten detalj. For å gjøre det lettere å kontrollere prosjektet, bestemte han seg for å dele prosjektet inn i 5 områder: Programkontroll, Systems Engineering, Testing, Reliability and Quality, og Flight Operations. Apollo-programkontrolldiagrammet er vist i Figur 1.

Dette 5-trinns systemet - kalt "GEM Phases" etter Dr. Muellers initialer - ble designet "for å fokusere på å teste produktet, og designe det for å bli testet," som Mueller selv bemerker. Programkontroll bestemte hva som måtte gjøres, administrerte budsjetter og krav, og administrerte sammenhengen mellom programelementene. Systems Engineering-området var ansvarlig for å utvikle nye enheter og komponenter, Testing var ansvarlig for å sikre at disse nye elementene fungerte, pålitelighet og kvalitet sjekket de utviklede elementene for å sikre samsvar med krav og standarder, og Flight Operations var ansvarlig for å sikre at disse nodene vil fungere under flyturen.

Mange var i utgangspunktet skeptiske til metoden som ble foreslått av Muller, men til slutt klarte han å overbevise programmedlemmene om behovet for å følge denne algoritmen. Dette systemet har vist sin effektivitet - prosjektet ble fullført vellykket, og, man kan til og med si, triumferende, foran de angitte tidsfristene. Dette var bare mulig ved å bryte ned et storstilt prosjekt i håndterbare, repeterbare trinn, slik at mange enkeltbedrifter og spesialister kunne jobbe i samme rytme. Slik beviste prosjektledelsen sin effektivitet i Space Race.

En kort historie om prosjektledelse

Prosjektledelse ble ikke oppfunnet av NASA eller Dr. Mueller. De egyptiske pyramidene og Den kinesiske mur er produkter av prosjektledelse fra forhistoriske epoker. Dessverre er det ingen dokumentasjon på hvordan disse prosjektene ble implementert og administrert, og nåværende prosjektledelse er skilt fra kunnskapen fra tidligere århundrer.

Den mest åpenbare måten å gjennomføre et prosjekt på er å bryte det ned i faser eller individuelle oppgaver. Som en kulinarisk oppskrift - du kjøper ingrediensene, blander dem riktig, koker og serverer. Det enkleste verktøyet Prosjektledelse er en sjekkliste over handlinger som må iverksettes for å nå et mål. Enkelt og effektivt.

Men hvis du er kokk og ikke tilbereder én rett, men flere, for eksempel en salat (tilberedningen består av 3 trinn) og en dessert (som bare må serveres), så trenger du en verktøy som lar deg spore tiden brukt på hver av dem og tiden når de skal være klare. Og her kommer et av de første moderne prosjektstyringsverktøyene til unnsetning: Gantt-diagrammet, presentert på Figur 2.

Oppfunnet uavhengig av K O Rollen til Korol Adamecki og Henry L. Gantt på begynnelsen av 1900-tallet, Gantt-diagrammet viser en prosjektplan basert på slutt- og fullføringsdatoene for oppgaver. Oppgaver, deres varighet og relasjoner legges inn i den, og deretter beregnes den kritiske veien - den lengste kjeden av sammenhengende oppgaver som bestemmer varigheten av prosjektet. Forholdet mellom begynnelsen og slutten av ulike oppgaver er veldig viktige – du kan vel ikke servere suppe til gjestene dine før du har tilberedt den?

Så et typisk prosjekt er veldig likt et prosjekt med å tilberede og servere middag, bare det har mange flere oppgaver, relasjoner, tidsfrister og typer ressurser. For prosjekter med stramme tidsfrister hjelper Gantt-diagrammet å avgjøre når det er best å starte visse oppgaver for å redusere implementeringstiden. Og for prosjekter med sterke ressursbegrensninger gir Gantt-diagrammet muligheten til å bygge et diagram i form av en hendelsesdrevet prosesskjede for ressursplanlegging.

Ulike prosjekter ulike nivåer av kontroll er nødvendig. Hvis du for eksempel publiserer en serie artikler i , så er ikke strenge tidsfrister så viktig. Mye viktigere er en tydelig prosess der det er mulig å strukturere hver artikkel, lage en disposisjon av hver av dem, få tilbakemeldinger, gjøre redigeringer, fullføre artikkelen, korrekturlese og publisere. I stedet for å administrere tid og ressurser, styrer du prosessen.

For slike prosjekter er Agile prosjektledelsesmetoder og relaterte tilnærminger som Lean, Kanban og andre bedre egnet. Det finnes også metoder som lar deg administrere både arbeidsflyt, tid og ressurser – 6 Sigma og Scrum.

Populære prosjektstyringssystemer

Gjennom historien til prosjektledelse har mange forskjellige prosjektledelsesmetoder blitt laget for å passe nesten alle behov. Selv om du ikke skal sende en mann til månen og ikke har like mye ressurser, vil du fortsatt finne et passende verktøy for deg. Det viktigste er å forstå hva som er viktigst for prosjektet ditt - tidsfrister, ressurser, etterlevelse av prosessen eller flere faktorer samtidig - og deretter velge en prosjektledelsesmetode fokusert på å oppnå denne indikatoren.

Før vi ser på de mest populære metodene, la oss definere noen nøkkelbegreper.

Grunnleggende vilkår for prosjektledelse

smidig: En fleksibel iterativ-inkrementell tilnærming til prosjekt- og produktledelse, fokusert på dynamisk dannelse av krav og sikre implementering av dem som et resultat av konstant interaksjon i selvorganiserende arbeidsgrupper bestående av spesialister på ulike felt. Det er mange metoder basert på smidige ideer, de mest populære er Scrum og Kanban.

Kritisk bane: En kontinuerlig sekvens av arbeid og hendelser fra den første til den siste hendelsen, som krever størst tid for å fullføre den.

Hendelseskjede av prosesser (EPC-diagram): et diagram som viser rekkefølgen av prosjektarbeidsimplementering basert på tilgjengelighet og arbeidsmengde av ressurser

Tidsreserve: Hvor lang tid oppstarten av arbeidet kan bli forsinket uten å påvirke den totale varigheten av prosjektet. Dermed vil arbeid på den kritiske banen ha en flyte på null.

Milepæl (kontrollpunkt,milepæl): Nøkkelhendelse, som indikerer for eksempel slutten av et stadium. På et Gantt-diagram er en oppgave med en varighet på null indikert.

Prosjektleder (prosjektleder,prosjektsjefP.M. ): Prosjektleder med ansvar for prosjektledelse (planlegging, gjennomføring og avslutning av prosjektet).

Ressurser: Elementer som er nødvendige for gjennomføringen av prosjektet. Ressurser inkluderer tid, utstyr, materialer, ansatte osv.

Sprint (Sprint): En iterasjon (arbeidssyklus) i Scrum, som varer fra en uke til en måned, hvor det opprettes en fungerende versjon av et produkt eller et element av det som er av verdi for kunden.

"Klassisk" eller "tradisjonell" prosjektledelse: Den mest brukte metoden for prosjektledelse, basert på den såkalte "Waterfall" eller kaskadesyklus, der oppgaven overføres sekvensielt gjennom stadier som ligner en flyt.

Klassisk prosjektledelse

Den mest åpenbare måten å gjøre prosjektet ditt mer håndterbart på er å dele prosessen med utførelse i sekvensielle stadier. Det er på denne lineære strukturen tradisjonell prosjektledelse er basert. Slik sett ligner det et dataspill - du kan ikke gå til neste nivå uten å fullføre det forrige. Arbeidsflytdiagrammet er vist i Figur 3.

Denne tilnærmingen er fokusert på prosjekter der det er strenge restriksjoner på rekkefølgen av oppgaver. For eksempel bygge et hus - du kan ikke bygge vegger uten fundament.

Vanligvis er det 5 stadier av klassisk prosjektledelse, men flere stadier kan legges til hvis prosjektet krever det.

5 stadier av tradisjonell ledelse:

Trinn 1. Innvielse. Prosjektleder og team definerer prosjektkravene. På dette stadiet avholdes ofte møter og idédugnad for å finne ut hva prosjektproduktet skal være.

Trinn 2. Planlegging. På dette stadiet bestemmer teamet hvordan det skal nå målet satt i forrige fase. På dette stadiet avklarer og detaljerer teamet målene og resultatene for prosjektet, samt arbeidsomfanget for det. Basert på denne informasjonen lager teamet en tidsplan og budsjett, vurderer risikoer og identifiserer interessenter.

Trinn 3. Utvikling. Dette stadiet er som regel ikke implementert for alle prosjekter, det er en del av planleggingsfasen. I utviklingsfasen karakteristisk for teknologiske prosjekter, er konfigurasjonen av det fremtidige prosjektet og/eller produktet og de tekniske metodene for å oppnå det bestemt. For eksempel i IT-prosjekter velges et programmeringsspråk på dette stadiet. ( I innenlandsk praksis skilles denne fasen vanligvis ikke ut, og begrepet "utvikling" brukes ikke - ca. overs.)

Trinn 4. Implementering og testing. I denne fasen skjer selve hovedarbeidet med prosjektet - å skrive kode, reise et bygg og lignende. Etter de utarbeidede planene begynner innholdet i prosjektet, definert tidligere, å bli opprettet, og kontroll utføres i henhold til de valgte beregningene. I den andre delen av denne fasen testes produktet, det kontrolleres for samsvar med kravene til kunden og interesserte parter. Testdelen identifiserer og korrigerer produktmangler.

Trinn 5. Overvåking og gjennomføring av prosjektet. Avhengig av prosjektet kan denne fasen bestå av en enkel overføring av prosjektresultater til Kunden, eller en lang prosess med samhandling med kunder for å forbedre prosjektet og øke deres tilfredshet, og støtte prosjektresultatene. Det siste gjelder prosjekter innen kundeservice og programvare.

Det som er beskrevet ovenfor er grunnlaget for å bygge ulike metoder prosjektledelse. Ulike prosjekter krever ulike faser av gjennomføringen – noen krever tre faser, andre mye mer. Noen ganger brukes den såkalte "iterative fossen", der hvert trinn er et delprosjekt, der oppgaver implementeres i faste iterasjoner. Men essensen forblir den samme - prosjektet er delt inn i stadier som utføres i en strengt definert sekvens.

På grunn av det faktum at klassisk prosjektledelse er strengt knyttet til utførelsen av oppgaver, vanligvis forhåndsbestemt på planleggingsstadiet, er kalender- og nettverksplanleggingsverktøy utmerket for å implementere prosjekter innenfor denne tilnærmingen. Det vanligste verktøyet for planlegging og nettverksplanlegging er det tidligere nevnte Gantt-diagrammet. Det finnes mange verktøy for å bygge det – fra enkle regneark som Excel og Smartsheet til profesjonelle programvarepakker som Microsoft Project og Primavera.

Styrker klassisk prosjektledelse

I dag sies det ofte at den klassiske fossefallstilnærmingen er utdatert, men den tenker ikke på å tape terreng. Den store fordelen med denne tilnærmingen er at den krever at Kunden og bedriftsledelsen bestemmer hva de ønsker å motta allerede i første fase av prosjektet. Tidlig inkludering gir en viss stabilitet til prosjektet, og planlegging lar deg effektivisere gjennomføringen av prosjektet. I tillegg innebærer denne tilnærmingen ytelsesovervåking og testing, noe som er helt nødvendig for reelle prosjekter av ulike størrelser.

Potensielt lar den klassiske tilnærmingen deg unngå stress på grunn av tilstedeværelsen av fritid på hvert trinn, innebygd i tilfelle komplikasjoner og risikoer. I tillegg, med en riktig utført planleggingsfase, vet prosjektlederen alltid hvilke ressurser han har. Selv om denne vurderingen ikke alltid er nøyaktig.

Svakheter ved klassisk prosjektledelse

Den største svakheten ved klassisk prosjektledelse er intoleranse overfor endringer. Toyota ledelse, kjent for å skape systemer som Lean og Kanban blir ofte kritisert for at de bruker den klassiske tilnærmingen til å utvikle programvare for bedriften sin, og nettopp for mangelen på fleksibilitet.

Bærebjelken i den klassiske tilnærmingen nå er bygge- og ingeniørprosjekter, hvor innholdet i prosjektet forblir tilnærmet uendret gjennom hele prosjektet. Men hvis ressurser og tid ikke er sentrale begrensninger i prosjektet ditt, og innholdet i prosjektet kan endres, bør du kanskje se nærmere på andre prosjektstyringssystemer.

Smidig

Som nevnt tidligere kan ikke alle prosjekter struktureres på en slik måte at de kan gjennomføres med den klassiske prosjekttilnærmingen. Tilbake til eksempelet vårt med kokken: å tilberede én rett passer perfekt med «fossefall»-tilnærmingen, men å tilberede og servere en fire-retters middag i tide vil være nesten umulig hvis du må vente til én rett er ferdig hver gang for å begynne å tilberede en annen.

Og det er her Agile kommer inn i bildet – en familie av fleksible iterative-inkrementelle metoder for prosjekt- og produktstyring. I henhold til denne tilnærmingen er prosjektet ikke delt inn i sekvensielle faser, men i små delprosjekter, som deretter "settes sammen" til et ferdig produkt. Driftsdiagrammet er vist i Figur 5.

Dermed gjennomføres initiering og toppplanlegging for hele prosjektet, og påfølgende stadier: utvikling, testing og annet utføres for hvert miniprosjekt separat. Dette lar deg overføre resultatene av disse miniprosjektene, de såkalte inkrementene, raskere, og når du starter et nytt delprosjekt (iterasjon), kan du gjøre endringer i det uten høye kostnader og innvirkning på resten av prosjektet.

Til tross for at Agile har kommet på mote relativt nylig, er ikke ideen om iterativ utvikling ny. (om historien til utseendetSmidig kan leses – ca.). Familien av fleksible metodikker fikk sitt nåværende navn i 2001 med utgivelsen av Agile Manifesto, som etablerte kjerneverdiene og prinsippene for fleksibel programvareutvikling, som er basert på teamarbeid og tilpasning, til og med "kjærlighet" for endring.

Agile i seg selv er ikke en prosjektledelsesmetode. Det er snarere et sett med ideer og prinsipper for hvordan prosjekter skal gjennomføres. Basert på disse prinsippene og beste praksis, er individuelle fleksible metoder eller, som de noen ganger kalles, rammeverk utviklet: Scrum, Kanban, Crystal og mange andre. Disse metodene kan være ganske forskjellige fra hverandre, men de følger de samme prinsippene.

StyrkerSmidig

Den viktigste fordelen med Agile er fleksibiliteten og tilpasningsevnen. Den kan tilpasse seg nesten alle forhold og prosesser i organisasjonen. Dette er det som bestemmer den nåværende populariteten og hvor mange systemer for ulike felt som er opprettet på grunnlag av den.

Et av de smidige prinsippene er: "Å reagere på endringer er viktigere enn å følge en plan." Denne raske og relativt smertefrie responsen på endringer er grunnen til at mange store selskaper ønsker å gjøre prosessene sine mer fleksible. I tillegg er Agile ypperlig for åpne prosjekter, som å lansere en tjeneste eller blogg.

Agiles domene er utvikling av nye, innovative produkter. I slike produktutviklingsprosjekter er det høy grad av usikkerhet, og informasjon om produktet avsløres etter hvert som prosjektet skrider frem. Under slike forhold blir det umulig å implementere et "fossefall" -prosjekt - det er ingen informasjon for planlegging.

Svake siderSmidig

I motsetning til PRINCE2 og PMBOK, er Agile verken en metodikk eller en standard. Agile er et sett med prinsipper og verdier. Svakheten er at hvert team selvstendig må lage sitt eget styringssystem, styrt av smidige prinsipper. Dette er en kompleks og langvarig prosess som vil kreve endringer i hele organisasjonen, fra prosedyrer til kjerneverdier. Dette er en vanskelig vei, og ikke alle organisasjoner kan gjøre det.

Denne veien vil kreve fra lederen for endring, ikke bare kunnskap og utholdenhet, men også seriøse administrative ressurser, så vel som kostnader. Heldigvis finnes det ferdige sett med praksis som gjør smidig transformasjon av en organisasjon enklere. Slike sett inkluderer Scrum-rammeverket, Kanban-metoden og mange andre - Crystal, LeSS, SAFe, Nexus.

Scrum

Agile-rammeverket ble opprettet i 1986 og regnes som det mest strukturerte i Agile-familien. Opprettet i 1986, kombinerer den elementer fra den klassiske prosessen og ideene om en smidig tilnærming til prosjektledelse. Resultatet ble en veldig balansert kombinasjon av fleksibilitet og struktur.

Etter forskriftene til Agile deler Scrum prosjektet inn i deler som umiddelbart kan brukes av kunden for å oppnå verdi, kalt produktbacklog. Og til tross for at "produktetterslep" er en ganske korrekt oversettelse og brukes i faglitteratur, brukes i russisk praksis ganske enkelt "etterslep" oftest. Deretter blir disse delene prioritert av Produkteieren – Kundens representant i teamet. De viktigste "brikkene" er de første som blir valgt ut for utførelse i en Sprint - dette er hva iterasjoner i Scrum kalles, som varer fra 2 til 4 uker. På slutten av sprinten får kunden et arbeidstilvekst av produktet - de svært viktige "delene" som allerede kan brukes. For eksempel et nettsted med en del av funksjonaliteten eller et program som allerede fungerer, om enn delvis. Etter dette starter prosjektgruppen neste Sprint. Sprintets varighet er fast, men teamet velger den selvstendig i starten av prosjektet, basert på prosjektet og egen ytelse.

For å sikre at prosjektet oppfyller Kundens krav, som har en tendens til å endre seg over tid, før starten av hver Sprint, revurderes det uoppfylte prosjektinnholdet og det gjøres endringer i det. Alle deltar i denne prosessen - prosjektteamet, Scrum Masteren (Scrum Master, prosjektteamleder) og Product Owner. Og ansvaret for denne prosessen ligger hos alle.

Som allerede nevnt er Produkteieren Kundens representant i prosjektet, eller representerer alle kunder til det fremtidige prosjektet dersom det ikke er en Kunde. For å gjøre dette må han kjenne deres behov og tenkemåte grundig, samt forstå produktet og dets produksjonsteknologi. Scrum Master er designet for å hjelpe prosjektdeltakere til å bedre forstå og akseptere verdiene, prinsippene og normene for Scrum-praksis. Han er en leder og formidler mellom omverdenen og teamet. Hans oppgave er å sikre at ingen forstyrrer teamets evne til selvstendig og komfortabelt å jobbe med de tildelte oppgavene. Teamet er ansvarlig for at alle nødvendige oppgaver på slutten av sprinten er utført og leveranser fullført.

Grunnstrukturen i Scrum-prosesser dreier seg om 5 hovedmøter: backlog-justering, Sprint-planlegging, daglige stand-up-møter, Sprint-avslutning og Sprint-retrospektiv.

For mange kan Scrum virke vanskelig å implementere – en ny prosess, nye roller, mye delegering og en helt ny organisasjonsstruktur. Men dette er en fleksibel og samtidig strukturert tilnærming til prosjektgjennomføring, som i motsetning til vag og generelle prinsipper Agile vil ikke tillate at arbeidet går i feil retning.

StyrkerScrum

Scrum ble utviklet for prosjekter som krever «quick wins» kombinert med toleranse for endring. I tillegg er dette rammeverket egnet for situasjoner der ikke alle teammedlemmene har tilstrekkelig erfaring i området der prosjektet gjennomføres - konstant kommunikasjon mellom teammedlemmer gjør at mangelen på erfaring eller kvalifikasjoner hos noen ansatte kan dra nytte av informasjon og hjelp fra kollegaer.

Nett-TV-kanalen Netflix er et utmerket eksempel på rask levering av resultater. Ressursnettstedet oppdateres annenhver uke takket være Scrum, som ikke bare lar deg jobbe med høy hastighet, men akkumulerer også brukererfaring og gjør det mulig å identifisere hva som er viktigst for kundene.

Under hver iterasjon legger utviklere til og tester nye nettstedsfunksjoner og fjerner de som ikke ble brukt av kundene. I følge Netflix-teamet er hovedfordelen med Scrum at det lar deg "mislykkes raskt." I stedet for å ta lang tid og med store bekostninger å forberede en stor utgivelse, er Scrum-leveringene hver annen uke små i størrelse. De er enkle å spore og, hvis noe går galt, raskt korrigert.

Svake siderScrum

Scrum er svært krevende av prosjektteamet. Den skal være liten (5-9 personer) og tverrfunksjonell - det vil si at teammedlemmer bør ha mer enn én kompetanse som er nødvendig for å gjennomføre prosjektet. For eksempel må en programvareutvikler ha kunnskap om testing og forretningsanalyse. Dette gjøres for at en del av laget ikke skal «stå uvirksomt» for ulike stadier prosjekt, og også slik at ansatte kan hjelpe og erstatte hverandre.

I tillegg skal lagmedlemmer være «lagspillere», aktivt ta ansvar og kunne organisere seg. Å finne et så modent lag er veldig vanskelig!

Scrum er ikke egnet for alle lag og organisasjoner også fordi den foreslåtte prosessen kanskje ikke er egnet for å utvikle et spesifikt produkt - for eksempel en industrimaskin eller å bygge en bygning.

Lene seg

Agile forteller oss å dele opp arbeidet i små, håndterbare pakker, men det forteller oss ikke hvordan vi skal administrere utviklingen av den pakken. Scrum tilbyr oss sine prosesser og prosedyrer. Lean legger på sin side til et arbeidsflytdiagram til Agile-prinsippene for å sikre at hver iterasjon fullføres med samme kvalitet.

I Lean, som i Scrum, er arbeidet brutt ned i små leveringspakker som implementeres separat og uavhengig. Men i Lean er det en arbeidsflyt for å utvikle hver leveringspakke, med trinn som ligner på de som er laget for Project Apollo. Som i klassisk prosjektledelse kan dette være stadier av planlegging, utvikling, produksjon, testing og levering - eller andre stadier som er nødvendige for gjennomføring av prosjekter av høy kvalitet.

Lean-faser og deres fleksibilitet lar deg være sikker på at hver del av prosjektet implementeres etter behov. Lean har ikke klare grenser for etapper, da Scrum ikke har Sprint-grenser. I tillegg, i motsetning til klassisk prosjektledelse, lar Lean deg utføre flere oppgaver parallelt på ulike stadier, noe som øker fleksibiliteten og øker hastigheten på prosjektgjennomføringen.

Som Agile er Lean mer et konsept, en måte å tenke på, snarere enn noe hugget i stein. Ved å bruke Lean-ideer kan du selvstendig lage et system som oppfyller dine prosjektledelseskrav.

StyrkerLene seg

Hvis du liker ideene til Agile, men prosjektet krever veldig jevn kvalitet og presis utførelse, tilbyr Lean et sett med verktøy for å tilfredsstille disse kravene. Lean kombinerer fleksibilitet og struktur som Scrum, men på en litt annen måte.

Svake siderLene seg

Ikke alle deler av prosjektet krever like detaljerte og grundige studier og oppmerksomhet. Men Lean antar akkurat denne tilnærmingen til hver oppgave og trinn. Dette er den største ulempen ved å bruke Lean til store og heterogene prosjekter.

I motsetning til Scrum tilbyr ikke Lean en klar arbeidsflyt for implementering av "biter" av prosjektet, noe som bidrar til å utvide prosjekttidslinjen. Dette problemet kan løses med effektiv ledelse og tydelig kommunikasjon - det viktigste å huske er dette.

Kanban

Lean ser litt abstrakt ut alene, men kombinert med Kanban blir det mye enklere å bruke for å bygge ditt eget prosjektstyringssystem. Kanban ble opprettet av Toyota-ingeniøren Taiichi Ono i 1953, og ligner veldig på et flytskjema for industriell produksjon. Ved inngangen til denne prosessen kommer et metallstykke inn, og ved utgangen oppnås en ferdig del. Også i Kanban sendes en inkrement av et produkt videre fra trinn til trinn, og på slutten er det en klar til levering.

I tillegg ble skaperen av Kanban inspirert av supermarkeder, nemlig deres prinsipp - "behold bare det kunden trenger i hyllene." Derfor lar Kanban deg forlate en uferdig oppgave på et av stadiene hvis prioriteringen har endret seg og det er andre presserende oppgaver. En uredigert artikkel for en blogg, et innlegg uten publiseringsdato eller en kode for en funksjon som kanskje ikke er inkludert i produktet, er alle normale for Kanban-arbeid.

Kanban er mye mindre streng enn Scrum - det begrenser ikke tiden for sprint, det er ingen roller, med unntak av produktets eier. Kanban lar til og med et teammedlem administrere flere oppgaver samtidig, noe Scrum ikke tillater. Møter om statusen til prosjektet er heller ikke regulert på noen måte - du kan gjøre det når det passer deg, eller du kan ikke gjøre det i det hele tatt.

For å jobbe med Kanban må du definere stadiene i arbeidsflyten. I Kanban er de avbildet som kolonner, og oppgaver er representert med spesielle kort. Kortet beveger seg gjennom stadier, som en del i en fabrikk som beveger seg fra maskin til maskin, og på hvert trinn blir fullføringsgraden høyere. Som et resultat mottar vi et produktelement klart for levering til kunden. En tavle med kolonner og kort kan enten være ekte eller elektronisk – selv her legger ikke Kanban noen begrensninger på brukerne.

Ditt eget Kanban-system kan være så fleksibelt som du ønsker det skal være - på mange måter er Kanban en visualisering av ideen om Agile. Men Kanban har 4 søyler som hele systemet hviler på:

  1. Kort: For hver oppgave opprettes det et individuelt kort der all nødvendig informasjon om oppgaven legges inn. Altså alle nødvendig informasjon oppgaven er alltid for hånden.
  2. Begrensning på antall oppgaver per trinn: Antall kort på ett trinn er strengt regulert. Takket være dette blir det umiddelbart klart når en "stopp" oppstår i flyten av operasjoner, som umiddelbart elimineres.
  3. Kontinuerlig flyt: Backlog-oppgaver legges til flyten i prioritert rekkefølge. Så arbeidet stopper aldri.
  4. Kontinuerlig forbedring (Kaizen)kaizen)): Konseptet med kontinuerlig forbedring dukket opp i Japan på slutten av 1900-tallet. Dens essens er den konstante analysen av produksjonsprosessen og søket etter måter å forbedre produktiviteten på.

StyrkerKanban

I likhet med Scrum egner Kanban seg godt for ganske samstemte team med god kommunikasjon. Men i motsetning til Scrum har ikke Kanban strenge tidsfrister, noe som er bra for motiverte og erfarne lag.

riktig innstilling og ledelse, kan Kanban være til stor nytte for et prosjektteam. Nøyaktig beregning av arbeidsbelastningen på teamet, riktig plassering av restriksjoner og konsentrasjon om kontinuerlig forbedring - alt dette gjør at Kanban seriøst kan spare ressurser og overholde tidsfrister og budsjetter. Og alt dette kombinert med fleksibilitet.

Svake siderKanban

Du kan ofte høre at Kanban, i motsetning til Scrum, lar deg jobbe med nesten alle lag. Men det er ikke slik. Kanban er best egnet for lag hvis medlemmers ferdigheter overlapper hverandre. På denne måten kan de hjelpe hverandre med å overvinne problemer med å løse problemer. Uten dette vil ikke Kanban være så effektiv som den kunne vært. Også, som allerede nevnt, er Kanban bedre egnet i tilfeller der det ikke er noen harde tidsfrister. For stramme tidsfrister er den klassiske tilnærmingen eller Scrum bedre.

6 Sigma (Six Sigma)

Motorola, sammen med Toyota, bidro også til utviklingen av global prosjektledelse. Selskapets ingeniør, Bill Smith, skapte konseptet med 6 Sigma i 1986. Dette er en mer strukturert versjon av Lean enn Kanban, som legger til mer planlegging for å spare ressurser, forbedre kvaliteten og også redusere antall defekter og problemer.

Det endelige målet med prosjektet er kundetilfredshet med kvaliteten på produktet, som kan oppnås gjennom en kontinuerlig prosess med forbedring av alle aspekter av prosjektet, basert på en grundig analyse av indikatorer. 6 Sigma-konseptet legger spesiell vekt på å eliminere nye problemer.

En 5-trinns prosess kjent som DMEDI er foreslått for dette:

  • Definisjon (Definere): Den første fasen er veldig lik de tidlige stadiene av andre prosjektstyringssystemer. Den bestemmer innholdet i prosjektet, samler inn informasjon om prosjektets forutsetninger og setter mål.
  • Måling (Måle): 6 Sigma er fokusert på å samle inn og analysere kvantitative data om et prosjekt. På dette stadiet bestemmes det hvilke indikatorer som vil avgjøre suksessen til prosjektet og hvilke data som må samles inn og analyseres.
  • Studere (Utforske): I løpet av forskningsfasen bestemmer prosjektlederen hvordan teamet kan nå sine mål og oppfylle alle krav i tide og innenfor budsjett. På dette stadiet er det svært viktig for prosjektlederen å tenke utenfor boksen når de løser problemer som oppstår.
  • Utvikling (Utvikle): På dette stadiet iverksettes planer og vedtak gjort på tidligere stadier. Det er viktig å forstå at du på dette stadiet trenger en detaljert plan som beskriver alle handlingene som er nødvendige for å nå målene dine. Også på dette stadiet måles fremdriften til prosjektet.
  • Kontroll (Kontroll): Nøkkeltrinn i 6 Sigma-metodikken. Hovedoppgaven er langsiktig forbedring av prosjektgjennomføringsprosesser. Dette stadiet krever nøye dokumentasjon av lærdom, analyse av innsamlet data og anvendelse av ervervet kunnskap både i prosjekter og i hele selskapet som helhet.

6 Sigma er veldig lik Kanban, bare med etablerte stadier av oppgaveimplementering - planlegging, målsetting og kvalitetstesting. Mest sannsynlig vil det være betydelig flere teammøter ved bruk av 6 Sigma enn ved bruk av Kanban, men prosjektgjennomføringsprosessen er mer strukturert og det er vanskeligere for teamet å komme på avveie. Og, som Kanban, kan 6 Sigma relativt enkelt tilpasses behovene til et spesifikt selskap eller team. Et strengt krav er kun nøye måling og kontroll av prosjektindikatorer på gjennomføringsstadiene – uten dette er kontinuerlig langsiktig forbedring av prosjektgjennomføringsprosesser umulig.

Styrken til 6 Sigma

6 Sigma-konseptet gir klare rammer for prosjektgjennomføring og kontinuerlig prosessforbedring. Ved å definere mål, deretter nøye analysere og revidere dem, får du kvantitative data for å bedre forstå prosjektet og ta bedre beslutninger. Selv om det kan ta litt tid å samle inn, analysere data og trekke lærdommer, vil det forbedre og optimalisere prosjektgjennomføringsprosesser og dermed spare ressurser i fremtiden.

6 Sigma egner seg for vanskelige prosjekter som involverer mange nye og komplekse aktiviteter. Denne tilnærmingen lar deg implementere prosjektelementer, lære av feil og forbedre kvaliteten i fremtiden.

Svakhetene til 6 Sigma

Problemet med 6 Sigma er at selv om hovedmålet er å redusere kostnader og øke effektiviteten, kommer kundetilfredsheten ofte i forgrunnen. Gitt noen forskjeller i mål på ulike stadier av prosjektet, ender team ofte opp med forvirring om prioriteringer, og dette er ikke lett å unngå.

I tillegg er hovedledemotivet til 6 Sigma: "Alt kan alltid gjøres enda bedre." Dette kan demotivere ansatte som ikke føler seg fornøyde med arbeidet sitt. I tillegg, hvis prosjektet er et engangsprosjekt og selskapet ikke planlegger å gjennomføre lignende prosjekter i fremtiden, kan alle kostnadene ved analyse og læring være forgjeves.

PRINS2

NASA er ikke den eneste statlige organisasjonen som har bidratt til utviklingen av prosjektledelse. Den britiske regjeringen har lenge satt pris på effektiviteten av prosjektledelse, og i 1989 ble den britiske PRINCE2-metoden opprettet. Navnet kommer fra akronymet " PR gjenstander I C kontrollert E miljøversjon 2 ”, som kan oversettes til “Prosjekter i et kontrollert miljø versjon 2”. I motsetning til smidige metoder, tar ikke PRINCE2 en iterativ tilnærming til et prosjekt. Hvis PRINCE2 sammenlignes med andre produkter, kan det sammenlignes med en hybrid av den klassiske tilnærmingen til prosjektledelse og fokus på kvalitet fra 6 Sigma.

PRINCE2-metodikken, i motsetning til for eksempel PMBOK-kunnskapen, inneholder ikke:

  • Spesialiserte aspekter ved prosjektledelse, for eksempel bransjespesifikke;
  • Spesifikke prosjektledelsespraksiser og verktøy, som Gantt-diagram, WBS, etc.

PRINCE2 fokuserer på ledelsesaspektene ved prosjektet, uttrykt i 7 prinsipper, 7 prosesser og 7 prosjekttemaer.

  • 7 prinsipper definerer de generelle reglene for prosjektledelse i henhold til PRINCE2, definerer grunnlaget for metodikken;
  • 7 prosesser definerer trinnene for å komme videre gjennom prosjektsyklusen;
  • 7 emner - aspekter som overvåkes for å oppnå prosjektsuksess.

I begynnelsen av et prosjekt ber PRINCE2 oss om å definere 3 hovedaspekter ved prosjektet:

  • Forretningsaspekt (vil dette prosjektet gi fordeler?)
  • Forbrukeraspekt (Hvilket produkt er nødvendig, hva skal vi gjøre?)
  • Ressursaspekt (Har vi nok til å nå målet vårt?)

PRINCE2 har en mer tydelig definert prosjektgruppestruktur enn de fleste prosjektledelsesmetoder. Dette skyldes at PRINCE2 er fokusert på storstilte statlige prosjekter og store organisasjoner.

I følge PRINCE2 har hvert teammedlem en klar rolle i hver av 7 prosesser:

  • Start av prosjektet (Starting oppen prosjekt): I løpet av denne prosessen utnevnes en prosjektleder og overordnede produktytelseskrav fastsettes. Prosjektlederen, hvis primære fokus er oppmerksomhet på detaljer, rapporterer til Project Steering Committee, som er ansvarlig for den overordnede ledelsen av prosjektet. Det er styringskomiteen som sørger for at prosjektet holder seg på rett spor og er til syvende og sist ansvarlig for at prosjektet lykkes.
  • Prosjekt igangsettelseen prosjekt): I løpet av denne prosessen skriver prosjektlederen et "Prosjektinitieringsdokument", som inneholder en trinnvis plan for prosjektet. Stadier kan vare forskjellige mengder tid, men som i den klassiske tilnærmingen følger de strengt etter hverandre.
  • Prosjektledelse (Directing en prosjekt): Denne prosessen gjør at styringskomiteen kan ta det overordnede ansvaret for prosjektets suksess uten å sette seg fast i detaljer som er innenfor prosjektlederens virkeområde.
  • Scenekontrollling en scene): Under gjennomføringen av prosjektet, selv i ideelle forhold, vil visse endringer bli gjort. Stage Control-prosessen implementerer ett av PRINCE2-prinsippene - prinsippet om ledelse ved unntak. Det er prosjektlederens ansvar å overvåke avvik fra prosjektets planlagte parametere når det gjelder timing, innhold, budsjett etc. under gjennomføringen av etappen Utvalg (i PRINCE2-terminologi - toleranser), prosjektleder er forpliktet til å informere styringskomiteen og foreslå veier ut av situasjonen.
  • Produktopprettingsledelse (Administrere Produkt Leveranse): Ledelsesprosessen for produktoppretting er samspillet mellom prosjektlederen og teamlederen for å lage et av prosjektproduktene. Prosjektlederens ansvar i denne prosessen inkluderer å delegere myndighet til å lage produktet til teamlederen og akseptere det opprettede produktet.
  • Stage Boundary Management (Managing en scene grense): I løpet av denne prosessen gir prosjektlederen styringskomiteen med alle nødvendig informasjonå evaluere resultatene av det beståtte trinnet og ta en beslutning om å gå videre til neste trinn.
  • Fullføring av prosjektet (avslutningen prosjekt): En av forskjellene mellom PRINCE2 er at prosessen med å fullføre et prosjekt ikke er delt inn i en egen fase eller fase, som i den klassiske tilnærmingen, men utføres som en del av sluttfasen av produktskaping. Formålet med prosessen er å bekrefte at prosjektets produkt er akseptert eller at prosjektet ikke lenger kan gi noe nyttig.

PRINCE2 kan tilpasses for prosjekter av enhver størrelse og ethvert fagområde. Metodikken gir spesifikke anbefalinger for å endre prosjektets livssyklus, forbilde og et sett med obligatoriske dokumenter i samsvar med prosjektets behov.

Styrkene til PRINCE2

  • Tilpasningsevne til organisasjonens egenskaper;
  • Tilgjengelighet av en tydelig rollebeskrivelse og ansvarsfordeling;
  • Fokus på prosjektprodukter;
  • Visse nivåer av ledelse;
  • Fokus på økonomisk gjennomførbarhet;
  • Etterfølge prosjekt arbeid;
  • Vekt på erfaringsfangst og kontinuerlig forbedring.

Svakhetene til PRINCE2

  • Mangel på bransjepraksis;
  • Mangel på spesifikke verktøy for å jobbe i prosjektet.

Det beste prosjektstyringssystemet... for deg!

Prosjektledelse er en vitenskap, men det er ikke en eksakt vitenskap. Det finnes ingen urokkelige grunnlag eller universelle løsninger på dette området. Hvis du klarer å finne en metode som er ideell for prosjektet ditt, bør du vurdere deg selv som veldig heldig, fordi de fleste mindre heldige ledere må anstrenge seg for å lage og konfigurere sine egne prosjektstyringssystemer. Disse systemene kan være sammensatt av elementer eksisterende systemer eller til og med opprettet helt fra bunnen av, som i tilfellet med Apollo-oppdraget. Det viktigste er å bruke noe som vil gi deg i det minste litt struktur og som lar deg huske hva som er viktig for prosjektet ditt.

Denne veiledningen for programvareutviklere og testere vil hjelpe deg å forstå og komme i gang med den smidige SCRUM-metodikken.

Lær de grunnleggende, men viktige begrepene som brukes i Agile Scrum-prosessen sammen med et virkelighetseksempel på hele prosessen.

SCRUM er en smidig prosess som er en kombinasjon av iterative og inkrementelle modeller.

En av hovedulempene med den tradisjonelle fossefallsmodellen er at inntil den første etappen er fullført, flyttes ikke søknaden til en annen fase. Hvis det skjer at det er noen endringer på et senere stadium av syklusen, vil det være svært vanskelig å gjennomføre disse endringene, siden det vil innebære å revidere de tidligere stadiene og gjøre endringene på nytt.

Noen av nøkkelfunksjonene til SCRUM er:

  • Organisert og målrettet team
  • Det er ingen dokumentkrav, det er nok å ha nøyaktige tekster til sak.
  • Det funksjonelle teamet fungerer som en enhet.
  • Nær kontakt med brukeren, hjelper til med å forstå funksjonene.
  • Det er en presis tidsakse på maksimalt 1 måned.
  • I stedet for å gjøre alt på en gang, gjør Scrum litt av alt over en gitt tidsperiode.
  • Før du gjør noe, vurderes egenskapene og tilgjengeligheten til ressursene.

For å forstå denne metodikken godt, er det viktig å forstå nøkkelbegrepene til SCRUM.

Viktige SCRUM-vilkår:

1. Scrum team

Et Scrum-team er et team på 7 +/- 2 medlemmer. Teammedlemmer er en blanding av kompetente utviklere, testere, databasefolk, støtteoperatører, etc., samt produkteier og scrummaster. Alle disse personene jobber tett sammen over en gitt rekursiv periode for å utvikle og utføre de spesifiserte funksjonene.

2. Sprint

En sprint er en standard tidsperiode der arbeidet må være fullført og klart for gjennomgang eller produktutgivelse. Vanligvis varer denne perioden fra to uker til en måned. Når vi sier at vi kjører 1 sprint i måneden, betyr det at vi jobber en måned med oppgaver og forbereder dem til gjennomgang innen slutten av den måneden.

3. Produkteier

Produkteieren er hovedselgeren eller hovedbrukeren av applikasjonen som utvikles.

Produkteieren er personen som representerer kundesiden. Han/hun har den endelige myndighet og skal alltid være tilgjengelig for laget. Han/hun må være tilgjengelig når noen trenger noe forklart. Det er viktig for produkteier å forstå og ikke stille nye krav midt i sprinten eller når den allerede har startet.

4. Scrum master

Scrum Master er koordinator for Scrum-teamet. Han/hun sørger for at scrum-teamet er produktivt og progressivt. I tilfelle forstyrrelser finner og løser Scrum Master det for teamet.

5. Brukerhistorie

Brukerhistorier er krav eller funksjoner som må fullføres. I scrum har vi ikke disse store kravdokumentene, tvert imot er kravene oppgitt i ett avsnitt, vanligvis i dette formatet:

Hvordan<тип пользователя>

Jeg ønsker<доступная цель>

for prestasjon<результат/причина>

For eksempel:

Som administrator ønsker jeg å kunne låse et passord for å begrense uautorisert tilgang i tilfelle brukeren skriver inn feil passord 3 ganger på rad.

Det er noen kjennetegn ved brukerhistorier som må følges. Brukerhistorier bør være konsise, realistiske, muligens vurderende, fullstendige, omsettelige og testbare.

Hver brukerhistorie har et akseptkriterium som må være klart definert og forstått av teamet. Akseptkriterier beskriver brukerhistorier i detalj og gir støttede dokumenter. Dette gjør at brukerhistorier kan være detaljerte. Ethvert teammedlem kan skrive ned akseptkriterier. Verifikasjonsteamet baserer sine testtilfeller/betingelser på disse kriteriene.

6. «Epos»

Epos er vage brukerhistorier. Eller vi kan si at dette er brukerhistorier som ikke er definert og lagres for fremtidige sprints. Bare prøv å koble dette med livet, tenk at du skal på ferie. Siden du reiser neste uke, har du alt planlagt: hotellreservasjoner, sightseeing, reisebagen pakket osv. Men hva med ferien neste år? Du har bare en vag idé om at du kan gå til XYZ-stedet, men du har ingen detaljert plan.

"Epic" er som ferien neste år: du vet at du kan dra, men hvor, når og med hvem - det er ingen tanker om denne saken ennå.

På samme måte er det funksjoner som bør implementeres i fremtiden, men detaljene deres er ennå ikke kjent. Vanligvis starter en mulighet med et "epos" og brytes deretter ned i historier som kan realiseres.

7. Produktønskelogg

En produktønskelogg er et slags segment eller kilde hvor alle brukerhistorier er lagret. Det vedlikeholdes av produktets eier. En produktønskelogg kan tenkes som en ønskeliste fra vareeieren, som prioriterer den etter bedriftens behov. Under planleggingen (se neste avsnitt), er en av brukerhistoriene hentet fra backlog, teamet begynner å brainstorme, konseptualisere, avgrense og i fellesskap bestemme (med innspill fra produktets eier) hvilken brukerhistorie som skal aksepteres.

8. Sprint-etterslep

Én brukerhistorie tas om gangen fra produktønskeloggen. Scrum-teamet brainstormer, bestemmer gjennomførbarhet og bestemmer hvilken historie de skal jobbe med i løpet av en gitt sprint. Den samlede listen over alle brukerhistoriene som et Scrum-team jobber med i løpet av en gitt sprint kalles sprintbacklog.

9. Poeng for brukerhistorie:

Disse punktene er en numerisk representasjon av kompleksiteten til brukerhistorien. Basert på disse poengsummene bestemmes poengsummen og arbeidsmengden for én historie. Poeng er ikke absolutte, de er relative. For å sikre at vår innsats og estimater stemmer, må vi sjekke om brukerhistoriene er store. Jo mindre og tydeligere brukerhistorien er, desto mer nøyaktig blir estimatet.

Hver brukerhistorie er tildelt en Fibonacci-poengsum (1, 2, 3, 5, 8, 13, 21). Jo høyere tall, jo mer kompleks er historien.

For å være mer presis, da

  • Hvis du satser 1/2/3 poeng, betyr det at historien er kort og har lav vanskelighetsgrad.
  • Gir du 5/8 poeng så er det middels vanskelighetsgrad og
  • 13 og 21 poeng – historien er veldig komplisert.

Vanskeligheten her ligger i utviklingen og mengden testarbeid

For å bestemme hvor mange poeng som skal gis, starter Scrum-teamet idédugnad og bestemmer kollektivt. Det kan hende at utviklingsteamet vil gi en spesifikk historie 3 poeng fordi for dem kan det være 3 linjer med erstatningskode, men testteamet vil gi 8 poeng fordi de føler at denne kodeerstatningen vil ha større innvirkning på moduler, så mengden arbeid vil det være mer under testing. Men uansett hvor mange poeng du gir, må du begrunne avgjørelsen din. Dermed oppstår en idédugnad og teamet bestemmer hvor mange poeng som skal settes.

Når du bestemmer deg for hvor mange poeng du skal satse, bør du vurdere følgende faktorer:

  • Historiens forhold til andre applikasjoner/moduler,
  • Ressursferdighetssett
  • Historiens kompleksitet
  • Narrativ læring,
  • Akseptkriterier for brukerhistorie

Hvis du ikke er klar over en spesifikk historie, ikke endre størrelsen på den.
Hvis du ser at en histories poengsum er veldig høy, kan du dele den opp i mindre historier.

10. Oppgavenedbrenningsdiagram

Et oppgavenedbrenningsdiagram representerer en graf som viser estimert v/s av den faktiske innsatsen til scrum-oppgaver.

Dette er en sporingsmekanisme for en bestemt sprint. Daglige oppgaver spores for å sjekke om historier går mot ferdigstillelse eller ikke.

Eksempel: For å forstå dette, se på bildet:

Jeg velger:

  • To ukers sprint (10 dager)
  • 2 ressurser til selve sprintenarbeidet.

"Historie" -> kolonnen viser brukerhistoriene tatt for sprinten. "Oppgave" -> kolonnen viser en liste over oppgaver knyttet til brukerhistorier.

"Arbeidsomfang" -> kolonnen viser mengden arbeid. Dette tiltaket er nå den totale mengden arbeid for å fullføre oppgaven. Den skildrer ikke mengden arbeid til noen bestemt person.

“Dag 1 – dag 10”->– kolonne(r) viser tiden som gjenstår til slutten av historien. Vær oppmerksom på at dette IKKE er tid som allerede har gått, MEN tid som fortsatt gjenstår.

"Estimert mengde arbeid" -> indikator for den totale mengden arbeid. For "Start" er dette ganske enkelt summen av hele oppgaven: SUM (C5:C15)

Den totale mengden arbeid som skal fullføres på 1 dag er 70 / 10 = 7. Ved slutten av den første dagen bør arbeidsmengden derfor reduseres til 70-7 = 63. På samme måte beregnes dette for alle dager frem til den 10., når estimert arbeidsmengde må være null (linje 16)

"Gjenstående arbeid" -> Som navnet antyder, er dette mengden arbeid som gjenstår før historien er fullført. Det kan også skje at den faktiske arbeidsmengden blir mer eller mindre enn forventet.

Du kan bruke funksjoner og diagrammer i Excel for å lage dette oppgavenedbrenningsdiagrammet.

Faser i diagrammet for oppgavenedbrenning:

  1. Skriv inn alle historier (kolonne A5 – A15)
  2. Skriv inn alle oppgaver (kolonne B5-B15)
  3. Angi dager (dag 1 – dag 10)
  4. Angi den opprinnelige mengden arbeid (sum opp oppgavene C5-C15)
  5. Bruk formelen for å beregne "estimert arbeidsmengde" for hver dag (fra dag 1 til dag 10). Skriv inn formelen i D15 (c16-$C$ 16/10) og dra den til alle dager.
  6. For hver dag, skriv inn den faktiske mengden arbeid. Skriv inn en formel i D17 (SUM (D5:D15)) for å summere gjenværende arbeidsmengde og dra den til alle andre dager.
  7. Velg dette og lag et diagram som dette:

11. Lagfart

Det totale antallet poeng et scrum-team lagrer i en sprint kalles teamhastighet. Et Scrum-team bedømmes etter hastighet. Det skal sies at det bør huskes på at å oppnå maksimalt antall poeng IKKE er målet her, men god kvalitet resultater, øker komfortnivået til Scrum-teamet.

For eksempel: For en spesifikk sprint: det totale antallet brukerhistorier er 8. Hver av dem har et visst antall poeng

Dermed er hastigheten summen av poeng = 30

12. Definisjon av "klar":

Historie lages i Scrum først når det er utvikling, full kvalitetssikring og mulighet for å komme i produksjon.

Aktiviteter i SCRUM:

#1: Planleggingsmøte

Planleggingsmøtet er utgangspunktet for SCRUM. Dette er et møte hvor hele Scrum-teamet samles. Produkteieren velger brukerhistorier fra produktbacklog basert på prioritet, og teamet begynner idédugnaden. Under diskusjonen bestemmer Scrum-teamet kompleksiteten til historien og måler den i henhold til Fibonacci-serien. Teamet definerer oppgavene samt mengden arbeid (i timer) som kan gjøres for å fullføre implementeringen av brukerhistorien.

"Møteforhåndsplanlegging" går foran møtet. Dette er som leksene som et Scrum-team gjør før de møtes til et formelt planleggingsmøte. Teamet prøver å skrive ned avhengigheter eller andre faktorer som de ønsker å diskutere i møtet.

#2: Fullføre sprintmål

Som navnet antyder, er det Scrum-teamets jobb å fullføre oppgaven sin og flytte brukerhistorien til "ferdig"-status.

#3: Daglig Scrum-møte (samtale)

I løpet av sprintsyklusen møtes scrum-teamet hver dag i ikke mer enn 15 minutter (dette kan være en samtale, som anbefales på begynnelsen av dagen). Tre spørsmål stilles på møtet:

  1. Hva har teammedlemmet gjort siden forrige møte?
  2. Hva planlegger teammedlemmet å gjøre i dag?
  3. Er det noen hindringer for laget?

Scrum Master jobber for å løse disse problemene. Hvis en deltaker støter på noen form for vanskeligheter, hjelper Scrum-mesteren med å løse dem.

#4: Gjennomgang av resultater

På slutten av hver sprintsyklus møtes SCRUM-teamet igjen og demonstrerer implementeringen av brukerhistorier for produkteieren. Produkteieren kan samle historiene i henhold til deres akseptkriterier. Det er igjen Scrum Masters ansvar å lede dette møtet.

#5: Retrospektivt møte

Et retrospektivt møte skjer etter gjennomgang av resultatene. SCRUM-teamet samler, diskuterer og dokumenterer følgende punkter:

  1. Hva gikk bra i forrige sprint (beste praksis)
  2. Det som ikke ble gjort veldig bra
  3. Lærdom
  4. Handlingselementer.

Scrum-teamet må fortsette å følge beste praksis, ignorere «dårlig praksis» og implementere lærdom i påfølgende spurter. Et retrospektivt møte bidrar til å kontinuerlig forbedre SCRUM-prosessen.

Hvordan utføres prosessen? Eksempel!

Etter å ha lest om de tekniske sjargongene til SCRUM, la meg prøve å demonstrere hele prosessen med et eksempel.

Trinn 1: La oss forestille oss et SCRUM-team på 9 personer, bestående av 1 eier, 1 Scrum-master, 2 testere, 4 utviklere og 1 databaseadministrator.

Steg 2: En sprintsyklus, for eksempel, vil vare i 4 uker. Så vi har en 1-måneders sprint: fra 5. juni til 4. juli.

Trinn #3: Produkteieren har en prioritert liste over brukerhistorier i Product Backlog.

  • Produkteieren tar 1 historie fra produktønskelisten, beskriver den og sender den videre til teamet for idédugnad.
  • Hele teamet diskuterer og går direkte til produktets eier for å forklare brukerhistorien i detalj.
  • Andre brukerhistorier aksepteres på samme måte. Om mulig kan teamet fortsette og også måle historiene.

Etter diskusjonen går teammedlemmene tilbake til arbeidsplassene sine og

  • De definerer sine individuelle oppgaver for hver historie.
  • Beregn nøyaktig hvor lang tid de trenger for å jobbe. Hvordan regner deltakeren denne tiden? La oss sjekke:

Total arbeidstid = 9

Minus 1 time for pause, minus 1 time for møter, minus 1 time for e-poster, diskusjoner, feilsøking osv.
Så faktisk arbeidstid = 6

Totalt antall arbeidsdager i løpet av sprinten = 21 dager.
Totale tilgjengelige timer = 21 * 6 = 126

Medlemmet er på ferie 2 dager = 12 timer (dette varierer for hvert medlem, noen kan ta ferie, noen kan ikke.)
Antall faktiske timer = 126-12 = 114 timer.

Dette betyr at deltakeren typisk vil være tilgjengelig i 114 timer i løpet av denne sprinten. Derfor vil han dele opp sin individuelle sprintoppgave på en slik måte at den skal klares på 114 timer.

  • Den endelige vurderingen av brukerhistorien fra produktbacklog er ferdig og historien flyttes til sprintbacklog.
  • For hver historie kunngjør hvert teammedlem sine spesifikke oppgaver. Hvis du vil diskutere disse problemene, kan du måle eller endre størrelse på dem (tenk Fibonacci-serien!).
  • Scrum-mesteren eller teamet legger inn sine individuelle oppgaver og timingen for hver historie i programmet.
  • Når alle historiene er fullført, noterer Scrum Master starthastighet og sprinten begynner offisielt.

Trinn #6: Når sprinten begynner, begynner hvert teammedlem å jobbe med tildelte oppgaver.

Trinn #7: Teamet møtes daglig i 15 minutter og diskuterer 3 spørsmål:

  • Hva gjorde de i går?
  • Hva planlegger de å gjøre i dag?
  • Er det noen forstyrrelser?

Trinn #8: Scrum Master sporer fremgang daglig ved hjelp av et Burndown Chart

Trinn #9: I tilfelle forstyrrelser, løser Scrum Master det.

Trinn #10: Den 4. juli møtes teamet igjen for å gjennomgå resultatene. Hvert teammedlem demonstrerer den implementerte brukerhistorien til produkteieren.

Trinn #11: 5. juli møtes teamet igjen til et retrospektivt møte hvor de diskuterer

  • Hva gikk bra?
  • Hva gikk ikke bra
  • Handlingselementer.

Trinn #12: Den 6. juli møtes laget igjen for neste sprint-forplanleggingsmøte og syklusen fortsetter.

(Klikk for å forstørre bildet)

Programmer som kan brukes til SCRUM-aktiviteter:

Det er mange verktøy som kan brukes mye for å spore scrum-aktiviteter. Her er noen av dem:

  • XPlanner
  • Versjon One
  • Sprintometer
  • ScrumNinja

Konklusjon:

I begynnelsen kan folk møte noen vanskeligheter med å prøve å mestre denne teknikken, men med øvelse vil du se at SCRUM gjør underverker. SCRUM fokuserer ressursene slik at du kan se applikasjonen din utvikle seg.

Mange midlertidige organisasjoner oppfordrer teamet (som en scrum-oppgave) til å dedikere et par timer til egenlæring og utvikling. Også under gjennomgangen viser gruppemedlemmene hva de har lært og presenterer noen ganger programmer eller applikasjoner de har utviklet. Personlig setter jeg pris på denne metoden fordi den gir folk en sjanse til å utvide kunnskapen sin og vise frem sine ferdigheter.