Scrum-roller i softwareudvikling forklaret i klare og enkle vendinger

Scrum er en agil metode til softwareudvikling, der nu bliver taget i brug af mange virksomheder og virksomheder som en del af digitale transformationsinitiativer.

Om Scrum

Scrum-metodens rolle er at levere en ramme for agil softwareudvikling, der gør det muligt for teams at arbejde sammen og effektivt for at levere softwareprodukter af høj kvalitet.

Det er en ramme for teams til at arbejde sammen om at udvikle komplekse produkter. I stedet for at frigive et produkt efter lange faser med planlægning, design, udvikling og test, sigter scrumet efter at levere klar-til-brug produkter lige fra begyndelsen i små trin.

Scrums hovedprincipper er gennemsigtig teamkommunikation, regelmæssig kvalitetsverifikation og evnen til at tilpasse sig forandringer. Hvis de bliver vedtaget og brugt på den rigtige måde, kan teams levere softwareprodukter af høj kvalitet på en rettidig og effektiv måde.

Vigtigste fordele ved Scrum

Kilde: scrum.org

  • Du kan opnå øget produktivitet. At være et Scrum-team betyder, at teamet nedbryder komplekse problemer i små stykker. Så bliver de små stykker leveret inden for sprints som sprintintervaller. Teammedlemmer kan fokusere på specifikke opgaver inden for en Sprint (defineret tidsperiode, hvor trinene udvikles på f.eks. to uger).
  • Scrum opfordrer til regelmæssig kommunikation mellem hele teamet. Dette sikrer så, at alle er klar over omfanget og forventningerne. Det reducerer en ganske betydelig mængde af misforståelser, der ellers kunne ske. Især hvis man vil videre med et højt tempo fra sprint til sprint, skal hele holdet arbejde mod det samme mål fra dag til dag.
  • Scrum er designet til at være fleksibelt, så teams kan tilpasse sig skiftende krav og prioriteter. Dette giver teams mulighed for at reagere hurtigt på ændringer i projektets omfang eller kundebehov. I stedet for at vente til hele udviklingslivscyklussen er forbi, kan du bare ændre indholdet mellem spurterne.
  • Scrum understreger vigtigheden af ​​test og kvalitetssikring, ideelt set på en automatiseret måde. Det ultimative mål er at øge det endelige produkts kvalitet. Dette mindsker risikoen for fejl og sikrer, at produktet lever op til kundens krav.
  • Scrum er designet til at være kundefokuseret, hvilket betyder, at kunden er involveret i udviklingsprocessen fra start til slut, som regel i rollen som produktejer eller med direkte tilknytning til produktejeren (mere om det senere). Dette sikrer, at det endelige produkt opfylder kundens behov og med den rigtige prioritet.

Dernæst vil vi diskutere scrum-metodens rolle.

Scrum-metodens rolle

Kilde: hangoutagile.com

Målet med Scrum-metoden er at skabe en ramme for agil softwareudvikling, der gør det muligt for teams at arbejde sammen. Du bygger et Scrum-team, der mødes dagligt og regelmæssigt og har planlagte diskussioner (ceremonier) inden for en sprint, der gentager hver sprint. Typisk er følgende ceremonier en del af den grundlæggende opsætning af et scrum-hold:

  • Daglige standups – Et tidspunkt og et sted, hvor alle teammedlemmer vil mødes og diskutere, hvad der blev gjort sidste dag, hvad der vil være arbejdet næste dag, og hvad der er aktuelle forhindringer, hvis nogen.
  • Forfining af historier – Det er her nyt indhold (til de næste sprints) diskuteres og færdiggøres.
  • Sprintplanlægning – Under denne ceremoni estimerer holdet klar-til-at-tage-indholdet (defineret i Stories) og forpligter sig derefter til en specifik delmængde fra dem, hovedsageligt baseret på prioritets- og indsatsestimater.
  • Sprintgennemgang – Her møder holdet interessenter og præsenterer for dem, hvad holdet opnåede i sidste sprint.
  • Sprint retrospektiv – En dialog dedikeret til teamet kun for at diskutere, hvad der kan forbedres, eller hvad teamet føler skal ændres fremadrettet.
  Hvorfor løser det så mange problemer at afbryde en enhed?

Betydningen af ​​Scrum-metoden ligger i dens evne til at hjælpe teams med at arbejde mere effektivt. Kerneprincipperne i Scrum-metoden er baseret på Agile Manifesto, og de er følgende.

Empirisk proceskontrol

Scrum er baseret på ideen om, at fremskridt bedst opnås gennem en empirisk proces med kontinuerlig inspektion og tilpasning. Det betyder, at teams regelmæssigt bør inspicere deres arbejde og tilpasse deres processer for at forbedre deres præstationer.

