Scrum: Forskjell mellom sideversjoner

Fra Wikipedia, den frie encyklopedi
Slettet innhold Innhold lagt til
Sauer202 (diskusjon | bidrag)
Ingen redigeringsforklaring
Sauer202 (diskusjon | bidrag)
Skapt ved oversettelse av siden «Scrum (software development)»
Tagger: Innsetting av nowiki-tagger i hovednavnerommet Innholdsoversettelse Innholdsoversettelse, v2
Linje 1: Linje 1:
[[Fil:Scrum process.svg|thumb|400px|right|Illustrasjon av scum-metodikken.]]
'''Scrum''' er et rammeverk for å utvikle [[Informasjonssystem|informasjonssystemer]]. Det brukes i hovedsak til å utvikle programvarebaserte systemer og benyttes gjerne i kombinasjon med [[Extreme Programming|extreme programming]] (XP), men kan i prinsippet brukes til å håndtere alle slags oppgaver av en viss kompleksitet.


<div class="sidebar-list mw-collapsible mw-collapsed"><div class="sidebar-list-content mw-collapsible-content hlist">
Scrum-prinsippet bygger på å samarbeide innenfor team fra tre til ni medlemmer som bryter ned oppgaver til prosjekter som kan ferdigstilles innen gitte tidsrom, såkalte «sprinter», som vanligvis strekker seg fra to uker til én måned. Metoden omfatter også daglige vurderings- og planleggingsmøter som ikke skal vare lenger enn ett kvarter.<ref name="schwaber">{{cite book|title=Agile Project Management with Scrum|url=https://archive.org/details/agileprojectmana0000schw|last=Schwaber|first=Ken|publisher=[[Microsoft Press]]|date=1. februar 2004|isbn=978-0-735-61993-7}}</ref><ref>{{cite|url=https://www.mountaingoatsoftware.com/agile/scrum/meetings/daily-scrum|title=Daily Scrum Meeting|publisher=Mountain Goat Software|access-date=26. juli 2017|language=en-US}}</ref>
*
</div></div>Innen [[prosjektledelse]] er '''scrum''' et rammeverk for å utvikle, levere og opprettholde produkter i et komplekst miljø. Scrum har sin bakgrunn fra [[Programvareutviklingsprosess|programvareutvikling]], men har også blitt brukt i andre felt inkludert [[forskning]], [[salg]], [[markedsføring]] og [[High tech|høyteknologi]].<ref>{{Kilde www|url=https://www.agilealliance.org/resources/experience-reports/lessons-learned-using-scrum-in-non-technical-teams/|tittel=Lessons learned: Using Scrum in non-technical teams|besøksdato=April 8, 2019}}</ref> Metodikken er designet for team med 3 til 10 medlemmer, og [[Arbeidsnedbrytningsstruktur|bryter ned arbeidet]] i mål ([[Produktkø|sprintkøer]]) som skal fullføres innen [[Tidsboks|tidsbokser]] kalt [[Sprint (programvareutvikling)|sprinter]]. Sprintene har som regel varighet ikke lengre enn en måned og oftest to uker. Scrumteamet vurderer fremgangen i daglige møter på 15 minutter eller mindre kalt daglige scrums (en form for [[ståmøte]]). På slutten av sprinten har teamet har ytterligere to møter, henholdsvis ''sprintgjennomgang'' hvor man viser utført arbeid for [[Interessent|interessenten]] for å få tilbakemeldinger, og ''sprintevaluering'' hvor teamet kan reflektere og forbedre seg.


==Etymologi==
== Navn ==
Begrepet ''scrum'' ble først brukt i forbindelse med programvareutvikling i 1986 i artikkelen "''The New New Product Development Game''" av japanerne Hirotaka Takeuchi og Ikujiro Nonaka.<ref>https://agilix.nl/resources/TheNewNewProductDevelopmentGame.pdf</ref><ref>{{Kilde www|url=https://www.agilepractice.eu/wp-content/uploads/2016/09/Product-Development-Scrum-1986.pdf|tittel="The New New Product Development Game" av Hirotaka Takeuchi og Ikujiro Nonaka}}</ref> Artikkelen ble publisert i januar 1986-utgaven av ''[[Harvard Business Review]]''. Begrepet er lånt fra [[Rugby (sport)|rugby]] hvor scrum er en spillerformasjon.{{Utdyp}} Begrep ''scrum'' ble valgt av artikkelforfatterne fordi det legger vekt på [[samarbeid]].<ref>{{Kilde www|url=https://dzone.com/articles/scrum-whats-in-a-name|tittel=Scrum, What's in a Name? - DZone Agile}}</ref>
Scrum, inspirert av et begrep i [[Rugby (sport)|rugby]] (hvor scrum er en formasjon av spillere), ble formelt utviklet som prosjektmetodikk av Jeff Sutherland og Ken Schwaber og ble første gang presentert på '' Object-Oriented Programming, Systems, Languages & Applications '95'' (OOPSLA '95) i [[Austin]]. Før det ble begrepet først tatt i bruk av Hirotaka Takeuchi og Ikujiro Nonaka i forbindelse med produktutvikling i en artikkel i ''[[Harvard Business Review]]'' i 1986.<ref name="TakeuchiNonaka">{{Cite journal|last1=Takeuchi|first1=Hirotaka|last2=Nonaka|first2=Ikujiro|date=1. januar 1986|title=The New New Product Development Game|url=https://cb.hbsp.harvard.edu/cbmp/product/86116-PDF-ENG|journal=Harvard Business Review|volume=|pages=|accessdate=9. juni 2010|quote=Moving the Scrum Downfield|language=en-US}}</ref>


''Scrum'' blir av og til skrevet med store bokstaver som i ''SCRUM''.<ref>{{Kilde www|url=https://stackoverflow.com/q/6389423|tittel=Should "SCRUM" be written in all caps?|besøksdato=January 10, 2017}}</ref> Navnet er dog ikke en [[Akronym|forkortelse]], og varianten skrevet med store bokstaver stammer trolig fra en artikkel skrevet av Ken Schwaber i 2004 hvor ''SCRUM'' var en del av tittelen.<ref name="schwaber">{{Kilde bok|url=https://archive.org/details/agileprojectmana0000schw|tittel=Agile Project Management with Scrum|etternavn=Schwaber|fornavn=Ken|forfatter-lenke=Ken Schwaber|dato=February 1, 2004|utgiver=[[Microsoft Press]]|isbn=978-0-7356-1993-7}}</ref>
==Referanser==
<references/>


[[Varemerke|Varemerket]] ''scrum'' har gjennom sin utstrakte bruk gått over til å anses som et [[degenerert varemerke]] eid av samfunnet istedet for et individ.<ref>{{Kilde www|url=http://www.agilelearninglabs.com/2011/01/scrummaster-vs-scrum-master/|tittel=ScrumMaster vs scrum master: What do you think?|besøksdato=May 10, 2017|fornavn=Hillary Louise|etternavn=Johnson}}</ref>
==Eksterne lenker==
* {{Offisielt nettsted}}
*{{Kilde www|forfatter=Scrum Alliance Inc|tittel=Agile Atlas Core Scrum på norsk|url=http://agileatlas.org/images/uploads/CoreScrum_NO.pdf|dato=01.02.2013|arkiv_url=https://web.archive.org/web/20160304214044/http://agileatlas.org/images/uploads/CoreScrum_NO.pdf|arkivdato=04.03.2016|språk=norsk}}
*[http://www.scrum.org/Portals/0/Documents/Scrum%20Guides/Scrum%20Guide%20-%20NO.pdf#zoom=100 Scrum-guiden på norsk]
*[http://www.scrum.as/docs/International%20Scrum%20Master%20Foundation%20-%20Study%20guide.pdf#zoom=100 Scrum trening]
* Schwaber, Ken. ''Scrum Development Process''. OOPSLA'95 Business Object Design and Implementation Workshop
* {{cite book|title=Agile Software Development with Scrum|url=https://archive.org/details/agilesoftwaredev0000schw|last=Schwaber|first=Ken|coauthors=Beedle, Mike|publisher=[[Prentice Hall]]|date=18. februar 2002|isbn=978-0-130-67634-4}}


Mange av begrepene som brukes i scrumlitteraturen på engelsk skrives ofte med store forbokstaver (for eksempel ''Scrum Master'', ''Daily Scrum''), men i de fleste tilfellene bør man ikke bruke store bokstaver (hverken på norsk eller engelsk) dersom begrepet er et [[fellesnavn]]. I denne artikkelen brukes derfor små bokstaver for fellesnavn i henhold til vanlig gramatikk (for eksempel ''scrum master'', ''daily scrum''), med mindre det henvises til egennavn (som for eksempel produktnavn eller anerkjente sertifiseringer som ''Certified Scrum Master'' og ''Professional Scrum Master'').
{{Autoritetsdata}}


== Viktige idéer ==
[[Kategori:Engelske ord og uttrykk]]
Scrum er et lett, [[Iterativ design|iterativt]] og [[Iterativ og inkrementell utvikling|inkrementellt]] rammeverk for utvikling, levering og vedlikehold av komplekse produkter.<ref name="scrumalliance">{{Kilde www|url=https://www.scrumalliance.org/why-scrum|tittel=What is Scrum?|besøksdato=February 24, 2016|forlag=Scrum Alliance}}</ref><ref name="gunther">{{Kilde www|url=http://guntherverheyen.com/2013/03/21/scrum-framework-not-methodology/|tittel=Scrum: Framework, not methodology|besøksdato=February 24, 2016|fornavn=Gunther|etternavn=Verheyen|forlag=Gunther Verheyen}}</ref> Rammeverket utfordrer antagelser om den tradisjonelle, sekvensielle tilnærmingen til produktutvikling (som [[fossefallmodellen]]), og gjør det mulig for team å organisere seg selv ved å oppmuntre{{Trenger referanse}} til fysisk samlokalisering eller tett nettbasert samarbeid mellom alle teammedlemmer, samt daglig kommunikasjon ansikt-til-ansikt mellom alle teammedlemmer og involverte disipliner.{{Klargjør}}
[[Kategori:Programmering]]

Et sentralt prinsipp i scrum er den doble anerkjennelsen om at kunden på den ene siden vil endre [[Omfangskryp|omfanget]] av hva som ønskes (usikkerhet i kravene, kalt ''requirements volatility''<ref>J. Henry and S. Henry. Quantitative assessment of the software maintenance process and requirements volatility. In Proc. of the ACM Conference on Computer Science, pages 346–351, 1993.</ref> på engelsk) og at det på den andre siden vil være uforutsigbare utfordringer som en prediktiv eller planlagt tilnærming ikke vil passe for. Disse endringene kan komme fra en rekke kilder, men i henhold til scrum er det irrelevant å prøve å forstå hvorfor, og endringer bør bare aksepteres, omfavnes og analyseres for hvilke fordeler de kan bringe.

Som sådan har scrum en bevisbasert empirisk tilnærming ved at man aksepterer at et problem ikke kan fullt ut forstås eller defineres på forhånd, og legger istedet vekt på hvordan man kan maksimere teamets mulighet eller evne til å levere raskt, respondere på nye krav, og tilpasse seg til nye teknoloier og endringer i markedet.

== Historie ==
I 1986 introduserte Hirotaka Takeuchi og Ikujiro Nonaka begrepet ''scrum'' i sammenheng med [[produktutvikling]] i ''Harvard Business Review''-artikkelen ''The New New Product Development Game''. Takeuchi og Nonaka argumenterte senere i ''Knowledge Creating Company''<ref>{{Kilde bok|url=https://books.google.com/books?id=B-qxrPaU1-MC&q=The+Knowledge+Creating+Company|tittel=The Knowledge Creating Company|utgiver=Oxford University Press|besøksdato=March 12, 2013|isbn=9780199762330|side=3}}</ref> at det er en form for "organisatorisk kunnskapsbygging" særlig egnet for å skape trinnvis og kontinuerlig innovasjon.

Basert på tilfellestudier fra produsenter av [[Bil|biler]], [[Kopimaskin|kopimaskiner]] og [[Skriver|skrivere]] beskrev Takeuchi og Nonaka en ny tilnærming til kommersiell produktutvikling som ville gi økt hastighet og fleksibilitet. De kalte denne tilnærmingen [[Holisme|helhetlig]] eller [[Rugby (sport)|rugbyaktig]]<nowiki/>ettersom hele prosessen utføres av ett tverrfunksjonelt team over flere overlappende faser hvor laget prøver å fullføre hele prosessen som et lag "og sender ballen frem og tilbake".<ref name="TakeuchiNonaka" /> Navnet stammer også fra [[Rugby (sport)|rugby]], hvor en scrum brukes for å restarte spillet ved at spillere fra hvert av lagene stiller seg sammen mot motstanderne med hodet ned for å forsøke å få besittelse av ballen.<ref><nowiki>{{Oxford</nowiki>&nbsp;<nowiki>Dictionaries|Scrum}}</nowiki></ref>

Scrum-rammeverket er basert på forskning gjort av Schwaber sammen ved ingeniøren Babatunde Ogunnaike ved DuPont Research Station og University Of Delaware.<ref name="schwaber">{{Kilde bok|url=https://archive.org/details/agileprojectmana0000schw|tittel=Agile Project Management with Scrum|etternavn=Schwaber|fornavn=Ken|forfatter-lenke=Ken Schwaber|dato=February 1, 2004|utgiver=[[Microsoft Press]]|isbn=978-0-7356-1993-7}}</ref> Ogunnaike gav råd om at forsøk på å utvikle komplekse produkter (som for eksempel programvare) som ikke var basert på empirisme var dømt til å ha høyere risiko og feilrater etterhvert som de opprinnelige forholdene og forutsetningene endret seg. Empirisme ved hjelp av hyppige inspeksjoner og tilpasninger sammen med fleksibilitet og åpenhet ble ansett av dem som en mer hensiktsmessig tilnærming.

Tidlig i 1990-årene brukte Ken Schwaber et rammeverk i hans selskap kalt ''Advanced Development Methods'' som lignet på det som skulle bli scrum, mens Jeff Sutherland, John Scumniotales og Jeff McKenna utviklet en lignende tilnærming ved Easel Corporation som de kalte ''Scrum''.<ref name="autogenerated1">{{Kilde www|url=https://www.scrumalliance.org/resource_download/35|tittel=Agile Development: Lessons learned from the first Scrum|besøksdato=September 26, 2008|arkiv-url=https://web.archive.org/web/20140630020607/http://www.scrumalliance.org/resource_download/35|arkivdato=June 30, 2014|fornavn=Jeff|etternavn=Sutherland|forfatterlenke=Jeff Sutherland|format=PDF}}</ref>

Sutherland og Schwaber jobbet sammen for å integrere sine ideer i ett enkelt rammeverk, scrum. De testet scrum og forbedret det kontinuerlig, noe som førte til artikkelen deres fra 1995,<ref name="OOPSLA95">{{Kilde bok|tittel=Business object design and implementation: OOPSLA '95 workshop proceedings|etternavn=Sutherland|fornavn=Jeffrey Victor|forfatter-lenke=Jeff Sutherland|etternavn2=Schwaber|fornavn2=Ken|forfatter2-lenke=Ken Schwaber|utgiver=[[The University of Michigan]]|isbn=978-3-540-76096-2|side=118}}</ref> samt deres bidrag til [[smidig programvareutvikling|manifestet for smidig programvareutvikling]] i 2001 som var med på å popularisere smidig programvareutvikling,<ref name="agilemanifesto">{{Kilde www|url=https://agilemanifesto.org|tittel=Manifesto for Agile Software Development|besøksdato=October 17, 2019}}</ref> og verdensomspennende spredning og bruk av scrum siden 2002.

I 1995 presenterte Sutherland og Schwaber i fellesskap en artikkel som beskrev scrumrammeverket på ''Business Object Design And Implementation Workshop'' som en del av ''Object-Oriented Programming, Systems, Languages & Applications '95'' (OOPSLA 1995) i Austin, Texas.<ref name="OOPSLA95">{{Kilde bok|tittel=Business object design and implementation: OOPSLA '95 workshop proceedings|etternavn=Sutherland|fornavn=Jeffrey Victor|forfatter-lenke=Jeff Sutherland|etternavn2=Schwaber|fornavn2=Ken|forfatter2-lenke=Ken Schwaber|utgiver=[[The University of Michigan]]|isbn=978-3-540-76096-2|side=118}}</ref> Med sin erfaring med utvikling av god praksis samarbeidet Schwaber og Sutherland i løpet av de påfølgende årene for å kombinere deres materiale og utvikle det til det som ble kjent som scrum.<ref name="scrumguide">{{Kilde www|url=https://www.scrumguides.org/scrum-guide.html|tittel=The Scrum Guide|besøksdato=October 27, 2017|etternavn=Ken Schwaber|forlag=Scrum.org}}</ref>

I 2001 beskrev Schwaber og Mike Beedle metoden i boken ''Agile Software Development with Scrum''.<ref>{{Kilde bok|tittel=Agile software development with Scrum|etternavn=Schwaber|fornavn=Ken|forfatter-lenke=Ken Schwaber|etternavn2=Beedle|fornavn2=Mike|utgiver=Prentice Hall|isbn=978-0-13-067634-4}}</ref> Scrum sin tilnærming til planlegging og styring av produktutvikling innebærer å bringe beslutningsmyndigheter til et annet nivå.<ref name="schwaber">{{Kilde bok|url=https://archive.org/details/agileprojectmana0000schw|tittel=Agile Project Management with Scrum|etternavn=Schwaber|fornavn=Ken|forfatter-lenke=Ken Schwaber|dato=February 1, 2004|utgiver=[[Microsoft Press]]|isbn=978-0-7356-1993-7}}</ref>{{Klargjør}}

I 2002 grunnla Schwaber med flere Scrum Alliance<ref>{{Kilde bok|url=https://books.google.com/books?id=ShojBgAAQBAJ|tittel=The Scrum Culture: Introducing Agile Methods in Organizations|etternavn=Maximini|fornavn=Dominik|dato=January 8, 2015|utgiver=Springer|besøksdato=August 25, 2016|isbn=9783319118277|serie=Management for Professionals|utgivelsessted=Cham|side=26|sitat=Ken Schwaber and Jeff Sutherland presented Scrum for the first time at the OOPSLA conference in Austin, Texas, in 1995. [...] In 2001, the first book about Scrum was published. [...] One year later (2002), Ken founded the Scrum Alliance, aiming at providing worldwide Scrum training and certification.}}</ref> og satte opp akkrediteringen ''Certified Scrum''. I slutten av 2009 forlot Schwaber Scrum Alliance og grunnla Scrum.org<ref>{{Kilde www|url=https://www.scrum.org/index|tittel=Home|besøksdato=January 6, 2020}}</ref> som gir den alternative akkrediteringen ''Professional Scrum''.<ref>{{Kilde www|url=http://blog.leanagile.in/post/54764080535/certified-scrum-master-vs-professional-scrum|tittel=Certified Scrum Master vs Professional Scrum Master|besøksdato=May 10, 2017|fornavn=Joshua|etternavn=Partogi|forlag=Lean Agile Institute}}</ref>

Siden 2009 har det offentlig tilgjengelige dokumentet ''Scrum Guide''<ref name="scrumguide">{{Kilde www|url=https://www.scrumguides.org/scrum-guide.html|tittel=The Scrum Guide|besøksdato=October 27, 2017|etternavn=Ken Schwaber|forlag=Scrum.org}}</ref> blitt publisert og oppdatert jevnlig av Schwaber og Sutherland. I november 2020 ble 6. utgave utgitt.

== Scrumteamet ==
Den grunnleggende enheten i scrum er et lite team av mennesker bestående av en [[produkteier]], en [[scrumleder]] og utviklere. Teamet er selvstyrt, tverrfunksjonelt og fokuserer på ett mål om gangen som er produktmålet.

=== Produkteier ===
{{hoved|Produkteier}}Produkteieren som representerer produktets [[Interessent|interessenter]], og er kundens stemme (eller kan representere ønskene til en [[komité]]<ref name=":3" />), og er ansvarlig for å levere gode forretningsresultater. Derfor er produkteieren ansvarlig for produktkøen og for å maksimere verdien som teamet leverer.<ref name=":3">{{Kilde bok|url=https://books.google.com/books?id=cEBbDwAAQBAJ&q=scrum+product+owner+accountable+backlog&pg=PT173|tittel=The Professional Product Owner: Leveraging Scrum as a Competitive Advantage|etternavn=McGreal|fornavn=Don|etternavn2=Jocham|fornavn2=Ralph|dato=June 4, 2018|utgiver=Addison-Wesley Professional|isbn=9780134686653|språk=en}}</ref> Produkteieren definerer produktet i form av kundesentriske resultater (vanligvis, men ikke begrenset til, [[Brukerhistorie|brukerhistorier]]), legger de til produktbackloggen, og prioriterer de basert på viktighet og avhengigheter.<ref name=":0">{{Kilde bok|tittel=Scrum: an ideal framework for agile projects|etternavn=Morris|fornavn=David|utgiver=In Easy Steps|isbn=9781840787313|oclc=951453155}}</ref> Et scrumteam bør bare ha én produkteier (selv om en produkteier kan hjelpe flere enn ett team),<ref name=":1">Cohn, Mike. Succeeding with Agile: Software Development Using Scrum. Upper Saddle River, NJ: Addison-Wesley, 2010.</ref> og det anbefales sterkt å ikke kombinere rollen som produkteier med rollen som scrumleder. Produkteieren bør fokusere på forretningssiden av en produktutvikling og tilbringe mesteparten av tiden med interessenter og teamet. Produkteieren dikterer ikke hvordan teamet skal oppnå en teknisk løsning, men søker istedet konsensus blant teammedlemmene.<ref>{{Kilde www|url=http://www.scrumguides.org/docs/scrumguide/v2016/2016-Scrum-Guide-US.pdf|tittel=The Scrum Guide}}</ref><ref>{{Kilde bok|tittel=The Scrum guide|utgivelsessted=http://www.scrumguides.org/docs/scrumguide/v2016/2016-Scrum-Guide-US.pdf}}</ref><ref>{{Kilde www|url=https://www.scrumalliance.org/learn-about-scrum/community-webinars/webinar-replays/scrum-fundamentals/the-role-of-the-product-owner|tittel=The Role of the Product Owner|besøksdato=May 26, 2018}}</ref> Rollen som produkteier er avgjørende, og krever en dyp forståelse av både virksomhetssiden og ingeniørsiden (utviklerne) i scrumteamet. Derfor bør en god produkteier kunne kommunisere hva virksomheten trenger, spørre hvorfor de trenger det (fordi det kan være bedre måter å oppnå det på) og formidle budskapet til alle interessenter etter behov, inkludert utviklerne som bruker teknisk språk. Produkteieren bruker scrum sine empiriske verktøy for å håndtere svært komplekst arbeid, og styrer samtidig risikoen og verdioppnåelse.

Kommunikasjon er en av hovedoppgavene til produkteieren. Evnen til å formidle prioriteringer og sympatisere med teammedlemmer og interessenter er avgjørende for å styre produktutviklingen i riktig retning. Produkteierrollen bygger en bro over kommunikasjonsgapet mellom teamet og dets interessenter, og fungerer som et mellomledd for interessentene til teamet, og som en teamrepresentant for de samlede interessentene.<ref>{{Kilde bok|tittel=Agile Product Management with Scrum: Creating Products that Customers Love|etternavn=Pichler|fornavn=Roman|dato=March 11, 2010|utgiver=Addison-Wesley Professional|isbn=978-0-321-68413-4|språk=en}}</ref><ref>{{Kilde www|url=http://agilemodeling.com/essays/productOwner.htm|tittel=The Product Owner Role: A Stakeholder Proxy for Agile Teams|besøksdato=July 22, 2016|fornavn=Scott|etternavn=Ambler|forlag=agilemodeling.com}}</ref>

Som teamets ansikt ovenfor interessentene er følgende noen av kommunikasjonsoppgavene til en produkteier ovenfor interessentene:<ref>{{Kilde www|url=http://scrum-master.thinkific.com/pages/the-product-owner-role|tittel=The Product Owner Role|besøksdato=February 3, 2017}}</ref>

* Definere og kunngjøre utgivelser
* Kommunisere status på produkt og leveranse
* Dele fremgang under styringsmøter
* Dele betydelige [[Prosjekt risikostyring|risikoer]], hindringer, [[Avhengighet (prosjektledelse)|avhengigheter]] og forutsetninger med interessentene
* Forhandle prioriteringer, [[Omfangskryp|omfang]], finansiering og tidsplan
* Sørge for at produktkøen er synlig, gjennomsiktig og tydelig

Empati er en viktig egenskap å ha for en produkteier, altså evnen til å sette seg selv i andres sko. En produkteier snakker med ulike interessenter med en ulike bakgrunner, med jobbroller og ulike mål, og bør kunne sette pris på forskjellige synspunkt disse kommer med. For å være effektiv er det lurt for en produkteier å vite detaljnivået publikummet trenger. Utviklerne trenger grundige tilbakemeldinger og spesifikasjoner slik at de kan bygge et produkt som står til forventningene, mens en [[Executive sponsor|prosjektsponsor]] kanskje bare trenger et sammendrag av fremgangen. Å gi mer informasjon enn nødvendig kan kaste bort tid og gjøre at interessenten mister interesse. En direkte metode for kommunikasjon foretrekkes av erfarne produkteiere.<ref name=":1">Cohn, Mike. Succeeding with Agile: Software Development Using Scrum. Upper Saddle River, NJ: Addison-Wesley, 2010.</ref>

En produkteiers evne til å kommunisere effektivt forbedres også ved å være dyktig i teknikker som identifiserer interessentbehov, kunne forhandle om prioriteringer av interessenten sine interesser, og å samarbeide med utviklere for å sikre effektiv implementering av krav.

=== Utviklerne ===
Utviklerne utfører alt arbeidet som kreves for å bygge verdi inkrementelt i hver sprint.<ref name=":0">{{Kilde bok|tittel=Scrum: an ideal framework for agile projects|etternavn=Morris|fornavn=David|utgiver=In Easy Steps|isbn=9781840787313|oclc=951453155}}</ref>

Begrep utvikler<ref name="scrumguide">{{Kilde www|url=https://www.scrumguides.org/scrum-guide.html|tittel=The Scrum Guide|besøksdato=October 27, 2017|etternavn=Ken Schwaber|forlag=Scrum.org}}</ref> refererer til alle som spiller en rolle i utviklingen og støtten til systemet eller produktet, og kan inkludere forskere, arkitekter, designere, dataspesialister, statistikere, analytikere, ingeniører, programmerere og testere, med flere.<ref name=":2">{{Kilde bok|tittel=Agile Scrum Foundation Courseware, Second Edition|etternavn=Rad|fornavn=Nader K.|etternavn2=Turley|fornavn2=Frank|dato=2018|utgiver=Van Haren|isbn=9789401802796|utgivelsessted='s-Hertogenbosch, Netherlands}}</ref> På grunn av forvirringen som kan oppstå med at noen mennesker ikke føler at begrepet utvikler passer for dem blir de ofte referert til som ''gruppemedlemmer''.

Teamet er selvorganiserende. Selv ingen arbeidsoppgaver skal kommer til teamet unntatt gjennom produkteieren og at scrumlederen forventes å beskytte teamet mot distraksjoner, så oppfordres teamet likevel til å samhandle direkte med kunder og/eller interessenter for å få maksimal forståelse og umiddelbare tilbakemeldinger.<ref name=":0">{{Kilde bok|tittel=Scrum: an ideal framework for agile projects|etternavn=Morris|fornavn=David|utgiver=In Easy Steps|isbn=9781840787313|oclc=951453155}}</ref>

=== Scrumleder ===
{{main|Scrumleder}}Scrumprosessen blir tilrettelagt av en scrumleder (''scrum master''), som er ansvarlig for å fjerne hindringer for teamets evne til å levere produktmål og leveranser.<ref>Carroll, N, O’Connor, M. and Edison, H. (2018). The Identification and Classification of Impediments to Software Flow, The Americas Conference on Information Systems (AMCIS 2018), August 16–18, New Orleans, Louisiana, USA.</ref> Scrumlederen er ikke en tradisjonell teamleder eller [[prosjektleder]], men fungerer som en barriere mellom teamet og alle distraherende påvirkninger. Scrumlederen sikrer at scrumrammeverket følges ved å veilede teamet i scrumteori og -konsepter, tilrettelegge viktige økter, og oppfordre teamet til å vokse og forbedre seg. Rollen har også blitt referert til som en teamfasilitator eller [[Tjenende lederskap|tjenende leder]] for å understreke disse doble perspektivene.

Kjerneansvaret til en scrumleder inkluderer (men er ikke begrenset til):<ref>{{Kilde www|url=https://www.scrumalliance.org/why-scrum/core-scrum-values-roles|tittel=Core Scrum|besøksdato=January 25, 2015}}</ref>

* Hjelpe produkteieren med å vedlikeholde produktkøen på en måte som sikrer at det nødvendige arbeidet er godt forstått slik at teamet kan ha kontinuerlig fremgang
* Hjelpe teamet med å bestemme definisjonen av ferdig for et produkt, med innspill fra hovedinteressentene
* Veilede teamet, innenfor scrumprinsippene, for hjelpe de med å levere et produkt med høykvalitetsfunksjoner<ref name=":4">{{Kilde bok|tittel=Lean Mobile App Development: Apply Lean startup methodologies to develop successful iOS and Android apps|etternavn=Drongelen|fornavn=Mike van|etternavn2=Dennis|fornavn2=Adam|etternavn3=Garabedian|fornavn3=Richard|etternavn4=Gonzalez|fornavn4=Alberto|etternavn5=Krishnaswamy|fornavn5=Aravind|dato=2017|utgiver=Packt Publishing Ltd|isbn=9781786467041|utgivelsessted=Birmingham, UK}}</ref>
* Utdanne sentrale interessenter og resten av organisasjonen om scrumprinsipper (og muligens smidig utviklingsmetodikk)
* Hjelpe scrumteamet med å unngå eller fjerne hindringer for sin fremgang (både interne eller eksterne til hindringer)
* Fremme selvorganisering og kryssfunksjonalitet innad i teamet
* Legge til rette for viktige økter for å sikre regelmessig fremgang

Scrumlederen skal hjelpe mennesker og organisasjoner med å anta empirisk og strømlinjeformet tenkning, og etterlate håp om visshet og forutsigbarhet.

En av måtene rollen som scrumleder skiller seg fra en [[prosjektleder]] er at sistnevnte kan ha ansvar for [[Ledelse|personalledelse]], mens en scrumleder ikke har det. En scrumleder utøver en begrenset mengde ledelse siden teamet forventes å være bemyndiget og selvorganiserende.<ref>{{Kilde bok|tittel=The Project Manager's Guide to Mastering Agile: Principles and Practices for an Adaptive Approach|etternavn=Cobb|fornavn=Charles G.|dato=2015|utgiver=John Wiley & Sons|isbn=9781118991046|utgivelsessted=Hoboken, NJ}}</ref> Scrum anerkjenner ikke formelt rollen som prosjektleder på grunnlag av at tradisjonelle [[kommando og kontroll]]-tendenser vil føre til vanskeligheter.<ref name="scrumprimer">{{Kilde www|url=http://www.infoq.com/minibooks/Scrum_Primer|tittel=The Scrum Primer: A Lightweight Guide to the Theory and Practice of Scrum (Version 2.0)|etternavn=Pete Deemer|forlag=InfoQ}}</ref>

== Arbeidsflyt ==

=== Sprint ===
[[Fil:Scrum_Framework.png|høyre|miniatyr|Scrum-rammeverket]]
[[Fil:Scrum_process.svg|miniatyr|Scrum-prosessen]]
En [[Sprint (programvareutvikling)|sprint]] (også kjent som iterasjon eller tidsboks) er den grunnleggende tidsenheten for utvikling i scrum. Sprinten er et [[Tidsboks|tidsvindu]] som avtales og fastsettes på forhånd av hver sprint, og er normalt mellom en uke og en måned, hvor to uker er det vanligste.<ref name="schwaber">{{Kilde bok|url=https://archive.org/details/agileprojectmana0000schw|tittel=Agile Project Management with Scrum|etternavn=Schwaber|fornavn=Ken|forfatter-lenke=Ken Schwaber|dato=February 1, 2004|utgiver=[[Microsoft Press]]|isbn=978-0-7356-1993-7}}</ref>

Sprintplanleggingen utgjør starten på hver sprint, og starter med at man setter målene for sprinten. Derifra utformes sprintkøen som inneholder arbeidet som er tenkt å gjennomføres i den kommende sprinten.

Hver sprint avsluttes med de to hendelsene:

* Sprintgjennomgang: Oppnådd fremgang vises til interessentene for å få tilbakemeldinger.
* Sprintevaluering: Gjenkjenne læringspunkter og mulige forbedringer for neste sprint.<ref name="autogenerated1">{{Kilde www|url=https://www.scrumalliance.org/resource_download/35|tittel=Agile Development: Lessons learned from the first Scrum|besøksdato=September 26, 2008|arkiv-url=https://web.archive.org/web/20140630020607/http://www.scrumalliance.org/resource_download/35|arkivdato=June 30, 2014|fornavn=Jeff|etternavn=Sutherland|forfatterlenke=Jeff Sutherland|format=PDF}}</ref>

Det legges stor vekt på verdifulle og nyttige resultater på slutten av sprinten som faktisk er fullførte. Når det kommer til programvare vil dette sannsynligvis inkludere at produktet er fullt integrert, testet og dokumentert, og potensielt kan utgis.<ref name="scrumprimer">{{Kilde www|url=http://www.infoq.com/minibooks/Scrum_Primer|tittel=The Scrum Primer: A Lightweight Guide to the Theory and Practice of Scrum (Version 2.0)|etternavn=Pete Deemer|forlag=InfoQ}}</ref>

=== Sprintplanlegging ===
I begynnelsen av hver sprint har scrumteamet en planleggingsøkt hvor de:

* Blir enige om sprintmålene og lager en kort beskrivelse av hva de forutser å levere ved sprintens slutt, basert på prioriteringer satt av produkteieren
* Velger elementer fra produktkøen som bidrar til dette målet
* Danner en sprintkø ved å gjensidig diskutere og bli enige om hvilke elementer som er ment å bli gjennomførte iløpet av den sprinten

Den maksimale varigheten av en sprintplanlegging er 8 timer for en 4-ukers sprint.<ref name="scrumguide">{{Kilde www|url=https://www.scrumguides.org/scrum-guide.html|tittel=The Scrum Guide|besøksdato=October 27, 2017|etternavn=Ken Schwaber|forlag=Scrum.org}}</ref> Etterhvert som man har gått i detaljene på arbeidsoppgavene kan enkelte elementer i produktkøen bli delt opp eller returnert til produktkøen dersom teamet mener at de ikke kan fullføre det arbeidet iløpet av en enkelt sprint.

=== Daglig scrum ===
[[Fil:Daily_sprint_meeting.jpg|miniatyr|Den daglig scrummen gjennomføres ofte på et fast sted.]]
Hver dag i løpet av en sprint har utviklerne et daglig scrummøte med veldig spesifikke retningslinjer:<ref>{{Kilde www|url=https://www.scrum.org/resources/what-is-a-daily-scrum|tittel=What is a Daily Scrum?|besøksdato=January 6, 2020}}</ref><ref name="schwaber">{{Kilde bok|url=https://archive.org/details/agileprojectmana0000schw|tittel=Agile Project Management with Scrum|etternavn=Schwaber|fornavn=Ken|forfatter-lenke=Ken Schwaber|dato=February 1, 2004|utgiver=[[Microsoft Press]]|isbn=978-0-7356-1993-7}}</ref> Møtet gjennomføres noen ganger som [[ståmøte]], og alle utviklerne forventes å komme forberedt.

Den dagilige scrummen:

* Skal fokusere på å inspisere fremgangen mot sprintmålet
* Bør skje på samme tid og sted hver dag
* Er begrenset til en [[tidsboks]] på 15 minutter
* Utføres på den måten teamet bestemmer
* Kan inkludere andre deltakere, men bare utviklerne bør snakke
* Kan bli fasilitert av scrumlederen
* Kan identifisere hindringer for fremgang (for eksempel risikoer, problemer, forsinkede avhengigheter, antagelser som viste seg å være feil)<ref>{{Cite journal|title=Impediment Management|url=http://agileconsortium.blogspot.com/2011/01/impediment-management.html}}</ref>
* Inneholder ikke diskusjoner
* Er ikke et middel for å oppdatere fremdriftsdiagrammer

Ingen detaljerte diskusjoner bør skje under den daglige scrummen. Når møtet er over kan individuelle medlemmer diskutere problemer i detalj.<ref name=":5">{{Kilde bok|tittel=The Agile Developer's Handbook: Get more value from your software development: get the best out of the Agile methodology|etternavn=Flewelling|fornavn=Paul|dato=2018|utgiver=Packt Publishing Ltd|isbn=9781787280205|utgivelsessted=Birmingham, UK}}</ref> Identifiserte blokkasjer bør diskuteres kollektivt utenfor den daglige scrummen med sikte på å arbeide mot en løsning.

Dersom teamet ikke ser verdien i den daglige scrummen er det scrumlederens ansvar å finne ut hvorfor<ref>{{Kilde bok|tittel=The Art of Scrum: How Scrum Masters Bind Dev Teams and Unleash Agility|etternavn=McKenna|fornavn=Dave|dato=2016|utgiver=CA Press|isbn=9781484222768|utgivelsessted=Aliquippa, PA|språk=en}}</ref> og opplyse teamet og interessentene om scrumprinsippene<ref name=":4">{{Kilde bok|tittel=Lean Mobile App Development: Apply Lean startup methodologies to develop successful iOS and Android apps|etternavn=Drongelen|fornavn=Mike van|etternavn2=Dennis|fornavn2=Adam|etternavn3=Garabedian|fornavn3=Richard|etternavn4=Gonzalez|fornavn4=Alberto|etternavn5=Krishnaswamy|fornavn5=Aravind|dato=2017|utgiver=Packt Publishing Ltd|isbn=9781786467041|utgivelsessted=Birmingham, UK}}</ref> eller oppmuntre teamet til å designe sin egen metode for å holde teamet fullt informert om sprintfremgangen.

=== Sprintgjennomgang ===
I sprintgjennomgangen på slutten av hver sprint skal teamet:

* Presentere det ferdige arbeidet til interessentene (altså en [[Teknologi demo|teknisk demonstrasjon]])
* Samarbeide med interessentene om temaer som:
** Be om tilbakemeldinger på det ferdige produktinkrementet
** Diskutere innvirkningene av ufullstendig arbeid (både planlagte og ikke-planlagte{{Klargjør}})
** Motta forslag til kommende arbeid (veiledning om hva man skal jobbe med videre)

Produkteieren bør se på denne hendelsen som en verdifull mulighet til å gå gjennom og finjustere produktkøen sammen med interessentene.

Retningslinjer for sprintevaluernger er at:

* Ufullstendig arbeid bør ikke demonstreres, og interessentene bør presenteres med produktinkrementene som de vil motta. Interessentene kan også be om å få se arbeid som pågår dersom nødvendig, men teamet bør bare forberede seg på å vise det som har blitt gjort.
* Den anbefalte varigheten er to timer for en 2-ukers sprint (proporsjonalt for andre sprintvarigheter).<ref name="scrumguide">{{Kilde www|url=https://www.scrumguides.org/scrum-guide.html|tittel=The Scrum Guide|besøksdato=October 27, 2017|etternavn=Ken Schwaber|forlag=Scrum.org}}</ref>

=== Sprintevaluering ===
Under sprintevalueringen bør teamet:

* Reflektere over forrige sprint
* Identifiserere og bli enige om aksjoner for [[Kontinuerlig forbedringsprosess|kontinuerlig prosessforbedring]]

Noen retningslinjer for sprintevalueringen er:{{Trenger referanse}}

* Tre foreslåtte områder å vurdere i sprintevalueringen er:
** Hva gikk bra under sprinten?
** Hva gikk dårlig?
** Hva kan vi gjøre annerledes i neste sprint?
* Den anbefalte varigheten er 1.5 time for en 2-ukers sprint (proporsjonalt for andre sprintvarigheter).

Scrumlederen kan fasilitere økten, men deres tilstedeværelse anses ikke som obligatorisk.

=== Produktkøraffinering ===
Produktkøraffinering<ref>{{Kilde www|url=https://www.scrumalliance.org/ScrumRedesignDEVSite/media/ScrumAllianceMedia/Files%20and%20PDFs/Why%20Scrum/Core%20Scrum%20Translations/Core-Scrum-Norwegian.pdf|tittel=Scrum, en beskrivelse - 2012-12-13 Scrum Alliance, Inc. - Oversatt av Geir Amsjø, februar 2013}}</ref> (''backlog refinement'') er en finpuss av produktkøen. Det var ikke opprinnelig et kjerneprinsipp i scrum, men har siden blitt tatt med i ''Scrum Guide'' som en metode for å håndtere kvaliteten på elementene fra produktkøen som blir med inn i en sprint. Den innebærer en kontinuerlig prosess hvor man går gjennom og endrer, oppdaterer og stokker om på elementene i produktkøen i lys av ny informasjon.

Noen grunner for å endre produktkøen og dens elementer kan være:

* Oppdeling av større elementer inn i flere mindre
* Godkjenningskriterier kan avklares
* Avhengigheter kan identifiseres og undersøkes
* Et element kan kreve ytterligere utforskning og analyse
* Prioriteringene kan ha endret seg, og forventet verdi kan ha endret seg

Produktkøraffineringen innebærer at elementene er blir forberedt og ordnet på en måte som gjør dem tydelige og utførbare for utviklerne sin sprintplanlegging.

Produktkøen kan også inkludere [[teknisk gjeld]] (også kjent som designgjeld eller kodegjeld). Dette er et konsept innen programvareutvikling som gjenspeiler den implisitte kostnaden i form av forventet arbeid på et senere tidspunkt forårsaket av å velge en enklere løsning nå, istedet for å bruke en bedre tilnærming som ville tatt lengre tid å implementere i første omgang.

Det anbefales å investere inntil 10 prosent av et teams sprintkapasitet på produktkøraffinering.<ref name="scrumguide">{{Kilde www|url=https://www.scrumguides.org/scrum-guide.html|tittel=The Scrum Guide|besøksdato=October 27, 2017|etternavn=Ken Schwaber|forlag=Scrum.org}}</ref> Mer modne team vil ikke se på dette som en planlagt definert hendelse, men som en [[ad hoc]]-aktivitet som gjøres som en del av den naturlige arbeidsflyten ved at man raffinerer og justerer produktet etter behov.

=== Avlysning av en sprint ===
Produkteieren kan avbryte en sprint om nødvendig,<ref name="scrumguide">{{Kilde www|url=https://www.scrumguides.org/scrum-guide.html|tittel=The Scrum Guide|besøksdato=October 27, 2017|etternavn=Ken Schwaber|forlag=Scrum.org}}</ref> og kan ta med innspill fra andre (utviklere, scrumlederen eller ledelsen). For eksempel kan nylige eksterne faktorer negere verdien av sprintmålet slik at det er meningsløst å fortsette.

Når en sprint avsluttes unormalt er det neste steget å gjennomføre en ny sprintplanlegging hvor årsaken til termineringen av den forrige sprinten blir gjennomgått.

== Artefakter ==
En artefakt refererer til dokumentasjon for å administrere arbeidet i prosjektet.

=== Produktkø ===
{{hoved|Produktkø}}[[Produktkø|Produktkøen]] er en [[Arbeidsnedbrytningsstruktur|oversikt over arbeidet]] som skal gjøres, og inneholder en ordnet liste over [[Krav|produktkrav]] som teamet vedlikeholder for et [[Produktutvikling|produkt]]. Vanlige formater på elementene i produktkøen er [[Brukerhistorie|brukerhistorier]] og [[Bruksmønster|brukstilfeller]].<ref name="scrumprimer">{{Kilde www|url=http://www.infoq.com/minibooks/Scrum_Primer|tittel=The Scrum Primer: A Lightweight Guide to the Theory and Practice of Scrum (Version 2.0)|etternavn=Pete Deemer|forlag=InfoQ}}</ref> Disse kravene definerer [[programvarefunksjon|funksjoner]], [[Patch|feilrettinger]], [[ikke-funksjonelle krav]], og så videre, hva enn som kan levere et levedyktig produkt. Produkteieren prioriterer produktkøelementene basert på hensyn som risiko, forretningsverdi, avhengigheter, størrelse og datoen elementetne trengs.

Produktkøen er "hva som trengs sortert etter når det trengs", og er synlig for alle, men kan bare endres etter samtykke fra produkteieren som er ansvarlig for å administrere og vedlikeholde elementene i produktkøen.

Produktkøen inneholder produkteierens vurderinger av forretningsverdi, og kan inkludere teamets vurdering av forventet innsats eller kompleksitet (ofte, men ikke alltid, oppgitt i [[Planlegging poker|story points]] ved å bruke en [[Fibonacci skala (agile)|avrundet Fibonacci-følge]]). Disse estimatene hjelåe produkteieren med å anslå tidslinjen, og kan påvirke prioriteringen av elementene i produktkøen. For eksempel kan produkteieren planlegge at utav to funksjoner med lik forretningsverdi, så skal den ene arbeidsoppgaven med mindre utviklingsinnsats gjøres først (fordi det gir høyere [[avkastning]]) eller at oppgaven med større utviklingsinnsats gjøres først (fordi den er mer kompleks eller risikofylt, og de vil eliminere den risikoen tidligere).<ref>{{Kilde www|url=http://www.batimes.com/articles/authoring-requirements-in-an-agile-world.html|tittel=Authoring Requirements in an Agile World|fornavn=Tony|etternavn=Higgins|forlag=BA Times}}</ref>

Produktkøen og forretningsverdien til hvert produktkøelement er produkteierens ansvar. Innsatsen som kreves for å levere hvert element kan estimeres i story points eller tid. Ved å estimere i story points reduserer teamet avhengigheten til individuelle utviklere, og dette er spesielt nyttig for dynamiske team hvor utviklerne ofte blir tildelt annet arbeid etter sprintlevering. Dersom for eksempel en brukerhistorie estimeres som en 5 i innsats (ved hjelp av Fibonacci-følgen) forblir den estimert som 5 uansett hvor mange utviklere som jobber med oppgaven.

Story points definerer innsatsen i en tidsboks slik at de ikke endres med tiden.{{Klargjør}} For å ta et eksempel i overført betydning kan en person bruke en time på å gå, løpe eller klatre, men innsatsen som må legges inn blir helt klart annerledes. Den økende avstanden mellom Fibonacci-tallene oppfordrer teamet til å være varsmomme med å gi nøye vurderte estimater. Estimat på 1, 2 eller 3 impliserer lignende innsatsmengder (hvor 1 er en triviell mengde), men dersom teamet anslår 8 eller 13 (eller høyere) i innsatsmengde kan innvirkningen på både leveranse og budsjett være betydelig. Verdien av å bruke story points er at de kan gjenbrukes av teamet ved å sammenligne med lignende arbeid fra tidligere sprinter, men man bør være observant på at estimater er relative til det teamet. For eksempel kan en oppgave som gir et passende estimat på 5 for ett team tilsvare 2 for en annet team sammensatt av mer erfarne utviklere med høyere kapasitet.

Hvert team bør ha en produkteier, men i mange tilfeller kan en produkteier jobbe med flere enn ett team.<ref name=":1">Cohn, Mike. Succeeding with Agile: Software Development Using Scrum. Upper Saddle River, NJ: Addison-Wesley, 2010.</ref> Produkteieren er ansvarlig for å maksimere verdien til produktet. Produkteieren tar imot innspill og tilbakemeldinger fra mange mennesker, men tar til slutt den endelige avgjørelsen om hva som blir bygget.

Produktkøen:

* Fanger opp forespørsler om å endre et produkt, inkludert nye funksjoner, erstatning av gamle funksjoner, fjerning av funksjoner og løsning av problemer
* Sikrer at utviklerne har arbeid som maksimerer virksomhetens nytte av produktet

Vanligvis jobber hele teamet sammen for å finjustere produktkøen. Det er naturlig at produktkøen utvikler seg etterhvert som det dukker opp mer informasjon om produktet og dets kunder, og disse behovene kan gjøres noe med i senere sprinter.

==== Administrasjon ====
En produktkø er i sin enkleste form en liste over arbeidsopgaver. Å ha veletablerte regler for hvordan arbeid legges til, fjernes og rangeres hjelper hele teamet med å ta bedre beslutninger om hvordan produktet skal endres.<ref>{{Kilde www|url=https://www.atlassian.com/agile/backlogs|tittel=The product backlog: your ultimate to-do list|besøksdato=July 20, 2016}}</ref>

Produkteieren prioriterer elementene i produktkøen basert på hvilke av dem som trengs tidligst. Basert på sprintmålet velger utviklerne elementer for den kommende sprinten, og flytter disse elementene fra produktkøen til sprintkøen. Konseptuelt påvirkes spintmålene av de høyt prioritets elementene i sprintkøen, men det er ikke uvanlig at utviklere tar for seg noen lavere priortitere elemeneter dersom det er tid til overs innenfor sprinten.

Høyt prioriterte elementer (på toppen av køen) bør brytes ned mer detaljert slik at de er egnet for at utviklerne kan jobbe med dem. Jo lengre ned man kommer i køen, jo mindre detaljerte trenger elementene å være. Schwaber og Beedle har uttalt at "Jo lavere prioritet, desto mindre detaljer før man knapt kan se køelementet."<ref name="schwaber">{{Kilde bok|url=https://archive.org/details/agileprojectmana0000schw|tittel=Agile Project Management with Scrum|etternavn=Schwaber|fornavn=Ken|forfatter-lenke=Ken Schwaber|dato=February 1, 2004|utgiver=[[Microsoft Press]]|isbn=978-0-7356-1993-7}}</ref>

Etterhvert som teamet arbeider seg gjennom køen må man anta at endringer skjer utenfor deres miljø. Teamet kan bli kjent med nye markedsmuligheter som de kan utnytte, det kan oppstå trusler fra konkurrenter, og det kan komme tilbakemeldinger fra kunder som kan endre hvordan produktet er ment å fungere. Alle disse idéene har en tendens til å trigge teamet til å tilpasse køen for å innarbeide den nye kunnskapen. Dette er en del av den grunnleggende tankegangen til et smidig team: Verden endrer seg, og køen blir aldri ferdig.

=== Sprintkø ===
Sprintkøen er utvalgte elementer fra produktkøen som er planlagt utviklet i den aktuelle sprinten.<ref name="MartinelliMilosevic2016">{{Kilde bok|url=https://books.google.com/books?id=SbA7CwAAQBAJ&pg=PA304|tittel=Project Management ToolBox: Tools and Techniques for the Practicing Project Manager|etternavn=Russ J. Martinelli|etternavn2=Dragan Z. Milosevic|dato=January 5, 2016|utgiver=Wiley|isbn=978-1-118-97320-2|side=304}}</ref> Utviklerne vil fylle sprintkøen til de føler at de har nok arbeid til å fylle sprinten, og baserer seg da på tidligere resultater for å vurdere deres kapasitet og bruke dette som en retningslinje for hvor mye de kan fullføre i den kommende sprinten.

Arbeid i sprintkøen blir aldri tildelt utviklere, istedet henter teammedlemmene arbeidsoppgaver etter behov i henhold til køprioritet og deres egne ferdigheter og kapasitet. Dette fremmer selvorganisering hos utviklerne.

Sprintkøen tilhører utviklerne, og alle tilhørende estimater er gitt av utviklerne. Noen team bruker en [[kanbantavle]] for å visualisere tilstanden på arbeidsoppgavene i nåværende sprint med forskjellige felter for "må gjøres", "under arbeid", "ferdig" (''todo'', ''doing'', ''done''), men dette er ikke egentlig en del av scrum (se [[kanban]]).

=== Inkrement ===
Inkrementet er det potensielt utgivbare resultat fra sprinten som oppfyller sprintmålene. Inkrementet dannes av alle de fullførte elementene fra sprintkøen integrert med arbeidet fra alle de foregående sprintene. Inkrementet må være komplett i henhold til scrum sin definisjon av "ferdig" (''definition of done'', DoD), og må være i fullt brukbar tilstand uavhengig av hvorvidt produkteieren bestemmer seg for å faktisk deployere og ta det i bruk.

=== Utvidelser ===
De følgende artefaktene brukes av-og-til som hjelpemidler sammen med scrum:<ref name="scrumguide">{{Kilde www|url=https://www.scrumguides.org/scrum-guide.html|tittel=The Scrum Guide|besøksdato=October 27, 2017|etternavn=Ken Schwaber|forlag=Scrum.org}}</ref>

==== Burndown-diagram ====
[[Fil:SampleBurndownChart.svg|miniatyr|Eksempel på et [[burndown-diagram]] for en fullført sprint. Diagrammet viser gjenstående arbeid på slutten av hver dag.]]
Et [[burndown-diagram]] er en grafisk fremstilling av gjenstående arbeidsoppgaver sammenlignet med tid, og brukes for å forutsi når et arbeid vil bli fullført.<ref name="Cobb2015">{{Kilde bok|url=https://books.google.com/books?id=vHjTBQAAQBAJ&pg=PA378|tittel=The Project Manager's Guide to Mastering Agile: Principles and Practices for an Adaptive Approach|etternavn=Charles G. Cobb|dato=January 27, 2015|utgiver=John Wiley & Sons|isbn=978-1-118-99104-6|side=378}}</ref> Det brukes med scrum, men er strengt tatt ikke en del av scrum. Diagrammet oppdateres hver dag og kan gi en rask visualisering av prosjektets fremgang. Den horisontale aksen viser antall dager som gjenstår, mens den vertikale aksen viser hvor mye arbeid som gjenstår for hver dag.

Det idelle burndown-diagrammet plottes under sprintplanleggingen, og deretter oppdaterer utviklerne diagrammet dag for dag med gjenstående arbeid slik at man får en sammenligning av predikert og faktisk fremgang.

==== Release burnup-diagram ====
[[Fil:SampleBurnupChart.png|miniatyr|Eksempel på et [[burnup-diagram]] for en utgivelse som viser omfang fullført ved hver sprint. Linjen merket MVP viser til det [[Enkleste brukbare produkt|enkleste brukbare produktet]].]]
Et release [[burnup-diagram]] gir teamet mulighet for synlighet og sporing av fremgang mot en utgivelse. Det oppdateres på slutten av hver sprint, og viser fremgangen mot å levere et estimert omfang. Den horisonale aksen på burnup-diagrammet viser sprintene i en utgivelse, mens den vertikale aksen viser mengden arbeid fullført på slutten av hver av sprintene (typisk representert med kumulative story points for fullført arbeid). Fremdriften plottes som en linje som vokser oppover for å møte en horisontal linje som representerer the estimerte omfanget, vist med et estimat basert på fremgangen til dags dato som indikerer hvor mye av omfanget som ventes å fullføres ved en gitt utgivelsesdato, eller hvor mange sprinter det vil ta å fullføre det gitte omfanget.

Utgivelsesdiagrammet skal gjøre det enkelt å se hvor mye arbeid som har blitt fullført, hvor mye arbeid som har blitt lagt til eller fjernet (dersom den horisontale omfangslinjen har beveget seg) og hvor mye arbeid som gjenstår.

==== Definisjonen av klar ====
Definisjonen av hva som regnes for "klart" (''definition of ready'', DoR) er et startkriterie for å avgjøre hvorvidt [[Spesifikasjon|spesifikasjonene]] og innputt er satt tydelig nok til å starte arbeidselementet.

==== Definisjonen av ferdig ====
Definisjonen av hva som regnes for "ferdig" (''definition of done'', DoD) er et [[avslutningskriterie]] som brukes for å avgjøre hvorvidt et sprintkøelement regnes som fullført. For eksempel kan en definisjon av ferdig kreve at alle [[Regresjonstest|regresjonstester]] er vellykket (altså at endringer i programvaren ikke har ødelagt funksjonalitet som pleide å fungere). Definisjonen av ferdig kan variere fra et team til et annet, men må være konsekvent innenfor et team.<ref>Ken Schwaber, ''Agile Project Management with Scrum'', p.55</ref>

==== Hastighet ====
[[Hastighet (programvareutvikling)|Hastigheten]] eller implementeringshastigheten er et mål på teamets totale innsatskapasitet for en enkelt sprint, utledet ved å evaluere arbeidet som ble fullført i den forrige sprinten. Historiske hastighetsdata brukes da ofte som en rettesnor for å hjelpe teamet med å forstå kapasiteten deres i form av hvor mye arbeid de komfortabelt kan regene med å utføre.

Hastighetsmålet har vært kontroversielt innen scrummijøet:

* Forbrukte story points tilsvarer ikke levert verdi: Fokus på arbeidet som er gjort kan føre til at teamet mister fokus på fordeler interessenten får av leveransen.
* Innføring av distraherende prosesser: Det kan bli fokus på sammenligning av estimeringer kontra faktiske forhold, undersøkelser av varians, og man kan få en økende praksis med re-estimeringer.
* Ledelsen kan begynne å se på hastighet som et ytelsesmål og forsøke å øke hastigheten, hvilket medfører at:
** Kvalitet blir lidende: Teamet begynner å ta snarveier for å inkludere ekstra arbeidsbelastninger.
** Moralen blir lidende: Teamet er ikke i stand til å arbeide i et behagelig og bærekraftig tempo, og økt press fører til utbrenthet.
** Estimering blir lidende: Utviklerne vil blåse opp estimater for å bygge inn buffere og utnytte ytelsesmålet, og ender bare opp med å måle den samme innsatsen på en annen skala.
** Verdien blir lidende: Slutteffekten er forstyrrelser som forårsaker misnøye hos interessenten som følge av å bytte fokus bort fra levering av forretningsverdi.

Det finnes en verdi i å forstå leveransekapasiteten til et team som en indikator for teamet, men man bør ikke anse det som noe man kan justere.

==== Spike ====
En [[Spike (programvareutvikling)|spike]] er en [[tidsboks]] brukt til å undersøke et konsept eller lage en enkel prototype. Spikes kan enten planlegges å finne sted i mellom sprinter eller (gjerne for større team) bli tatt inn i sprinten som et av mange sprintmål. Spikes brukes ofte før levering av store eller komplekse produktkø-elementer for å sikre budsjett, skaffe kunnskap eller fremstille et [[konseptbevis]]. Varigheten og målene for spiken blir teamet enig om før den settes i gang. I motsetning til sprintforpliktelser behøver ikke spikes å levere konkret, utgivbar og verdifull funksjonalitet. For eksempel kan et spikemål være å lykkes med å ta en beslutning om å velge et konkret handlingsforløp. Spiken er over når tiden er ut, ikke nødvendigvis når målet har blitt levert.<ref>{{Kilde www|url=http://www.extremeprogramming.org/rules/spike.html|tittel=Create a Spike Solution|forlag=Extreme Programming}}</ref>

==== Sporlys ====
Et sporlys (''tracer bullet'') er en spike med nåværende arkitektur, nåværende teknologistakk og nåværende [[mønsterpraksis]] som resulterer i kode med produksjonskvalitet. Sporlyset kan være en veldig smal implementering av funksjonalitet, men er ikke bortkastet kode. Det skal ha produksjonskvalitet, og resten av iterasjonene skal kunne bygge på denne koden. Navnet har militær opprinnelse fra [[Sporlys|ammunisjon]] som lyser opp og gjør kulens bane synlig, hvilket gir mulighet for korrigeringer. Ofte er sporlys-implementeringer et hurtig skudd gjennom alle lagene i en applikasjon, som for eksempel å koble inndatafeltet i et enkelt skjema på klientdelen (''frontend'') med tjenerdelen (''backend'') for å bevise at lagene kan kobles sammen som forventet.<ref>{{Kilde www|url=http://www.gettingagile.com/2007/10/22/research-spikes-tracer-bullets-oh-my/|tittel=Research, Spikes, Tracer Bullets, Oh My!|besøksdato=October 23, 2016|fornavn=Chris|etternavn=Sterling}}</ref>.

== Begrensninger ==
Fordelene med scrum kan være vanskelige å oppnå dersom:

* '''Teamet har medlemmer som er geografisk spredde eller jobber deltid''': I scrum bør utviklere samhandle tett og kontinuerlig , og ideelt sett jobbe sammen på samme sted mesteparten av tiden. Til tross for at forbedringer i teknologi har redusert virkningen av disse barrierene (for eksempel ved å kunne samarbeide på en digital tavle) hevder manifestet for smidig programvareutvikling at den beste kommunikasjonsmetoden er ansikt til ansikt.<ref name="AgileManifesto">{{Kilde www|url=http://agilemanifesto.org/principles.html|tittel=Principles behind the Agile Manifesto|besøksdato=August 7, 2017|etternavn=Kent Beck|forlag=Agile Alliance}}</ref>
* '''Team hvor medlemmer har svært spesialiserte ferdigheter''': I scrum bør utviklere ha [[T-formede ferdigheter]] slik at de også kan jobbe med oppgaver utenfor deres spesialisering. Dette kan oppmuntres av godt scrumlederskap. Teammedlemmer med svært spesifikke ferdigheter kan også bidra godt, men bør ifølge scrum oppfordres til å lære om fagområder og samarbeide mer med folk fra andre disipliner.
* '''Produkter med mange eksterne avhengigheter''': I scrum kreves planlegging for å dele opp produktutviklingen i korte sprinter. Eksterne avhengigheter som for eksempel [[Akseptansetest (programvare)|brukerakseptansetester]] eller koordinering med andre team kan føre til forsinkelser og feil i individuelle sprinter.
* '''Produkter som er [[Produkt livssyklusteori|modne]], [[Legacy system|legacysystemer]] eller systemer med regulert [[kvalitetskontroll]]''': I scrum skal produktinkrementer være fullt utviklet og testet iløpet av en enkelt sprint. Produkter som trenger store mengder [[Regresjonstesting|regresjonstester]] for hver utgivelse (som for eksempel medisinsk utstyr eller styring av kjøretøy) er mindre egnet til korte sprinter enn lengre [[fossefallmodellen|fossefall-utgivelser]].

== Tilgjengelige verktøy ==
 
Det finnes et bredt spekter av verktøy som kan hjelpe med å ta i bruk scrum på en effektiv måte.

Mange bedrifter bruker generelle verktøy som for eksempel regneark for å bygge og vedlikeholde en sprintkø. Det finnes også egne programvarepakker (både med åpen og proprietær kildekode) som benytter scrumterminologi for for å hjelpe med produktutvikling.

Det er også mulig å implementere scrum uten programvareverktøy og istedet vedlikeholde artefaktene på papir, tusjtavle og notatlapper.<ref>{{Kilde www|url=http://targetprocess.com/download/whitepaper/agiletools.pdf|tittel=Agile Tools. The Good, the Bad and the Ugly|besøksdato=August 30, 2010|fornavn=Michael|etternavn=Dubakov}}</ref>

== Scrumverdier ==
Scrum er en tilbakemeldingsdrevet empirisk tilnærming som i likhet med alle former for empirisk prosesskontroll understøttes av de tre søylene gjennomsiktighet, inspeksjon og tilpasning. Alt arbeid innenfor scrumrammeverket skal være synlig for de som er ansvarlige for utfallet: prosessen, arbeidsflyten, fremdriften, og så videre. For å gjøre disse tingene synlige må scrumteamet ofte inspisere produktet som utvikles og hvor godt teamet fungerer. Ved hyppig inspeksjon kan teamet oppdage når arbeidet avviker utenfor akseptable grenser og tilpasse prosessen eller produktet som er under utvikling.<ref name=":0">{{Kilde bok|tittel=Scrum: an ideal framework for agile projects|etternavn=Morris|fornavn=David|utgiver=In Easy Steps|isbn=9781840787313|oclc=951453155}}</ref>

Disse 3 søylene krever tillit og åpenhet i teamet, hvilket blir muliggjort av de følgende 5 scrumverdiene:<ref name="scrumguide">{{Kilde www|url=https://www.scrumguides.org/scrum-guide.html|tittel=The Scrum Guide|besøksdato=October 27, 2017|etternavn=Ken Schwaber|forlag=Scrum.org}}</ref>

# Engasjement: Teammedlemmene forplikter seg individuelt til at teammålene skal oppnås i alle sprintene.
# Mot: Teammedlemmene vet at de har mot til å jobbe seg gjennom konflikter og utfordringer sammen slik at de kan gjøre det rette.
# Fokus: Teammedlemmene fokuserer utelukkende på teamets mål og sprintkøen, og det bør ikke gjøres noe arbeid utenom det som står i køen.
# Åpenhet: Teammedlemmene og deres interessenter er enige om å være åpne om sitt arbeid og eventuelle utfordringer de står overfor.
# Respekt: Teammedlemmene respekterer hverandre for å være teknisk dyktige og å jobbe med gode hensikter.

== Tilpasninger ==
Hybridiseringen av scrum med andre metoder for programvareutvikling er vanlig da scrum ikke dekker hele [[Programvarelivssyklus|livssyklusen for produktutvikling]], hvilket medfører at organisasjoner ser et behov for å legge til flere prosesser for å skape en mer komplett implementering. I starten av produktutviklingen legger for eksempel mange organisasjoner til prosessveiledning i [[Prosjektbegrunnelse|prosjektbegrunnelsen]], kravinnsamling og prioritering, et innledende høynivå-design, budsjett og en skisse for fremdrift.

Ulike forfattere og samfunn av mennesker som bruker scrum har også foreslått mer detaljerte teknikker for hvordan man kan bruke eller tilpasse scrum til bestemte problemer eller organisasjoner. Mange refererer til disse metodiske teknikkene som "mønstre" etter en analogi [[designmønster|designmønstre]] innen arkitektur og programvare.<ref>{{Kilde www|url=https://sites.google.com/a/scrumorgpatterns.com/www/|tittel=Scrum as Organizational Patterns|fornavn=Gertrud|etternavn=Bjørnvig|forlag=Gertrude & Cope}}</ref><ref>{{Kilde www|url=http://www.scrumplop.org|tittel=Scrum Pattern Community|besøksdato=July 22, 2016}}</ref>

=== Scrumban ===
Scrumban er en produksjonsmodell for programvare basert på scrum og [[Kanban (utvikling)|kanban]]. Scrumban er spesielt egnet for [[Vedlikehold av programvare|produktvedlikehold]] med hyppige og uventede arbeidselementer, som for eksempel [[Programvarefeil|produksjonsfeil]] eller programmeringsfeil. I slike tilfeller kan de tidsbegrensede sprintene i scrumrammeverket oppfattes å være av mindre nytte, selv om scrum sine daglige rutiner og annen praksis fortsatt kan brukes, avhengig av teamet og situasjonen for hånd. Visualisering av arbeidsfaser og begrensninger for samtidig uferdige arbeider og feil er kjent fra kanbanmodellen. Ved hjelp av disse metodene er teamets [[arbeidsflyt]] rettet på en måte som gir minimum tid for ferdigstillelse for hvert arbeidselement eller programmeringfeil, og sikrer på en annen side at hvert teammedlem konstant har arbeidsoppgaver.<ref name="knibergskarin">{{Kilde www|url=https://www.infoq.com/minibooks/kanban-scrum-minibook|tittel=Kanban and Scrum - Making the most of both|besøksdato=July 22, 2016|fornavn=Henrik|etternavn=Kniberg|format=PDF|forlag=InfoQ}}</ref>

For å illustrere hvert trinn i arbeidet bruker team som arbeider på samme sted ofte notatlapper eller en stor tavle.<ref name="scrumban">{{Kilde www|url=http://leansoftwareengineering.com/ksse/scrum-ban/|tittel=scrum-ban|besøksdato=September 13, 2012|fornavn=Corey|etternavn=Ladas|forlag=Lean Software Engineering}}</ref> I tilfelle teamet er desentralisert kan det bruke programvarebaserte varianter som Jira.

Den store forskjellen mellom scrum og kanban er at i scrum er arbeidet delt inn i sprinter som varer en fast tid, mens i kanban er arbeidsflyten kontinuerlig. Dette kan sees i arbeidstabellene, som i scrum tømmes etter hver sprint, mens i kanban vil alle oppgaver ligge i samme tabell. Scrum fokuserer på team med allsidig kunnskap, mens kanban muliggjør spesialiserte funksjonelle team.<ref name="knibergskarin">{{Kilde www|url=https://www.infoq.com/minibooks/kanban-scrum-minibook|tittel=Kanban and Scrum - Making the most of both|besøksdato=July 22, 2016|fornavn=Henrik|etternavn=Kniberg|format=PDF|forlag=InfoQ}}</ref>

=== Scrum of scrums ===
''Scrum of scrums'' er en teknikk for å ta i bruk scrum i større skala i form av flere scrumteam som arbeider på samme produkt slik at de kan diskutere fremgang på gjensidige avhengigheter, særlig på områder med overlapp og integrasjon. Det har et fokus på hvordan å koordinere leveranse av programvare,<ref name="scrumofscrums" />

Avhengig av kadensen eller timingen av scrum of scrums avsluttes den daglige scrummen for hvert scrumteamene ved å utpeke et medlem som en ambassadør for å delta i scrum of scrums med ambassadører fra andre team. Avhengig av konteksten kan ambassadørene for eksempel være tekniske bidragsytere eller hvert av teamene sin scrumleder.<ref name="scrumofscrums">{{Kilde www|url=http://guide.agilealliance.org/guide/scrumofscrums.html|tittel=Scrum of Scrums|forlag=Agile Alliance}}</ref>

Istedet for bare å fokusere på å oppdatere fremdriften bør scrum of scrums fokusere på hvordan teamene arbeider kollektivt for å løse, redusere eller akseptere risikoer, hindringer, avhengigheter og forutsetninger (samlet kalt RIDA-er fra: ''risks'', ''impediments'', ''dependencies'', ''assumptions'') som har blitt identifiserte. Scrum of scrums sporer disse risikoene, hindringene, avhengighetene og forutsetningene i en egen kø, for eksempel en risikotavle, noen ganger kalt ROAM-tavle (etter initialene til ''resolved'', ''owned'', ''accepted'', ''mititagated'')<ref>{{Kilde www|url=http://www.allaboutagile.com/risk-management-how-to-stop-risks-from-screwing-up-your-projects/|tittel=Risk Management – How to Stop Risks from Screwing Up Your Projects!|forlag=Kelly Waters}}</ref> som vanligvis fører til bedre koordinering og samarbeid mellom teamene.<ref name="scrumofscrums">{{Kilde www|url=http://guide.agilealliance.org/guide/scrumofscrums.html|tittel=Scrum of Scrums|forlag=Agile Alliance}}</ref>

En scrum of scrums bør kjøres på lignende måte som en daglig scrum, for eksempel ved at hver ambassadør svarer på følgende fire spørsmål:<ref>{{Kilde www|url=http://scrummastertest.com/scrum-of-scrums/|tittel=Scrum of Scrums|besøksdato=May 29, 2015}}</ref>

* Hvilke risikoer, hindringer, avhengigheter eller forutsetninger har teamet ditt løst siden vi sist møttes?
* Hvilke risikoer, hindringer, avhengigheter eller forutsetninger vil teamet ditt løse før vi møtes igjen?
* Er det noen nye risikoer, hindringer, avhengigheter eller forutsetninger som sakker ned eller kommer i veien for teamet ditt?
* Er du i ferd med å introdusere en ny risiko, hindring, avhengighet eller antagelse som kan komme i veien for et annet team?

Jeff Sutherland, som opprinelig definerte scrum of scrums, har kommentert at scrum of scrums ikke er en meta-scrum, og at det har blitt brukt med suksess.<ref name="scrumofscrums">{{Kilde www|url=http://guide.agilealliance.org/guide/scrumofscrums.html|tittel=Scrum of Scrums|forlag=Agile Alliance}}<cite class="citation web cs1" data-ve-ignore="true">[http://guide.agilealliance.org/guide/scrumofscrums.html "Scrum of Scrums"]. Agile Alliance. December 17, 2015.</cite></ref> Han nevnte eksempler et prosjekt med PatientKeeper hvor de leverte til produksjon fire ganger per sprint, et prosjekt for Ancestry.com hvor de leverte til produksjon 220 ganger per 2-ukers sprint, og Hubspot hvor de leverte 100-300 ganger til produksjon om dagen. Scrum of scrums-ledere er ansvarlige for dette arbeidet, hvilket ifølge han gjør scrum av scrums til en operativ leveringsmekanisme

=== Scrum i storskala ===
''Large-scale scrum'' (LeSS) er et rammerk for produktutvikling som utvider scrum med skaleringsregler og -retningslinjer uten å miste de opprinnelige formålene med scrum.

Rammeverket har to nivåer, hvor det første nivået av LeSS er designet for inntil 8 team, mens det andre nivået (kalt "LeSS Huge") introduserer flere skaleringselementer for å kunne drive utvikling med opp til hundrevis av utviklere. Ifølge en kilde starter scrum i storskala med å forstå at de enkelte scrum teamene må være ordentlige scrumteam som følger scrumrammeverket. Man skal så forsøkte å finne ut hvordan man kan nå de samme formålene samtidig som man holder seg innenfor begrensningene av de vanlige scrumreglene.<ref>{{Kilde www|url=http://www.crosstalkonline.org/storage/issue-archives/2013/201305/201305-larman.pdf|tittel=Scaling Agile Development (Crosstalk journal, November / December 2013)|etternavn=Larman}}</ref>

Bas Vodde og Craig Larman utviklet LeSS-rammeverket fra egne erfaringer med produktutvikling i stor skala, særlig innen telekom- og finansnæringene. De utviklet det ved å for seg scrum og prøvde mange forskjellige eksperimenter for å se hva som fungerte, inntil de i 2013 landet på LeSS-rammeverket.<ref>{{Kilde www|url=http://less.works|tittel=Large-Scale Scrum (LeSS)}}</ref> Hensikten med LeSS er å nedskalere organisasjonskompleksitet, løse opp unødvendig komplekse organisasjonsløsninger, og løse de på enklere måter gjennom færre roller, mindre ledelse og færre organisasjonsstrukturer.<ref>{{Kilde www|url=https://leanarch.eu/2015/05/09/descaling-organisation-with-less-2/|tittel=Descaling organisation with LeSS (Blog)|etternavn=Grgic}}</ref>

== Kritikk ==
Scrum har blitt kritisert fra mange hold. Dette har stort sett blitt forsvart med at de som kritiserer angivelig bruker konseptene dårlig og forventer gode resultater, eller misforstår de kulturelle endringene som scrum krever:

* Scrummøter har blitt kritisert for å hindre [[produktivitet]] og kaste bort tid som kunne blitt brukt bedre på faktiske produktive oppgaver.<ref>{{Kilde www|url=https://www.tandemseven.com/blog/meetings-productivity-killer-for-developers/|tittel=Meetings: The productivity killer for developers|besøksdato=June 5, 2020|fornavn=John|etternavn=Jenson}}</ref> En mulig forklaring på dette kan være en misforståelse av møtenes formål<ref>{{Kilde www|url=https://www.scrum.org/resources/blog/5-dysfunctions-daily-scrum|tittel=5 Dysfunctions of a Daily Scrum|besøksdato=July 3, 2021}}</ref> slik at møtene blir for langtekkelige og grundige istedet for en kort tidboks med diskusjoner.
* Scrumprosesser som ikke skjer i tråd med manifestet for smidig utvikling har en tendens til å utvikle seg til en form for [[mikromanagement]]<ref>{{Kilde www|url=https://hackernoon.com/how-to-transition-from-agile-to-micromanagement-de9247c26e11|tittel=How to transition from Agile to micromanagement {{!}} Hacker Noon|besøksdato=June 5, 2020|fornavn=Isaak Tsalicoglou|etternavn=on}}</ref> og gjeninnfører de samme dysfunksjonene som de var ment å fjerne.
* Scrum antar også at innsatsen som kreves for å fullføre arbeidet kan estimeres nøyaktig, selv om dette ofte kan være ganske [[Forutsigbarhet|uforutsigbart]].<ref>{{Kilde www|url=https://www.forbes.com/sites/cognitiveworld/2019/08/23/the-end-of-agile/|tittel=The End of Agile|besøksdato=June 5, 2020|fornavn=Kurt|etternavn=Cagle}}</ref>
* Scrum unngår med vilje å beskrive hvordan det skal praktiseres<ref>{{Kilde www|url=https://seattlescrum.com/things-ken-schwaber-intentionally-omits-from-scrum/|tittel=Things Ken Schwaber Intentionally Omits From Scrum|besøksdato=July 3, 2021|fornavn=Michael|etternavn=James (MJ)}}</ref> for å oppmuntre til frihet til empirisk analyse og eksperimentering.
* Scrum oppfattes å være en form for styring av prosjekter snarere enn en alternativ tilnærming til det
* Å ta i bruk scrum vil ikke gi resultater av høy kvalitet umiddelbart, og utålmodighet kan således hindre scrum fra å sette seg og vokse

Vanlige dysfunksjonelle tilnærminger<ref>{{Kilde www|url=https://medium.com/@david.derecskey/5-common-team-dysfunctions-and-how-the-5-core-scrum-values-directly-address-them-f0e7eb292946|tittel=5 Common Team Dysfunctions (and How the 5 Core Scrum Values Directly Address Them)|besøksdato=July 3, 2021|fornavn=Dave|etternavn=Derecskey}}</ref> til scrum har blitt anerkjent som antimønstre, inkludert under navn som ''dark scrum''<ref>{{Kilde www|url=https://ronjeffries.com/articles/016-09ff/defense/|tittel=Dark Scrum|besøksdato=July 3, 2021}}</ref> og ''scream''.<ref>{{Kilde www|url=https://docs.google.com/document/d/1-2aZP3BlctQrWP8bNpSxkVBKphypALPINUGGTn26els/preview?usp=embed_facebook|tittel=The Scream Guide|besøksdato=July 3, 2021}}</ref>

== Se også ==

* [[Strømlinjeformet produksjon]] og strømlinjeformet programvareutvikling
* [[Prosjektledelse]]
* [[Rational Unified Process|Enhetlig prosess]]
* [[Informasjonssystem]]
* [[Extreme Programming|Ekstrem programmering]]

== Referanser ==
 
[[Kategori:Programvareutvikling]]
[[Kategori:Smidig utviklingsmetodikk]]
[[Kategori:Smidig utviklingsmetodikk]]

Sideversjonen fra 24. jan. 2022 kl. 19:57

Innen prosjektledelse er scrum et rammeverk for å utvikle, levere og opprettholde produkter i et komplekst miljø. Scrum har sin bakgrunn fra programvareutvikling, men har også blitt brukt i andre felt inkludert forskning, salg, markedsføring og høyteknologi.[1] Metodikken er designet for team med 3 til 10 medlemmer, og bryter ned arbeidet i mål (sprintkøer) som skal fullføres innen tidsbokser kalt sprinter. Sprintene har som regel varighet ikke lengre enn en måned og oftest to uker. Scrumteamet vurderer fremgangen i daglige møter på 15 minutter eller mindre kalt daglige scrums (en form for ståmøte). På slutten av sprinten har teamet har ytterligere to møter, henholdsvis sprintgjennomgang hvor man viser utført arbeid for interessenten for å få tilbakemeldinger, og sprintevaluering hvor teamet kan reflektere og forbedre seg.

Navn

Begrepet scrum ble først brukt i forbindelse med programvareutvikling i 1986 i artikkelen "The New New Product Development Game" av japanerne Hirotaka Takeuchi og Ikujiro Nonaka.[2][3] Artikkelen ble publisert i januar 1986-utgaven av Harvard Business Review. Begrepet er lånt fra rugby hvor scrum er en spillerformasjon.[bør utdypes] Begrep scrum ble valgt av artikkelforfatterne fordi det legger vekt på samarbeid.[4]

Scrum blir av og til skrevet med store bokstaver som i SCRUM.[5] Navnet er dog ikke en forkortelse, og varianten skrevet med store bokstaver stammer trolig fra en artikkel skrevet av Ken Schwaber i 2004 hvor SCRUM var en del av tittelen.[6]

Varemerket scrum har gjennom sin utstrakte bruk gått over til å anses som et degenerert varemerke eid av samfunnet istedet for et individ.[7]

Mange av begrepene som brukes i scrumlitteraturen på engelsk skrives ofte med store forbokstaver (for eksempel Scrum Master, Daily Scrum), men i de fleste tilfellene bør man ikke bruke store bokstaver (hverken på norsk eller engelsk) dersom begrepet er et fellesnavn. I denne artikkelen brukes derfor små bokstaver for fellesnavn i henhold til vanlig gramatikk (for eksempel scrum master, daily scrum), med mindre det henvises til egennavn (som for eksempel produktnavn eller anerkjente sertifiseringer som Certified Scrum Master og Professional Scrum Master).

Viktige idéer

Scrum er et lett, iterativt og inkrementellt rammeverk for utvikling, levering og vedlikehold av komplekse produkter.[8][9] Rammeverket utfordrer antagelser om den tradisjonelle, sekvensielle tilnærmingen til produktutvikling (som fossefallmodellen), og gjør det mulig for team å organisere seg selv ved å oppmuntre[trenger referanse] til fysisk samlokalisering eller tett nettbasert samarbeid mellom alle teammedlemmer, samt daglig kommunikasjon ansikt-til-ansikt mellom alle teammedlemmer og involverte disipliner.[klargjør]

Et sentralt prinsipp i scrum er den doble anerkjennelsen om at kunden på den ene siden vil endre omfanget av hva som ønskes (usikkerhet i kravene, kalt requirements volatility[10] på engelsk) og at det på den andre siden vil være uforutsigbare utfordringer som en prediktiv eller planlagt tilnærming ikke vil passe for. Disse endringene kan komme fra en rekke kilder, men i henhold til scrum er det irrelevant å prøve å forstå hvorfor, og endringer bør bare aksepteres, omfavnes og analyseres for hvilke fordeler de kan bringe.

Som sådan har scrum en bevisbasert empirisk tilnærming ved at man aksepterer at et problem ikke kan fullt ut forstås eller defineres på forhånd, og legger istedet vekt på hvordan man kan maksimere teamets mulighet eller evne til å levere raskt, respondere på nye krav, og tilpasse seg til nye teknoloier og endringer i markedet.

Historie

I 1986 introduserte Hirotaka Takeuchi og Ikujiro Nonaka begrepet scrum i sammenheng med produktutvikling i Harvard Business Review-artikkelen The New New Product Development Game. Takeuchi og Nonaka argumenterte senere i Knowledge Creating Company[11] at det er en form for "organisatorisk kunnskapsbygging" særlig egnet for å skape trinnvis og kontinuerlig innovasjon.

Basert på tilfellestudier fra produsenter av biler, kopimaskiner og skrivere beskrev Takeuchi og Nonaka en ny tilnærming til kommersiell produktutvikling som ville gi økt hastighet og fleksibilitet. De kalte denne tilnærmingen helhetlig eller rugbyaktigettersom hele prosessen utføres av ett tverrfunksjonelt team over flere overlappende faser hvor laget prøver å fullføre hele prosessen som et lag "og sender ballen frem og tilbake".[12] Navnet stammer også fra rugby, hvor en scrum brukes for å restarte spillet ved at spillere fra hvert av lagene stiller seg sammen mot motstanderne med hodet ned for å forsøke å få besittelse av ballen.[13]

Scrum-rammeverket er basert på forskning gjort av Schwaber sammen ved ingeniøren Babatunde Ogunnaike ved DuPont Research Station og University Of Delaware.[6] Ogunnaike gav råd om at forsøk på å utvikle komplekse produkter (som for eksempel programvare) som ikke var basert på empirisme var dømt til å ha høyere risiko og feilrater etterhvert som de opprinnelige forholdene og forutsetningene endret seg. Empirisme ved hjelp av hyppige inspeksjoner og tilpasninger sammen med fleksibilitet og åpenhet ble ansett av dem som en mer hensiktsmessig tilnærming.

Tidlig i 1990-årene brukte Ken Schwaber et rammeverk i hans selskap kalt Advanced Development Methods som lignet på det som skulle bli scrum, mens Jeff Sutherland, John Scumniotales og Jeff McKenna utviklet en lignende tilnærming ved Easel Corporation som de kalte Scrum.[14]

Sutherland og Schwaber jobbet sammen for å integrere sine ideer i ett enkelt rammeverk, scrum. De testet scrum og forbedret det kontinuerlig, noe som førte til artikkelen deres fra 1995,[15] samt deres bidrag til manifestet for smidig programvareutvikling i 2001 som var med på å popularisere smidig programvareutvikling,[16] og verdensomspennende spredning og bruk av scrum siden 2002.

I 1995 presenterte Sutherland og Schwaber i fellesskap en artikkel som beskrev scrumrammeverket på Business Object Design And Implementation Workshop som en del av Object-Oriented Programming, Systems, Languages & Applications '95 (OOPSLA 1995) i Austin, Texas.[15] Med sin erfaring med utvikling av god praksis samarbeidet Schwaber og Sutherland i løpet av de påfølgende årene for å kombinere deres materiale og utvikle det til det som ble kjent som scrum.[17]

I 2001 beskrev Schwaber og Mike Beedle metoden i boken Agile Software Development with Scrum.[18] Scrum sin tilnærming til planlegging og styring av produktutvikling innebærer å bringe beslutningsmyndigheter til et annet nivå.[6][klargjør]

I 2002 grunnla Schwaber med flere Scrum Alliance[19] og satte opp akkrediteringen Certified Scrum. I slutten av 2009 forlot Schwaber Scrum Alliance og grunnla Scrum.org[20] som gir den alternative akkrediteringen Professional Scrum.[21]

Siden 2009 har det offentlig tilgjengelige dokumentet Scrum Guide[17] blitt publisert og oppdatert jevnlig av Schwaber og Sutherland. I november 2020 ble 6. utgave utgitt.

Scrumteamet

Den grunnleggende enheten i scrum er et lite team av mennesker bestående av en produkteier, en scrumleder og utviklere. Teamet er selvstyrt, tverrfunksjonelt og fokuserer på ett mål om gangen som er produktmålet.

Produkteier

Utdypende artikkel: Produkteier

Produkteieren som representerer produktets interessenter, og er kundens stemme (eller kan representere ønskene til en komité[22]), og er ansvarlig for å levere gode forretningsresultater. Derfor er produkteieren ansvarlig for produktkøen og for å maksimere verdien som teamet leverer.[22] Produkteieren definerer produktet i form av kundesentriske resultater (vanligvis, men ikke begrenset til, brukerhistorier), legger de til produktbackloggen, og prioriterer de basert på viktighet og avhengigheter.[23] Et scrumteam bør bare ha én produkteier (selv om en produkteier kan hjelpe flere enn ett team),[24] og det anbefales sterkt å ikke kombinere rollen som produkteier med rollen som scrumleder. Produkteieren bør fokusere på forretningssiden av en produktutvikling og tilbringe mesteparten av tiden med interessenter og teamet. Produkteieren dikterer ikke hvordan teamet skal oppnå en teknisk løsning, men søker istedet konsensus blant teammedlemmene.[25][26][27] Rollen som produkteier er avgjørende, og krever en dyp forståelse av både virksomhetssiden og ingeniørsiden (utviklerne) i scrumteamet. Derfor bør en god produkteier kunne kommunisere hva virksomheten trenger, spørre hvorfor de trenger det (fordi det kan være bedre måter å oppnå det på) og formidle budskapet til alle interessenter etter behov, inkludert utviklerne som bruker teknisk språk. Produkteieren bruker scrum sine empiriske verktøy for å håndtere svært komplekst arbeid, og styrer samtidig risikoen og verdioppnåelse.

Kommunikasjon er en av hovedoppgavene til produkteieren. Evnen til å formidle prioriteringer og sympatisere med teammedlemmer og interessenter er avgjørende for å styre produktutviklingen i riktig retning. Produkteierrollen bygger en bro over kommunikasjonsgapet mellom teamet og dets interessenter, og fungerer som et mellomledd for interessentene til teamet, og som en teamrepresentant for de samlede interessentene.[28][29]

Som teamets ansikt ovenfor interessentene er følgende noen av kommunikasjonsoppgavene til en produkteier ovenfor interessentene:[30]

  • Definere og kunngjøre utgivelser
  • Kommunisere status på produkt og leveranse
  • Dele fremgang under styringsmøter
  • Dele betydelige risikoer, hindringer, avhengigheter og forutsetninger med interessentene
  • Forhandle prioriteringer, omfang, finansiering og tidsplan
  • Sørge for at produktkøen er synlig, gjennomsiktig og tydelig

Empati er en viktig egenskap å ha for en produkteier, altså evnen til å sette seg selv i andres sko. En produkteier snakker med ulike interessenter med en ulike bakgrunner, med jobbroller og ulike mål, og bør kunne sette pris på forskjellige synspunkt disse kommer med. For å være effektiv er det lurt for en produkteier å vite detaljnivået publikummet trenger. Utviklerne trenger grundige tilbakemeldinger og spesifikasjoner slik at de kan bygge et produkt som står til forventningene, mens en prosjektsponsor kanskje bare trenger et sammendrag av fremgangen. Å gi mer informasjon enn nødvendig kan kaste bort tid og gjøre at interessenten mister interesse. En direkte metode for kommunikasjon foretrekkes av erfarne produkteiere.[24]

En produkteiers evne til å kommunisere effektivt forbedres også ved å være dyktig i teknikker som identifiserer interessentbehov, kunne forhandle om prioriteringer av interessenten sine interesser, og å samarbeide med utviklere for å sikre effektiv implementering av krav.

Utviklerne

Utviklerne utfører alt arbeidet som kreves for å bygge verdi inkrementelt i hver sprint.[23]

Begrep utvikler[17] refererer til alle som spiller en rolle i utviklingen og støtten til systemet eller produktet, og kan inkludere forskere, arkitekter, designere, dataspesialister, statistikere, analytikere, ingeniører, programmerere og testere, med flere.[31] På grunn av forvirringen som kan oppstå med at noen mennesker ikke føler at begrepet utvikler passer for dem blir de ofte referert til som gruppemedlemmer.

Teamet er selvorganiserende. Selv ingen arbeidsoppgaver skal kommer til teamet unntatt gjennom produkteieren og at scrumlederen forventes å beskytte teamet mot distraksjoner, så oppfordres teamet likevel til å samhandle direkte med kunder og/eller interessenter for å få maksimal forståelse og umiddelbare tilbakemeldinger.[23]

Scrumleder

Utdypende artikkel: Scrumleder

Scrumprosessen blir tilrettelagt av en scrumleder (scrum master), som er ansvarlig for å fjerne hindringer for teamets evne til å levere produktmål og leveranser.[32] Scrumlederen er ikke en tradisjonell teamleder eller prosjektleder, men fungerer som en barriere mellom teamet og alle distraherende påvirkninger. Scrumlederen sikrer at scrumrammeverket følges ved å veilede teamet i scrumteori og -konsepter, tilrettelegge viktige økter, og oppfordre teamet til å vokse og forbedre seg. Rollen har også blitt referert til som en teamfasilitator eller tjenende leder for å understreke disse doble perspektivene.

Kjerneansvaret til en scrumleder inkluderer (men er ikke begrenset til):[33]

  • Hjelpe produkteieren med å vedlikeholde produktkøen på en måte som sikrer at det nødvendige arbeidet er godt forstått slik at teamet kan ha kontinuerlig fremgang
  • Hjelpe teamet med å bestemme definisjonen av ferdig for et produkt, med innspill fra hovedinteressentene
  • Veilede teamet, innenfor scrumprinsippene, for hjelpe de med å levere et produkt med høykvalitetsfunksjoner[34]
  • Utdanne sentrale interessenter og resten av organisasjonen om scrumprinsipper (og muligens smidig utviklingsmetodikk)
  • Hjelpe scrumteamet med å unngå eller fjerne hindringer for sin fremgang (både interne eller eksterne til hindringer)
  • Fremme selvorganisering og kryssfunksjonalitet innad i teamet
  • Legge til rette for viktige økter for å sikre regelmessig fremgang

Scrumlederen skal hjelpe mennesker og organisasjoner med å anta empirisk og strømlinjeformet tenkning, og etterlate håp om visshet og forutsigbarhet.

En av måtene rollen som scrumleder skiller seg fra en prosjektleder er at sistnevnte kan ha ansvar for personalledelse, mens en scrumleder ikke har det. En scrumleder utøver en begrenset mengde ledelse siden teamet forventes å være bemyndiget og selvorganiserende.[35] Scrum anerkjenner ikke formelt rollen som prosjektleder på grunnlag av at tradisjonelle kommando og kontroll-tendenser vil føre til vanskeligheter.[36]

Arbeidsflyt

Sprint

Scrum-rammeverket
Scrum-prosessen

En sprint (også kjent som iterasjon eller tidsboks) er den grunnleggende tidsenheten for utvikling i scrum. Sprinten er et tidsvindu som avtales og fastsettes på forhånd av hver sprint, og er normalt mellom en uke og en måned, hvor to uker er det vanligste.[6]

Sprintplanleggingen utgjør starten på hver sprint, og starter med at man setter målene for sprinten. Derifra utformes sprintkøen som inneholder arbeidet som er tenkt å gjennomføres i den kommende sprinten.

Hver sprint avsluttes med de to hendelsene:

  • Sprintgjennomgang: Oppnådd fremgang vises til interessentene for å få tilbakemeldinger.
  • Sprintevaluering: Gjenkjenne læringspunkter og mulige forbedringer for neste sprint.[14]

Det legges stor vekt på verdifulle og nyttige resultater på slutten av sprinten som faktisk er fullførte. Når det kommer til programvare vil dette sannsynligvis inkludere at produktet er fullt integrert, testet og dokumentert, og potensielt kan utgis.[36]

Sprintplanlegging

I begynnelsen av hver sprint har scrumteamet en planleggingsøkt hvor de:

  • Blir enige om sprintmålene og lager en kort beskrivelse av hva de forutser å levere ved sprintens slutt, basert på prioriteringer satt av produkteieren
  • Velger elementer fra produktkøen som bidrar til dette målet
  • Danner en sprintkø ved å gjensidig diskutere og bli enige om hvilke elementer som er ment å bli gjennomførte iløpet av den sprinten

Den maksimale varigheten av en sprintplanlegging er 8 timer for en 4-ukers sprint.[17] Etterhvert som man har gått i detaljene på arbeidsoppgavene kan enkelte elementer i produktkøen bli delt opp eller returnert til produktkøen dersom teamet mener at de ikke kan fullføre det arbeidet iløpet av en enkelt sprint.

Daglig scrum

Den daglig scrummen gjennomføres ofte på et fast sted.

Hver dag i løpet av en sprint har utviklerne et daglig scrummøte med veldig spesifikke retningslinjer:[37][6] Møtet gjennomføres noen ganger som ståmøte, og alle utviklerne forventes å komme forberedt.

Den dagilige scrummen:

  • Skal fokusere på å inspisere fremgangen mot sprintmålet
  • Bør skje på samme tid og sted hver dag
  • Er begrenset til en tidsboks på 15 minutter
  • Utføres på den måten teamet bestemmer
  • Kan inkludere andre deltakere, men bare utviklerne bør snakke
  • Kan bli fasilitert av scrumlederen
  • Kan identifisere hindringer for fremgang (for eksempel risikoer, problemer, forsinkede avhengigheter, antagelser som viste seg å være feil)[38]
  • Inneholder ikke diskusjoner
  • Er ikke et middel for å oppdatere fremdriftsdiagrammer

Ingen detaljerte diskusjoner bør skje under den daglige scrummen. Når møtet er over kan individuelle medlemmer diskutere problemer i detalj.[39] Identifiserte blokkasjer bør diskuteres kollektivt utenfor den daglige scrummen med sikte på å arbeide mot en løsning.

Dersom teamet ikke ser verdien i den daglige scrummen er det scrumlederens ansvar å finne ut hvorfor[40] og opplyse teamet og interessentene om scrumprinsippene[34] eller oppmuntre teamet til å designe sin egen metode for å holde teamet fullt informert om sprintfremgangen.

Sprintgjennomgang

I sprintgjennomgangen på slutten av hver sprint skal teamet:

  • Presentere det ferdige arbeidet til interessentene (altså en teknisk demonstrasjon)
  • Samarbeide med interessentene om temaer som:
    • Be om tilbakemeldinger på det ferdige produktinkrementet
    • Diskutere innvirkningene av ufullstendig arbeid (både planlagte og ikke-planlagte[klargjør])
    • Motta forslag til kommende arbeid (veiledning om hva man skal jobbe med videre)

Produkteieren bør se på denne hendelsen som en verdifull mulighet til å gå gjennom og finjustere produktkøen sammen med interessentene.

Retningslinjer for sprintevaluernger er at:

  • Ufullstendig arbeid bør ikke demonstreres, og interessentene bør presenteres med produktinkrementene som de vil motta. Interessentene kan også be om å få se arbeid som pågår dersom nødvendig, men teamet bør bare forberede seg på å vise det som har blitt gjort.
  • Den anbefalte varigheten er to timer for en 2-ukers sprint (proporsjonalt for andre sprintvarigheter).[17]

Sprintevaluering

Under sprintevalueringen bør teamet:

Noen retningslinjer for sprintevalueringen er:[trenger referanse]

  • Tre foreslåtte områder å vurdere i sprintevalueringen er:
    • Hva gikk bra under sprinten?
    • Hva gikk dårlig?
    • Hva kan vi gjøre annerledes i neste sprint?
  • Den anbefalte varigheten er 1.5 time for en 2-ukers sprint (proporsjonalt for andre sprintvarigheter).

Scrumlederen kan fasilitere økten, men deres tilstedeværelse anses ikke som obligatorisk.

Produktkøraffinering

Produktkøraffinering[41] (backlog refinement) er en finpuss av produktkøen. Det var ikke opprinnelig et kjerneprinsipp i scrum, men har siden blitt tatt med i Scrum Guide som en metode for å håndtere kvaliteten på elementene fra produktkøen som blir med inn i en sprint. Den innebærer en kontinuerlig prosess hvor man går gjennom og endrer, oppdaterer og stokker om på elementene i produktkøen i lys av ny informasjon.

Noen grunner for å endre produktkøen og dens elementer kan være:

  • Oppdeling av større elementer inn i flere mindre
  • Godkjenningskriterier kan avklares
  • Avhengigheter kan identifiseres og undersøkes
  • Et element kan kreve ytterligere utforskning og analyse
  • Prioriteringene kan ha endret seg, og forventet verdi kan ha endret seg

Produktkøraffineringen innebærer at elementene er blir forberedt og ordnet på en måte som gjør dem tydelige og utførbare for utviklerne sin sprintplanlegging.

Produktkøen kan også inkludere teknisk gjeld (også kjent som designgjeld eller kodegjeld). Dette er et konsept innen programvareutvikling som gjenspeiler den implisitte kostnaden i form av forventet arbeid på et senere tidspunkt forårsaket av å velge en enklere løsning nå, istedet for å bruke en bedre tilnærming som ville tatt lengre tid å implementere i første omgang.

Det anbefales å investere inntil 10 prosent av et teams sprintkapasitet på produktkøraffinering.[17] Mer modne team vil ikke se på dette som en planlagt definert hendelse, men som en ad hoc-aktivitet som gjøres som en del av den naturlige arbeidsflyten ved at man raffinerer og justerer produktet etter behov.

Avlysning av en sprint

Produkteieren kan avbryte en sprint om nødvendig,[17] og kan ta med innspill fra andre (utviklere, scrumlederen eller ledelsen). For eksempel kan nylige eksterne faktorer negere verdien av sprintmålet slik at det er meningsløst å fortsette.

Når en sprint avsluttes unormalt er det neste steget å gjennomføre en ny sprintplanlegging hvor årsaken til termineringen av den forrige sprinten blir gjennomgått.

Artefakter

En artefakt refererer til dokumentasjon for å administrere arbeidet i prosjektet.

Produktkø

Utdypende artikkel: Produktkø

Produktkøen er en oversikt over arbeidet som skal gjøres, og inneholder en ordnet liste over produktkrav som teamet vedlikeholder for et produkt. Vanlige formater på elementene i produktkøen er brukerhistorier og brukstilfeller.[36] Disse kravene definerer funksjoner, feilrettinger, ikke-funksjonelle krav, og så videre, hva enn som kan levere et levedyktig produkt. Produkteieren prioriterer produktkøelementene basert på hensyn som risiko, forretningsverdi, avhengigheter, størrelse og datoen elementetne trengs.

Produktkøen er "hva som trengs sortert etter når det trengs", og er synlig for alle, men kan bare endres etter samtykke fra produkteieren som er ansvarlig for å administrere og vedlikeholde elementene i produktkøen.

Produktkøen inneholder produkteierens vurderinger av forretningsverdi, og kan inkludere teamets vurdering av forventet innsats eller kompleksitet (ofte, men ikke alltid, oppgitt i story points ved å bruke en avrundet Fibonacci-følge). Disse estimatene hjelåe produkteieren med å anslå tidslinjen, og kan påvirke prioriteringen av elementene i produktkøen. For eksempel kan produkteieren planlegge at utav to funksjoner med lik forretningsverdi, så skal den ene arbeidsoppgaven med mindre utviklingsinnsats gjøres først (fordi det gir høyere avkastning) eller at oppgaven med større utviklingsinnsats gjøres først (fordi den er mer kompleks eller risikofylt, og de vil eliminere den risikoen tidligere).[42]

Produktkøen og forretningsverdien til hvert produktkøelement er produkteierens ansvar. Innsatsen som kreves for å levere hvert element kan estimeres i story points eller tid. Ved å estimere i story points reduserer teamet avhengigheten til individuelle utviklere, og dette er spesielt nyttig for dynamiske team hvor utviklerne ofte blir tildelt annet arbeid etter sprintlevering. Dersom for eksempel en brukerhistorie estimeres som en 5 i innsats (ved hjelp av Fibonacci-følgen) forblir den estimert som 5 uansett hvor mange utviklere som jobber med oppgaven.

Story points definerer innsatsen i en tidsboks slik at de ikke endres med tiden.[klargjør] For å ta et eksempel i overført betydning kan en person bruke en time på å gå, løpe eller klatre, men innsatsen som må legges inn blir helt klart annerledes. Den økende avstanden mellom Fibonacci-tallene oppfordrer teamet til å være varsmomme med å gi nøye vurderte estimater. Estimat på 1, 2 eller 3 impliserer lignende innsatsmengder (hvor 1 er en triviell mengde), men dersom teamet anslår 8 eller 13 (eller høyere) i innsatsmengde kan innvirkningen på både leveranse og budsjett være betydelig. Verdien av å bruke story points er at de kan gjenbrukes av teamet ved å sammenligne med lignende arbeid fra tidligere sprinter, men man bør være observant på at estimater er relative til det teamet. For eksempel kan en oppgave som gir et passende estimat på 5 for ett team tilsvare 2 for en annet team sammensatt av mer erfarne utviklere med høyere kapasitet.

Hvert team bør ha en produkteier, men i mange tilfeller kan en produkteier jobbe med flere enn ett team.[24] Produkteieren er ansvarlig for å maksimere verdien til produktet. Produkteieren tar imot innspill og tilbakemeldinger fra mange mennesker, men tar til slutt den endelige avgjørelsen om hva som blir bygget.

Produktkøen:

  • Fanger opp forespørsler om å endre et produkt, inkludert nye funksjoner, erstatning av gamle funksjoner, fjerning av funksjoner og løsning av problemer
  • Sikrer at utviklerne har arbeid som maksimerer virksomhetens nytte av produktet

Vanligvis jobber hele teamet sammen for å finjustere produktkøen. Det er naturlig at produktkøen utvikler seg etterhvert som det dukker opp mer informasjon om produktet og dets kunder, og disse behovene kan gjøres noe med i senere sprinter.

Administrasjon

En produktkø er i sin enkleste form en liste over arbeidsopgaver. Å ha veletablerte regler for hvordan arbeid legges til, fjernes og rangeres hjelper hele teamet med å ta bedre beslutninger om hvordan produktet skal endres.[43]

Produkteieren prioriterer elementene i produktkøen basert på hvilke av dem som trengs tidligst. Basert på sprintmålet velger utviklerne elementer for den kommende sprinten, og flytter disse elementene fra produktkøen til sprintkøen. Konseptuelt påvirkes spintmålene av de høyt prioritets elementene i sprintkøen, men det er ikke uvanlig at utviklere tar for seg noen lavere priortitere elemeneter dersom det er tid til overs innenfor sprinten.

Høyt prioriterte elementer (på toppen av køen) bør brytes ned mer detaljert slik at de er egnet for at utviklerne kan jobbe med dem. Jo lengre ned man kommer i køen, jo mindre detaljerte trenger elementene å være. Schwaber og Beedle har uttalt at "Jo lavere prioritet, desto mindre detaljer før man knapt kan se køelementet."[6]

Etterhvert som teamet arbeider seg gjennom køen må man anta at endringer skjer utenfor deres miljø. Teamet kan bli kjent med nye markedsmuligheter som de kan utnytte, det kan oppstå trusler fra konkurrenter, og det kan komme tilbakemeldinger fra kunder som kan endre hvordan produktet er ment å fungere. Alle disse idéene har en tendens til å trigge teamet til å tilpasse køen for å innarbeide den nye kunnskapen. Dette er en del av den grunnleggende tankegangen til et smidig team: Verden endrer seg, og køen blir aldri ferdig.

Sprintkø

Sprintkøen er utvalgte elementer fra produktkøen som er planlagt utviklet i den aktuelle sprinten.[44] Utviklerne vil fylle sprintkøen til de føler at de har nok arbeid til å fylle sprinten, og baserer seg da på tidligere resultater for å vurdere deres kapasitet og bruke dette som en retningslinje for hvor mye de kan fullføre i den kommende sprinten.

Arbeid i sprintkøen blir aldri tildelt utviklere, istedet henter teammedlemmene arbeidsoppgaver etter behov i henhold til køprioritet og deres egne ferdigheter og kapasitet. Dette fremmer selvorganisering hos utviklerne.

Sprintkøen tilhører utviklerne, og alle tilhørende estimater er gitt av utviklerne. Noen team bruker en kanbantavle for å visualisere tilstanden på arbeidsoppgavene i nåværende sprint med forskjellige felter for "må gjøres", "under arbeid", "ferdig" (todo, doing, done), men dette er ikke egentlig en del av scrum (se kanban).

Inkrement

Inkrementet er det potensielt utgivbare resultat fra sprinten som oppfyller sprintmålene. Inkrementet dannes av alle de fullførte elementene fra sprintkøen integrert med arbeidet fra alle de foregående sprintene. Inkrementet må være komplett i henhold til scrum sin definisjon av "ferdig" (definition of done, DoD), og må være i fullt brukbar tilstand uavhengig av hvorvidt produkteieren bestemmer seg for å faktisk deployere og ta det i bruk.

Utvidelser

De følgende artefaktene brukes av-og-til som hjelpemidler sammen med scrum:[17]

Burndown-diagram

Eksempel på et burndown-diagram for en fullført sprint. Diagrammet viser gjenstående arbeid på slutten av hver dag.

Et burndown-diagram er en grafisk fremstilling av gjenstående arbeidsoppgaver sammenlignet med tid, og brukes for å forutsi når et arbeid vil bli fullført.[45] Det brukes med scrum, men er strengt tatt ikke en del av scrum. Diagrammet oppdateres hver dag og kan gi en rask visualisering av prosjektets fremgang. Den horisontale aksen viser antall dager som gjenstår, mens den vertikale aksen viser hvor mye arbeid som gjenstår for hver dag.

Det idelle burndown-diagrammet plottes under sprintplanleggingen, og deretter oppdaterer utviklerne diagrammet dag for dag med gjenstående arbeid slik at man får en sammenligning av predikert og faktisk fremgang.

Release burnup-diagram

Eksempel på et burnup-diagram for en utgivelse som viser omfang fullført ved hver sprint. Linjen merket MVP viser til det enkleste brukbare produktet.

Et release burnup-diagram gir teamet mulighet for synlighet og sporing av fremgang mot en utgivelse. Det oppdateres på slutten av hver sprint, og viser fremgangen mot å levere et estimert omfang. Den horisonale aksen på burnup-diagrammet viser sprintene i en utgivelse, mens den vertikale aksen viser mengden arbeid fullført på slutten av hver av sprintene (typisk representert med kumulative story points for fullført arbeid). Fremdriften plottes som en linje som vokser oppover for å møte en horisontal linje som representerer the estimerte omfanget, vist med et estimat basert på fremgangen til dags dato som indikerer hvor mye av omfanget som ventes å fullføres ved en gitt utgivelsesdato, eller hvor mange sprinter det vil ta å fullføre det gitte omfanget.

Utgivelsesdiagrammet skal gjøre det enkelt å se hvor mye arbeid som har blitt fullført, hvor mye arbeid som har blitt lagt til eller fjernet (dersom den horisontale omfangslinjen har beveget seg) og hvor mye arbeid som gjenstår.

Definisjonen av klar

Definisjonen av hva som regnes for "klart" (definition of ready, DoR) er et startkriterie for å avgjøre hvorvidt spesifikasjonene og innputt er satt tydelig nok til å starte arbeidselementet.

Definisjonen av ferdig

Definisjonen av hva som regnes for "ferdig" (definition of done, DoD) er et avslutningskriterie som brukes for å avgjøre hvorvidt et sprintkøelement regnes som fullført. For eksempel kan en definisjon av ferdig kreve at alle regresjonstester er vellykket (altså at endringer i programvaren ikke har ødelagt funksjonalitet som pleide å fungere). Definisjonen av ferdig kan variere fra et team til et annet, men må være konsekvent innenfor et team.[46]

Hastighet

Hastigheten eller implementeringshastigheten er et mål på teamets totale innsatskapasitet for en enkelt sprint, utledet ved å evaluere arbeidet som ble fullført i den forrige sprinten. Historiske hastighetsdata brukes da ofte som en rettesnor for å hjelpe teamet med å forstå kapasiteten deres i form av hvor mye arbeid de komfortabelt kan regene med å utføre.

Hastighetsmålet har vært kontroversielt innen scrummijøet:

  • Forbrukte story points tilsvarer ikke levert verdi: Fokus på arbeidet som er gjort kan føre til at teamet mister fokus på fordeler interessenten får av leveransen.
  • Innføring av distraherende prosesser: Det kan bli fokus på sammenligning av estimeringer kontra faktiske forhold, undersøkelser av varians, og man kan få en økende praksis med re-estimeringer.
  • Ledelsen kan begynne å se på hastighet som et ytelsesmål og forsøke å øke hastigheten, hvilket medfører at:
    • Kvalitet blir lidende: Teamet begynner å ta snarveier for å inkludere ekstra arbeidsbelastninger.
    • Moralen blir lidende: Teamet er ikke i stand til å arbeide i et behagelig og bærekraftig tempo, og økt press fører til utbrenthet.
    • Estimering blir lidende: Utviklerne vil blåse opp estimater for å bygge inn buffere og utnytte ytelsesmålet, og ender bare opp med å måle den samme innsatsen på en annen skala.
    • Verdien blir lidende: Slutteffekten er forstyrrelser som forårsaker misnøye hos interessenten som følge av å bytte fokus bort fra levering av forretningsverdi.

Det finnes en verdi i å forstå leveransekapasiteten til et team som en indikator for teamet, men man bør ikke anse det som noe man kan justere.

Spike

En spike er en tidsboks brukt til å undersøke et konsept eller lage en enkel prototype. Spikes kan enten planlegges å finne sted i mellom sprinter eller (gjerne for større team) bli tatt inn i sprinten som et av mange sprintmål. Spikes brukes ofte før levering av store eller komplekse produktkø-elementer for å sikre budsjett, skaffe kunnskap eller fremstille et konseptbevis. Varigheten og målene for spiken blir teamet enig om før den settes i gang. I motsetning til sprintforpliktelser behøver ikke spikes å levere konkret, utgivbar og verdifull funksjonalitet. For eksempel kan et spikemål være å lykkes med å ta en beslutning om å velge et konkret handlingsforløp. Spiken er over når tiden er ut, ikke nødvendigvis når målet har blitt levert.[47]

Sporlys

Et sporlys (tracer bullet) er en spike med nåværende arkitektur, nåværende teknologistakk og nåværende mønsterpraksis som resulterer i kode med produksjonskvalitet. Sporlyset kan være en veldig smal implementering av funksjonalitet, men er ikke bortkastet kode. Det skal ha produksjonskvalitet, og resten av iterasjonene skal kunne bygge på denne koden. Navnet har militær opprinnelse fra ammunisjon som lyser opp og gjør kulens bane synlig, hvilket gir mulighet for korrigeringer. Ofte er sporlys-implementeringer et hurtig skudd gjennom alle lagene i en applikasjon, som for eksempel å koble inndatafeltet i et enkelt skjema på klientdelen (frontend) med tjenerdelen (backend) for å bevise at lagene kan kobles sammen som forventet.[48].

Begrensninger

Fordelene med scrum kan være vanskelige å oppnå dersom:

  • Teamet har medlemmer som er geografisk spredde eller jobber deltid: I scrum bør utviklere samhandle tett og kontinuerlig , og ideelt sett jobbe sammen på samme sted mesteparten av tiden. Til tross for at forbedringer i teknologi har redusert virkningen av disse barrierene (for eksempel ved å kunne samarbeide på en digital tavle) hevder manifestet for smidig programvareutvikling at den beste kommunikasjonsmetoden er ansikt til ansikt.[49]
  • Team hvor medlemmer har svært spesialiserte ferdigheter: I scrum bør utviklere ha T-formede ferdigheter slik at de også kan jobbe med oppgaver utenfor deres spesialisering. Dette kan oppmuntres av godt scrumlederskap. Teammedlemmer med svært spesifikke ferdigheter kan også bidra godt, men bør ifølge scrum oppfordres til å lære om fagområder og samarbeide mer med folk fra andre disipliner.
  • Produkter med mange eksterne avhengigheter: I scrum kreves planlegging for å dele opp produktutviklingen i korte sprinter. Eksterne avhengigheter som for eksempel brukerakseptansetester eller koordinering med andre team kan føre til forsinkelser og feil i individuelle sprinter.
  • Produkter som er modne, legacysystemer eller systemer med regulert kvalitetskontroll: I scrum skal produktinkrementer være fullt utviklet og testet iløpet av en enkelt sprint. Produkter som trenger store mengder regresjonstester for hver utgivelse (som for eksempel medisinsk utstyr eller styring av kjøretøy) er mindre egnet til korte sprinter enn lengre fossefall-utgivelser.

Tilgjengelige verktøy

  Det finnes et bredt spekter av verktøy som kan hjelpe med å ta i bruk scrum på en effektiv måte.

Mange bedrifter bruker generelle verktøy som for eksempel regneark for å bygge og vedlikeholde en sprintkø. Det finnes også egne programvarepakker (både med åpen og proprietær kildekode) som benytter scrumterminologi for for å hjelpe med produktutvikling.

Det er også mulig å implementere scrum uten programvareverktøy og istedet vedlikeholde artefaktene på papir, tusjtavle og notatlapper.[50]

Scrumverdier

Scrum er en tilbakemeldingsdrevet empirisk tilnærming som i likhet med alle former for empirisk prosesskontroll understøttes av de tre søylene gjennomsiktighet, inspeksjon og tilpasning. Alt arbeid innenfor scrumrammeverket skal være synlig for de som er ansvarlige for utfallet: prosessen, arbeidsflyten, fremdriften, og så videre. For å gjøre disse tingene synlige må scrumteamet ofte inspisere produktet som utvikles og hvor godt teamet fungerer. Ved hyppig inspeksjon kan teamet oppdage når arbeidet avviker utenfor akseptable grenser og tilpasse prosessen eller produktet som er under utvikling.[23]

Disse 3 søylene krever tillit og åpenhet i teamet, hvilket blir muliggjort av de følgende 5 scrumverdiene:[17]

  1. Engasjement: Teammedlemmene forplikter seg individuelt til at teammålene skal oppnås i alle sprintene.
  2. Mot: Teammedlemmene vet at de har mot til å jobbe seg gjennom konflikter og utfordringer sammen slik at de kan gjøre det rette.
  3. Fokus: Teammedlemmene fokuserer utelukkende på teamets mål og sprintkøen, og det bør ikke gjøres noe arbeid utenom det som står i køen.
  4. Åpenhet: Teammedlemmene og deres interessenter er enige om å være åpne om sitt arbeid og eventuelle utfordringer de står overfor.
  5. Respekt: Teammedlemmene respekterer hverandre for å være teknisk dyktige og å jobbe med gode hensikter.

Tilpasninger

Hybridiseringen av scrum med andre metoder for programvareutvikling er vanlig da scrum ikke dekker hele livssyklusen for produktutvikling, hvilket medfører at organisasjoner ser et behov for å legge til flere prosesser for å skape en mer komplett implementering. I starten av produktutviklingen legger for eksempel mange organisasjoner til prosessveiledning i prosjektbegrunnelsen, kravinnsamling og prioritering, et innledende høynivå-design, budsjett og en skisse for fremdrift.

Ulike forfattere og samfunn av mennesker som bruker scrum har også foreslått mer detaljerte teknikker for hvordan man kan bruke eller tilpasse scrum til bestemte problemer eller organisasjoner. Mange refererer til disse metodiske teknikkene som "mønstre" etter en analogi designmønstre innen arkitektur og programvare.[51][52]

Scrumban

Scrumban er en produksjonsmodell for programvare basert på scrum og kanban. Scrumban er spesielt egnet for produktvedlikehold med hyppige og uventede arbeidselementer, som for eksempel produksjonsfeil eller programmeringsfeil. I slike tilfeller kan de tidsbegrensede sprintene i scrumrammeverket oppfattes å være av mindre nytte, selv om scrum sine daglige rutiner og annen praksis fortsatt kan brukes, avhengig av teamet og situasjonen for hånd. Visualisering av arbeidsfaser og begrensninger for samtidig uferdige arbeider og feil er kjent fra kanbanmodellen. Ved hjelp av disse metodene er teamets arbeidsflyt rettet på en måte som gir minimum tid for ferdigstillelse for hvert arbeidselement eller programmeringfeil, og sikrer på en annen side at hvert teammedlem konstant har arbeidsoppgaver.[53]

For å illustrere hvert trinn i arbeidet bruker team som arbeider på samme sted ofte notatlapper eller en stor tavle.[54] I tilfelle teamet er desentralisert kan det bruke programvarebaserte varianter som Jira.

Den store forskjellen mellom scrum og kanban er at i scrum er arbeidet delt inn i sprinter som varer en fast tid, mens i kanban er arbeidsflyten kontinuerlig. Dette kan sees i arbeidstabellene, som i scrum tømmes etter hver sprint, mens i kanban vil alle oppgaver ligge i samme tabell. Scrum fokuserer på team med allsidig kunnskap, mens kanban muliggjør spesialiserte funksjonelle team.[53]

Scrum of scrums

Scrum of scrums er en teknikk for å ta i bruk scrum i større skala i form av flere scrumteam som arbeider på samme produkt slik at de kan diskutere fremgang på gjensidige avhengigheter, særlig på områder med overlapp og integrasjon. Det har et fokus på hvordan å koordinere leveranse av programvare,[55]

Avhengig av kadensen eller timingen av scrum of scrums avsluttes den daglige scrummen for hvert scrumteamene ved å utpeke et medlem som en ambassadør for å delta i scrum of scrums med ambassadører fra andre team. Avhengig av konteksten kan ambassadørene for eksempel være tekniske bidragsytere eller hvert av teamene sin scrumleder.[55]

Istedet for bare å fokusere på å oppdatere fremdriften bør scrum of scrums fokusere på hvordan teamene arbeider kollektivt for å løse, redusere eller akseptere risikoer, hindringer, avhengigheter og forutsetninger (samlet kalt RIDA-er fra: risks, impediments, dependencies, assumptions) som har blitt identifiserte. Scrum of scrums sporer disse risikoene, hindringene, avhengighetene og forutsetningene i en egen kø, for eksempel en risikotavle, noen ganger kalt ROAM-tavle (etter initialene til resolved, owned, accepted, mititagated)[56] som vanligvis fører til bedre koordinering og samarbeid mellom teamene.[55]

En scrum of scrums bør kjøres på lignende måte som en daglig scrum, for eksempel ved at hver ambassadør svarer på følgende fire spørsmål:[57]

  • Hvilke risikoer, hindringer, avhengigheter eller forutsetninger har teamet ditt løst siden vi sist møttes?
  • Hvilke risikoer, hindringer, avhengigheter eller forutsetninger vil teamet ditt løse før vi møtes igjen?
  • Er det noen nye risikoer, hindringer, avhengigheter eller forutsetninger som sakker ned eller kommer i veien for teamet ditt?
  • Er du i ferd med å introdusere en ny risiko, hindring, avhengighet eller antagelse som kan komme i veien for et annet team?

Jeff Sutherland, som opprinelig definerte scrum of scrums, har kommentert at scrum of scrums ikke er en meta-scrum, og at det har blitt brukt med suksess.[55] Han nevnte eksempler et prosjekt med PatientKeeper hvor de leverte til produksjon fire ganger per sprint, et prosjekt for Ancestry.com hvor de leverte til produksjon 220 ganger per 2-ukers sprint, og Hubspot hvor de leverte 100-300 ganger til produksjon om dagen. Scrum of scrums-ledere er ansvarlige for dette arbeidet, hvilket ifølge han gjør scrum av scrums til en operativ leveringsmekanisme

Scrum i storskala

Large-scale scrum (LeSS) er et rammerk for produktutvikling som utvider scrum med skaleringsregler og -retningslinjer uten å miste de opprinnelige formålene med scrum.

Rammeverket har to nivåer, hvor det første nivået av LeSS er designet for inntil 8 team, mens det andre nivået (kalt "LeSS Huge") introduserer flere skaleringselementer for å kunne drive utvikling med opp til hundrevis av utviklere. Ifølge en kilde starter scrum i storskala med å forstå at de enkelte scrum teamene må være ordentlige scrumteam som følger scrumrammeverket. Man skal så forsøkte å finne ut hvordan man kan nå de samme formålene samtidig som man holder seg innenfor begrensningene av de vanlige scrumreglene.[58]

Bas Vodde og Craig Larman utviklet LeSS-rammeverket fra egne erfaringer med produktutvikling i stor skala, særlig innen telekom- og finansnæringene. De utviklet det ved å for seg scrum og prøvde mange forskjellige eksperimenter for å se hva som fungerte, inntil de i 2013 landet på LeSS-rammeverket.[59] Hensikten med LeSS er å nedskalere organisasjonskompleksitet, løse opp unødvendig komplekse organisasjonsløsninger, og løse de på enklere måter gjennom færre roller, mindre ledelse og færre organisasjonsstrukturer.[60]

Kritikk

Scrum har blitt kritisert fra mange hold. Dette har stort sett blitt forsvart med at de som kritiserer angivelig bruker konseptene dårlig og forventer gode resultater, eller misforstår de kulturelle endringene som scrum krever:

  • Scrummøter har blitt kritisert for å hindre produktivitet og kaste bort tid som kunne blitt brukt bedre på faktiske produktive oppgaver.[61] En mulig forklaring på dette kan være en misforståelse av møtenes formål[62] slik at møtene blir for langtekkelige og grundige istedet for en kort tidboks med diskusjoner.
  • Scrumprosesser som ikke skjer i tråd med manifestet for smidig utvikling har en tendens til å utvikle seg til en form for mikromanagement[63] og gjeninnfører de samme dysfunksjonene som de var ment å fjerne.
  • Scrum antar også at innsatsen som kreves for å fullføre arbeidet kan estimeres nøyaktig, selv om dette ofte kan være ganske uforutsigbart.[64]
  • Scrum unngår med vilje å beskrive hvordan det skal praktiseres[65] for å oppmuntre til frihet til empirisk analyse og eksperimentering.
  • Scrum oppfattes å være en form for styring av prosjekter snarere enn en alternativ tilnærming til det
  • Å ta i bruk scrum vil ikke gi resultater av høy kvalitet umiddelbart, og utålmodighet kan således hindre scrum fra å sette seg og vokse

Vanlige dysfunksjonelle tilnærminger[66] til scrum har blitt anerkjent som antimønstre, inkludert under navn som dark scrum[67] og scream.[68]

Se også

Referanser

 

  1. ^ «Lessons learned: Using Scrum in non-technical teams». Besøkt April 8, 2019.  Sjekk datoverdier i |besøksdato= (hjelp)
  2. ^ https://agilix.nl/resources/TheNewNewProductDevelopmentGame.pdf
  3. ^ «"The New New Product Development Game" av Hirotaka Takeuchi og Ikujiro Nonaka» (PDF). 
  4. ^ «Scrum, What's in a Name? - DZone Agile». 
  5. ^ «Should "SCRUM" be written in all caps?». Besøkt January 10, 2017.  Sjekk datoverdier i |besøksdato= (hjelp)
  6. ^ a b c d e f Schwaber, Ken (February 1, 2004). Agile Project Management with Scrum. Microsoft Press. ISBN 978-0-7356-1993-7.  Sjekk datoverdier i |dato= (hjelp)
  7. ^ Johnson, Hillary Louise. «ScrumMaster vs scrum master: What do you think?». Besøkt May 10, 2017.  Sjekk datoverdier i |besøksdato= (hjelp)
  8. ^ «What is Scrum?». Scrum Alliance. Besøkt February 24, 2016.  Sjekk datoverdier i |besøksdato= (hjelp)
  9. ^ Verheyen, Gunther. «Scrum: Framework, not methodology». Gunther Verheyen. Besøkt February 24, 2016.  Sjekk datoverdier i |besøksdato= (hjelp)
  10. ^ J. Henry and S. Henry. Quantitative assessment of the software maintenance process and requirements volatility. In Proc. of the ACM Conference on Computer Science, pages 346–351, 1993.
  11. ^ The Knowledge Creating Company. Oxford University Press. s. 3. ISBN 9780199762330. Besøkt March 12, 2013.  Sjekk datoverdier i |besøksdato= (hjelp)
  12. ^ Siteringsfeil: Ugyldig <ref>-tagg; ingen tekst ble oppgitt for referansen ved navn TakeuchiNonaka
  13. ^ {{Oxford Dictionaries|Scrum}}
  14. ^ a b Sutherland, Jeff. «Agile Development: Lessons learned from the first Scrum». Arkivert fra originalen (PDF) June 30, 2014. Besøkt September 26, 2008.  Sjekk datoverdier i |arkivdato=, |besøksdato= (hjelp)
  15. ^ a b Sutherland, Jeffrey Victor; Schwaber, Ken. Business object design and implementation: OOPSLA '95 workshop proceedings. The University of Michigan. s. 118. ISBN 978-3-540-76096-2. 
  16. ^ «Manifesto for Agile Software Development». Besøkt October 17, 2019.  Sjekk datoverdier i |besøksdato= (hjelp)
  17. ^ a b c d e f g h i Ken Schwaber. «The Scrum Guide». Scrum.org. Besøkt October 27, 2017.  Sjekk datoverdier i |besøksdato= (hjelp)
  18. ^ Schwaber, Ken; Beedle, Mike. Agile software development with Scrum. Prentice Hall. ISBN 978-0-13-067634-4. 
  19. ^ Maximini, Dominik (January 8, 2015). The Scrum Culture: Introducing Agile Methods in Organizations. Management for Professionals. Cham: Springer. s. 26. ISBN 9783319118277. Besøkt August 25, 2016. «Ken Schwaber and Jeff Sutherland presented Scrum for the first time at the OOPSLA conference in Austin, Texas, in 1995. [...] In 2001, the first book about Scrum was published. [...] One year later (2002), Ken founded the Scrum Alliance, aiming at providing worldwide Scrum training and certification.»  Sjekk datoverdier i |besøksdato=, |dato= (hjelp)
  20. ^ «Home». Besøkt January 6, 2020.  Sjekk datoverdier i |besøksdato= (hjelp)
  21. ^ Partogi, Joshua. «Certified Scrum Master vs Professional Scrum Master». Lean Agile Institute. Besøkt May 10, 2017.  Sjekk datoverdier i |besøksdato= (hjelp)
  22. ^ a b McGreal, Don; Jocham, Ralph (June 4, 2018). The Professional Product Owner: Leveraging Scrum as a Competitive Advantage (engelsk). Addison-Wesley Professional. ISBN 9780134686653.  Sjekk datoverdier i |dato= (hjelp)
  23. ^ a b c d Morris, David. Scrum: an ideal framework for agile projects. In Easy Steps. ISBN 9781840787313. OCLC 951453155. 
  24. ^ a b c Cohn, Mike. Succeeding with Agile: Software Development Using Scrum. Upper Saddle River, NJ: Addison-Wesley, 2010.
  25. ^ «The Scrum Guide» (PDF). 
  26. ^ The Scrum guide. http://www.scrumguides.org/docs/scrumguide/v2016/2016-Scrum-Guide-US.pdf. 
  27. ^ «The Role of the Product Owner». Besøkt May 26, 2018.  Sjekk datoverdier i |besøksdato= (hjelp)
  28. ^ Pichler, Roman (March 11, 2010). Agile Product Management with Scrum: Creating Products that Customers Love (engelsk). Addison-Wesley Professional. ISBN 978-0-321-68413-4.  Sjekk datoverdier i |dato= (hjelp)
  29. ^ Ambler, Scott. «The Product Owner Role: A Stakeholder Proxy for Agile Teams». agilemodeling.com. Besøkt July 22, 2016.  Sjekk datoverdier i |besøksdato= (hjelp)
  30. ^ «The Product Owner Role». Besøkt February 3, 2017.  Sjekk datoverdier i |besøksdato= (hjelp)
  31. ^ Rad, Nader K.; Turley, Frank (2018). Agile Scrum Foundation Courseware, Second Edition. 's-Hertogenbosch, Netherlands: Van Haren. ISBN 9789401802796. 
  32. ^ Carroll, N, O’Connor, M. and Edison, H. (2018). The Identification and Classification of Impediments to Software Flow, The Americas Conference on Information Systems (AMCIS 2018), August 16–18, New Orleans, Louisiana, USA.
  33. ^ «Core Scrum». Besøkt January 25, 2015.  Sjekk datoverdier i |besøksdato= (hjelp)
  34. ^ a b Drongelen, Mike van; Dennis, Adam; Garabedian, Richard; Gonzalez, Alberto; Krishnaswamy, Aravind (2017). Lean Mobile App Development: Apply Lean startup methodologies to develop successful iOS and Android apps. Birmingham, UK: Packt Publishing Ltd. ISBN 9781786467041. 
  35. ^ Cobb, Charles G. (2015). The Project Manager's Guide to Mastering Agile: Principles and Practices for an Adaptive Approach. Hoboken, NJ: John Wiley & Sons. ISBN 9781118991046. 
  36. ^ a b c Pete Deemer. «The Scrum Primer: A Lightweight Guide to the Theory and Practice of Scrum (Version 2.0)». InfoQ. 
  37. ^ «What is a Daily Scrum?». Besøkt January 6, 2020.  Sjekk datoverdier i |besøksdato= (hjelp)
  38. ^ «Impediment Management». 
  39. ^ Flewelling, Paul (2018). The Agile Developer's Handbook: Get more value from your software development: get the best out of the Agile methodology. Birmingham, UK: Packt Publishing Ltd. ISBN 9781787280205. 
  40. ^ McKenna, Dave (2016). The Art of Scrum: How Scrum Masters Bind Dev Teams and Unleash Agility (engelsk). Aliquippa, PA: CA Press. ISBN 9781484222768. 
  41. ^ «Scrum, en beskrivelse - 2012-12-13 Scrum Alliance, Inc. - Oversatt av Geir Amsjø, februar 2013» (PDF). 
  42. ^ Higgins, Tony. «Authoring Requirements in an Agile World». BA Times. 
  43. ^ «The product backlog: your ultimate to-do list». Besøkt July 20, 2016.  Sjekk datoverdier i |besøksdato= (hjelp)
  44. ^ Russ J. Martinelli; Dragan Z. Milosevic (January 5, 2016). Project Management ToolBox: Tools and Techniques for the Practicing Project Manager. Wiley. s. 304. ISBN 978-1-118-97320-2.  Sjekk datoverdier i |dato= (hjelp)
  45. ^ Charles G. Cobb (January 27, 2015). The Project Manager's Guide to Mastering Agile: Principles and Practices for an Adaptive Approach. John Wiley & Sons. s. 378. ISBN 978-1-118-99104-6.  Sjekk datoverdier i |dato= (hjelp)
  46. ^ Ken Schwaber, Agile Project Management with Scrum, p.55
  47. ^ «Create a Spike Solution». Extreme Programming. 
  48. ^ Sterling, Chris. «Research, Spikes, Tracer Bullets, Oh My!». Besøkt October 23, 2016.  Sjekk datoverdier i |besøksdato= (hjelp)
  49. ^ Kent Beck. «Principles behind the Agile Manifesto». Agile Alliance. Besøkt August 7, 2017.  Sjekk datoverdier i |besøksdato= (hjelp)
  50. ^ Dubakov, Michael. «Agile Tools. The Good, the Bad and the Ugly» (PDF). Besøkt August 30, 2010.  Sjekk datoverdier i |besøksdato= (hjelp)
  51. ^ Bjørnvig, Gertrud. «Scrum as Organizational Patterns». Gertrude & Cope. 
  52. ^ «Scrum Pattern Community». Besøkt July 22, 2016.  Sjekk datoverdier i |besøksdato= (hjelp)
  53. ^ a b Kniberg, Henrik. «Kanban and Scrum - Making the most of both» (PDF). InfoQ. Besøkt July 22, 2016.  Sjekk datoverdier i |besøksdato= (hjelp)
  54. ^ Ladas, Corey. «scrum-ban». Lean Software Engineering. Besøkt September 13, 2012.  Sjekk datoverdier i |besøksdato= (hjelp)
  55. ^ a b c d «Scrum of Scrums». Agile Alliance.  Siteringsfeil: Ugyldig <ref>-tagg; navnet «scrumofscrums» er definert flere steder med ulikt innhold
  56. ^ «Risk Management – How to Stop Risks from Screwing Up Your Projects!». Kelly Waters. 
  57. ^ «Scrum of Scrums». Besøkt May 29, 2015.  Sjekk datoverdier i |besøksdato= (hjelp)
  58. ^ Larman. «Scaling Agile Development (Crosstalk journal, November / December 2013)» (PDF). 
  59. ^ «Large-Scale Scrum (LeSS)». 
  60. ^ Grgic. «Descaling organisation with LeSS (Blog)». 
  61. ^ Jenson, John. «Meetings: The productivity killer for developers». Besøkt June 5, 2020.  Sjekk datoverdier i |besøksdato= (hjelp)
  62. ^ «5 Dysfunctions of a Daily Scrum». Besøkt July 3, 2021.  Sjekk datoverdier i |besøksdato= (hjelp)
  63. ^ on, Isaak Tsalicoglou. «How to transition from Agile to micromanagement | Hacker Noon». Besøkt June 5, 2020.  Sjekk datoverdier i |besøksdato= (hjelp)
  64. ^ Cagle, Kurt. «The End of Agile». Besøkt June 5, 2020.  Sjekk datoverdier i |besøksdato= (hjelp)
  65. ^ James (MJ), Michael. «Things Ken Schwaber Intentionally Omits From Scrum». Besøkt July 3, 2021.  Sjekk datoverdier i |besøksdato= (hjelp)
  66. ^ Derecskey, Dave. «5 Common Team Dysfunctions (and How the 5 Core Scrum Values Directly Address Them)». Besøkt July 3, 2021.  Sjekk datoverdier i |besøksdato= (hjelp)
  67. ^ «Dark Scrum». Besøkt July 3, 2021.  Sjekk datoverdier i |besøksdato= (hjelp)
  68. ^ «The Scream Guide». Besøkt July 3, 2021.  Sjekk datoverdier i |besøksdato= (hjelp)