Hvad er Scrum, og hvordan hænger det sammen med DevOps?
I artiklen DevOps, DevSecOps og GitOps – hvad skal jeg være obs på? har vi kort gennemgået, hvad DevOps, GitOps, DevSecOps samt agil udvikling er.
Både DevOps og Agile er software udviklingsmetodikker, som i virkeligheden sigter efter det sammen: At få et produkt af høj kvalitet i hænderne på slutbrugerne – så hurtigt som overhovedet muligt.
Som beskrevet i artiklen handler DevOps fundamentalt om at bringe to teams “Dev” (udvikling) og “Ops” (drift) sammen for at sikre korte vej til til værdi i form af ny software. Agile er mere fokuseret på at få mindre teams til at arbejde sammen for at sikre, at de kan reagere hurtigt på de konstante ændringer i brugernes behov.
Ved at kombinere de to metodikker, får vi en udviklingspraksis, der samler agil udvikling, kvalitetssikring og drift i ét. Det eneste, der mangler, er et rammeværk, som definerer, hvordan udviklerne skal arbejde sammen om, at “bygge” et produkt. Og det er her, Scrum kommer ind.
Scrum som rammeværk
Scrum er et letvægtsrammeværk, som skaber et grundlag for, hvorledes DevOps kan anvendes i komplekse IT-projekter, uden at udviklingsteamet mister overblik over opgaver og mål undervejs.
Scrum er ikke en metodik, men en implementering af det empiriske princip. Det vil sige, at udgangspunktet er at anvende de iagttagelser, data og erfaringer, som man opnår i et projekt, til at beslutte, hvad man skal gøre fremadrettet i projektet. Med afsæt i det agile manifest skaber Scrum en ramme for projekter af enhver slags ved at definere nogle ansvarsroller, faste hændelser, artefakter (fx applikationer og/eller komponenter) og regler.
Man kan sige, at Scrum beskriver en praksis for, hvordan man styrer, hvad der skal udføres, ikke hvordan det skal udføres.
Scrum tager udgangspunkt i tilliden mellem deltagerne i teamet og bygger på følgende principper:
- Transparens – alle har adgang til al information om projektet
- Inspektion – indhentning af de data og erfaringer, som er skabt i projektet
- Tilpasning – løbende tilpasning på baggrund af ovenstående iagttagelser
I tilgift til ovenstående indeholder Scrum også en beskrivelse af hvilke roller, der skal indgå i et projekt. I et Scrum team indgår følgende roller:
- En produktejer (Product Owner)
- En Scrum “mester” (Scrum Master)
- Et udviklingsteam
Produktejeren er repræsentant for forretningens perspektiv og sikrer rækkefølgen og sammenhængen i projektet ved hjælp af en Product Backlog, som er en prioriteret liste over de elementer, der skal leveres i projektet.
Et udviklingsteam er et “selv-organiserende” team, som arbejder på en eller flere delelementer fra backloggen og skaber en værdiforøgelse i løbet af det, man i Scrum terminologi, kalder for et sprint. Et sprint er et forløb med et sæt af handlinger, som varer mellem 1 – 4 uger.
Scrum mesteren er en facilitator, som hjælper teamet og produktejeren med forstå, respektere og udføre scrumreglerne. Mesteren skal også hjælpe med til at fjerne hindringer for at teamet kan arbejde og dermed skabe værdi.
Hvordan kan Globeteam hjælpe?
DevOps er en iterativ udviklings-/udrulningsmetodik, og Scrum definerer en række principper som hjælper udviklingsteams med at arbejde iterativt baseret på den agile softwareudviklingsmodel.
Både Scrum og DevOps er grundlæggende enkle metodikker, og der er mange best practice for at anvende principperne. Udfordringen ligger i at gennemføre den kulturændring, som er nødvendig for, at virksomheden kan drage nytte af dem.
Globeteam har erfarne, certificerede konsulenter med speciale i DevOps, Agile og Scrum og SAFe og vi tager gerne en uforpligtende snak om, hvordan din organisation bedst kan drage nytte af disse metoder og teknologier.