Selvorganiserende teams

Scrum-teams er selvorganiserende, hvilket betyder, at de er ansvarlige for at styre deres arbejde og træffe beslutninger om at nå deres mål. Dette er med til at fremme samarbejde og ansvarlighed i teamet.

Time-boxede iterationer

Du kan opdele scrum-projekter i time-boxede iterationer, kaldet sprints, som typisk varer mellem en og fire uger. Dette sikrer, at teamet arbejder hen imod et bestemt mål og løbende udvikler sig.

Prioriteret produktbacklog

Produktbacklog er en prioriteret liste over funktioner og krav, som teamet vil arbejde på under projektet. Produktejeren er ansvarlig for at vedligeholde produktbacklog og sikre, at den afspejler kundens behov og prioriteter.

Løbende forbedringer

Scrum understreger vigtigheden af ​​løbende forbedringer. Både i forhold til det produkt, der udvikles, og de processer, der bruges til at udvikle det. Det betyder, at teams regelmæssigt bør reflektere over deres arbejde og lede efter måder at forbedre deres præstationer på.

Udfordringer

Kilde: scrum.org

Selvom Scrum-metoden kan være yderst effektiv i softwareudvikling, er der også nogle udfordringer, som teams kan stå over for, når de implementerer den.

Modstand mod forandring

Scrum kræver et markant skift i tankegang og kultur, hvilket kan være svært for nogle teammedlemmer at acceptere. Nogle teammedlemmer kan være modstandsdygtige over for forandringer, hvilket kan gøre det udfordrende at implementere Scrum effektivt. Med andre ord skal du “få det”. Indtil du ikke gør det, er du ikke med.

Mangel på erfaring

Du har brug for et vist niveau af erfaring og ekspertise for at implementere effektivt. Hvis teammedlemmer ikke er fortrolige med Scrum- eller Agile-metoder, er det en udfordring at overvinde.

  Sådan fjerner du en konto fra Chromebook

Mangel på engagement

Scrum har brug for et højt engagement fra alle teammedlemmer, inklusive produktejeren, Scrum-masteren og udviklingsteamet. Hvis teammedlemmerne ikke er fuldt ud engagerede i processen, kan det være svært at opnå de ønskede resultater.

Dårlig kommunikation

Scrum er stærkt afhængig af kommunikation og samarbejde mellem teammedlemmer. Hvis teammedlemmerne ikke kommunikerer ofte og effektivt, kan det være en udfordring for dem.

Overvægt på proces

Mens Scrum leverer en ramme for agil softwareudvikling, er det vigtigt at huske, at det kun er et framework. Hvis teammedlemmer bliver for fokuserede på at følge processen, kan de miste det ultimative mål om at levere softwareprodukter af høj kvalitet af syne.

Roller for et Scrum Team

Hvert scrum-hold skal, for at være effektivt, bestå af nogle få konkrete roller. Hvis disse roller ikke er dedikeret til holdet eller i det forkerte antal, kan den vellykkede opbygning af et sådant scrum-hold være i fare.

#1. Udviklingsteam

Dette er eksekveringsdelen af ​​teamet, så set fra leveringen af ​​produktets perspektiv er det måske den vigtigste del af teamet. Et typisk scrum-udviklingsteam består af udviklings-/test-/arkitektur-/analytikerspecialister i en samlet mængde på 4-10 personer. Er det mindre, er det tvivlsomt, om man stadig kan kalde det et hold. Hvis det er mere, vil alle ceremonier og styring af teamets diskussioner blive alt for komplekse og ikke rigtig besværet værd at vedligeholde.

Udviklingsteamet tager historierne fra efterslæbet, estimerer dem og implementerer dem i sprints. Teamet er ansvarligt for historieudvikling og test, og når det er færdigt, også for implementering til produktion.

#2. Scrum Master

En scrum master fungerer som orkestrator for udviklingsteamet. Han planlægger regelmæssige møder, sikrer, at udviklingsteamet er tydeligt i indholdet og tilrettelægger aktiviteterne under en sprint med det formål at nå sprintplanen og -målene.

Dette er ikke rigtig en indholdsrolle. Faktisk behøver scrum masteren ikke teknisk forstå noget fra historieindholdet, som udviklingsteamet løser (selvom det helt sikkert hjælper). Scrummasteren betjener dog udviklingsteamet og beskytter det mod det ydre miljø. Ved at beskytte mener jeg at lade teamet arbejde baseret på agile principper. Vær her taleren for holdet og tillad ikke at ændre den aktuelt aftalte sprintplan ved uplanlagte anmodninger.

#3. Produktejer

Produktejer (PO) servere til forbindelse mellem udviklingsteamet og forretningsbrugere (interessenter) uden for teamet. PO diskuterer indholdet vil alle relevante parter og bringer det aftalte indhold til scrum-teamet.

Derefter skaber PO historier til teamet med klare beskrivelser og forventninger. PO skal sørge for, at udviklingsteamet forstår dette indhold, så teamet kan vurdere hver historie. Som sådan ejer PO diskussionerne om historieforfining inden for teamet.

Udover indholdet og håndteringen af ​​hele backlog, er PO også ansvarlig for at opsætte prioriteterne for hver historie inde i backlog. PO er dog ikke ansvarlig for udvælgelsen af ​​konkrete historier ind i spurten. Det kun udviklingsteamet kan gøre ved at forpligte sig til omfanget, vælger teamet til næste sprint. PO kan kun påvirke dette valg ved at indstille og kommunikere prioriteringerne korrekt.

  Sådan finder du din Spotify Wrapped 2020

Interaktioner mellem roller inde i et Scrum-team

Kilde: scrum.org

Selv med alle de mennesker og roller, der håndteres, er kommunikation virkelig nøglen til succes. Vigtigst af alt, den rigtige kommunikation, fordi der er så mange måder at gøre det forkert på. Og det er faktisk den største enkeltstående grund til, at mange scrum-hold ikke har succes. De sætter det bare ikke rigtigt.

For eksempel beder produktejere ofte udviklingsteamet om at komme med nye indholdshistorier. Men det er ikke udviklingsteamets formål at skabe efterslæbet. Selvfølgelig kan de hjælpe med at definere historierne, gøre dem detaljerede og dele dem op, så de er mulige at udføre inden for sprints. Men produktejeren er ansvarlig for efterslæbet. PO skal ideelt set ikke bede udviklingsteamet om at komme i kontakt med forretningsinteressenter.

På den anden side skal hverken scrummasteren eller produktejeren definere, hvad der præcist vil være omfanget af den næste sprint. Dette sker meget ofte alligevel, da rollerne som scrum master og produktejer er en slags naturlige lederroller inde i scrum-teamet. Men i virkeligheden er de ikke i stand til at bestemme, hvad udviklingsteamet skal eller ikke skal tage med i spurten. Udviklingsteamet er det eneste, der kan udføre dette, så det er udviklerteamet, der bestemmer. Det betyder, at PO giver information om, hvor vigtig hvilken historie er fra et forretningsperspektiv; PO kan endda bestille efterslæb af historier fra den vigtigste til den mindst vigtige. På denne måde har udviklingsteamet en fornemmelse af, hvilke historier de skal tage først.

Produktejeren skal gøre en indsats for regelmæssigt at diskutere med teamet nyt indhold, som PO ønsker, at teamet skal levere. PO er her for grundigt at diskutere hver historie, han/hun skaber eller bringer til efterslæbet. Alle i udviklingsteamet skal forstå historien, og det er klart for dem, hvad acceptkriterierne er.

Scrum-mesteren er ikke kun orkestrator for holdet; på en eller anden måde beskytter SM teamet mod produktejeren, ledelsen eller andre eksterne interessenter. SM holder de interne scrum-processer kørende og leder de fleste af ceremonierne for holdet. Ved daglige statusopkald sørger SM for, at alle kun siger de vigtige opdateringer for dagen, så mødet ikke tager længere tid end planlagt. Det gælder faktisk alle opkaldene.

SM arrangerer også regelmæssige retrospektive opkald til teamet, hvor han/hun hjælper teamet med at reflektere tilbage på arbejdet udført i den foregående sprint og identificere områder, hvor teamet kan forbedre sig.

Afsluttende ord

At etablere et succesfuldt scrum-hold er normalt en lang vej. Du skal opbygge erfaring inde i teamet, selvom konkrete medlemmer af teamet allerede har nogle tidligere erfaringer. Hvert scrum-team er unikt, og det tager altid tid at finde en måde, hvordan man arbejder og samarbejder sammen som et team om fælles emner.

Det vigtigste er at holde holdet stabilt, når du allerede har dannet det. Først da kan holdet begynde at forbedre sig med hver næste spurt. Det ultimative mål er at konvertere til et selvorganiserende team, hvor selv en scum master tilstedeværelse ikke er obligatorisk længere det meste af tiden. Kan du ikke holde sammen på holdet, er du stadig i læringsfasen.

Tjek derefter de bedste scrum-værktøjer til en nystartet til mellemstor virksomhed.