Acceptantestning
Formell testning för att avgöra om ett system uppfyller godkännandekriterierna eller inte och för att göra det möjligt för kunden att avgöra om systemet accepterar eller inte.
Agil mjukvaruutvecklingsmetodik
Agil mjukvaruutveckling lägger stor vikt vid samarbete, lyhördhet för förändringar och minskning av avfall under hela utvecklingscykeln. Agil mjukvaruutveckling fokuserar på att hålla koden enkel, testa ofta och leverera funktionella bitar av applikationen så snart de är redo.
En viktig smidig princip är att leverera (potentiellt) släppbar programvara efter varje iteration.
Eftersläpning
Backlog grooming är processen att lägga till nya användarberättelser i eftersläpningen, prioritera om befintliga berättelser efter behov, skapa uppskattningar och dekonstruera större berättelser till mindre berättelser eller uppgifter. I stället för att sköta eftersläpningen sporadiskt under en iteration, kan laget hålla en eftersläpningssession en gång per iteration.
Breaking the Build
När en utvecklare lägger till ändringar i källkodsförvaret som leder till att en efterföljande byggprocess misslyckas, har utvecklaren 'brutit byggnaden.'
Det borde vara ett teamåtagande att undvika att bryta byggnaden eftersom det kommer att bromsa utvecklingen och kan vara en flaskhals för andra utvecklare. När byggnaden är trasig ska utvecklingsteamet vidta omedelbara åtgärder för att fixa byggnaden.
Byggnaden är trasig om byggprocessen inte kan slutföras av ett antal anledningar inklusive (men inte begränsat till) misslyckande att kompilera, kompilera med oacceptabla varningar eller misslyckandet med ett antal automatiserade tester.
Byggprocess / Bygg pipeline
Byggprocessen eller byggpipelinen är den process där en berättelse går från början till produktion, vanligtvis genom olika steg och kontroller för att säkerställa kvalitet.
Byggpipelinen definierar arbetsflödet för leverans av programvara och vad som händer i varje steg.
Burndown-diagram
Ett diagram som visar det totala antalet återstående uppgiftstimmar per dag. Det visar var laget står när det gäller att slutföra de uppgifter som har begåtts för sprinten. X-axeln representerar dagar i sprinten, medan Y-axeln är återstående ansträngning.
Kyckling
I scrum är kyckling ett slangord som används för någon som är intresserad av ett projekt men inte har något ansvar för att arbeta med en uppgift i den aktiva iterationen. De kan observera lagmöten men kan inte rösta eller prata.
Kontinuerlig integration
Kontinuerlig integration (CI) är en eXtreme Programming (XP) där medlemmar i ett leveranslag ofta integrerar sitt arbete (t.ex. timme eller minst en gång dagligen).
Varje integration verifieras av en automatiserad version, som också utför testning för att upptäcka eventuella integrationsfel snabbt och automatiskt. Huvudmålet för CI är att undvika det som vanligtvis kallas integration eller slå samman helvetet.
Tvärfunktionellt team
Teamet består av medlemmar med alla funktionella färdigheter och specialiteter (ofta kallade multifagliga) som är nödvändiga för att slutföra ett projekt från början till slut.
Kund
Kund definieras normalt som mottagare eller användare av produkten. Kunder kan vara interna eller externa för organisationen. Kunden kan vara en person, en avdelning eller en stor grupp.
Interna kunder kallas ibland 'Business.'
Daglig standup
Ett dagligt lagmöte hölls vanligtvis första på morgonen för att ge teammedlemmarna en statusuppdatering. Mötena är vanligtvis tidsboxade till 5-15 minuter och hålls stående för att påminna folk om att hålla mötet kort och till sak.
Definition av Done (DoD)
Kriterierna för att acceptera arbete som avslutat. Att specificera dessa kriterier är hela teamets ansvar, inklusive verksamheten. Generellt finns det tre nivåer av 'Klar' (även känd som Klar-Klar-Klar):
De exakta kriterierna för vad som är “Klar” varierar för att möta de specifika behoven hos olika organisationer och initiativ.
Episk
En mycket stor användarberättelse som så småningom delas upp i mindre berättelser. Epics används ofta som platshållare för att nya idéer och relaterade berättelser ska utvecklas i efterföljande sprints.
Episka berättelser hjälper Agile utvecklingsteam att effektivt hantera och sköta sin produktförsening.
Uppskattning
Processen med att komma överens om en storleksmätning för berättelser eller uppgifter i en produktbacklog. På agila projekt görs uppskattning av teamet som ansvarar för att leverera arbetet, vanligtvis med hjälp av ett planeringsspel eller planeringspoker.
Extrem programmering
En smidig mjukvaruutvecklingsmetodik som är avsedd att förbättra mjukvarukvalitet och lyhördhet för förändrade kundkrav.
XP förespråkar frekventa ”släpp” i korta utvecklingscykler, som är avsedda att förbättra produktiviteten och införa kontrollpunkter där nya kundkrav kan antas.
Andra delar av extrem programmering inkluderar: parprogrammering, omfattande kodrecensioner, enhetstestning, kontinuerlig integration för att nämna några.
Funktion
En sammanhängande affärsfunktion eller attribut för en programvaruprodukt eller ett system. Funktioner innehåller normalt många detaljerade (enhets) krav. En enda funktion implementeras vanligtvis genom många berättelser.
Funktioner kan vara funktionella eller icke-funktionella; de utgör grunden för att organisera berättelser.
Fibonacci-sekvens
En talföljd där nästa tal härleds genom att lägga ihop de två föregående (t.ex. 1, 2, 3, 5, 8, 13, 21, 34 ...). Sekvensen används för att mäta berättelser i Agile uppskattningstekniker som planering av poker.
Hinder
Allt som hindrar en teammedlem från att utföra arbete så effektivt som möjligt är ett hinder. Varje lagmedlem har möjlighet att meddela hinder under det dagliga standup-mötet.
ScrumMasters uppgift är att se till att hinder tas bort så snart som möjligt så att laget kan fortsätta att vara produktivt.
Iteration
En period (från 1 vecka till 2 månader) under vilken Agile-utvecklingsteamet producerar ett steg med färdig programvara. Hela systemet livscykelfaser (krav, design, kod och test) måste slutföras under iterationen och sedan visas för att iterationen ska accepteras som framgångsrik.
I början av iterationen identifierar verksamheten eller produktägaren nästa bit av arbetet som teamet ska slutföra. Utvecklingsteamet uppskattar sedan ansträngningsnivån och förbinder sig att slutföra ett arbetssegment under iterationen.
Kanban
Kanban är ett verktyg som härrör från mager tillverkning och är förknippat med den gren av agila metoder som löst kallas Lean Software Development. Kanban begränsar hur mycket pågående arbete som får ske samtidigt.
Huvudskillnaden mellan Kanban och Scrum är att Scrum begränsar pågående arbete genom sprints och Kanban begränsar pågående arbete genom att begränsa hur mycket arbete som kan ske på en gång (t.ex. N-uppgifter eller N-berättelser).
Lean Software Development
Lean mjukvaruutveckling eller bara Lean fokuserar på att minska avfallet och optimera värdet för mjukvaruproduktion.
Minimum Viable Product (MVP)
Den minsta fungerande produkten som kan byggas och testas och levereras under en given tid som ger värde för användarna.
Parprogrammering
En smidig mjukvaruutvecklingsteknik där två programmerare arbetar tillsammans på en arbetsstation. En skriver in kod medan den andra granskar varje kodrad när den skrivs in. Den person som skriver kallas föraren. och den som granskar koden kallas observatör eller navigatör. De två programmerarna byter ofta roller.
Gris
Någon som är ansvarig för att utföra en uppgift på en aktiv iteration. Det är motsatsen till kyckling. Grisar deltar aktivt i projektet.
Planerar poker
Planeringspoker är en konsensusbaserad teknik för att uppskatta, som oftast används för att uppskatta insats eller relativa uppgifter för programvaruutveckling. Laget använder Fibonacci-serien eller T-shirtstorleken för att uppskatta berättelser under planeringen av pokerspelet.
Produkt
I stort sett hänvisar produkt till en samling funktioner som är integrerade och förpackade i mjukvaruversioner som erbjuder värde för en kund eller en marknad.
Produktägare
Produktägare är en av nyckelrollerna i Scrum. Produktägarens ansvar inkluderar:
Produktbacklog
Produktbacklogg är som en önskelista över funktioner som företag vill leverera på lång sikt. Det är en samling berättelser och uppgifter som teamet kommer att arbeta med någon gång i framtiden.
Produktägaren upprätthåller den här listan över produktstock i enlighet med affärsprioriteringar och behov. Posterna i eftersläpningen ska återspegla företagets färdplan.
Refactoring
Ändra befintlig programvarukod för att förbättra den övergripande designen. Refactoring ändrar normalt inte programvarans observerbara beteende. det förbättrar dess interna struktur.
Släppplan
Släppplanen är ett schema för att släppa programvara i produktion. Typiska släppplaner inkluderar de viktigaste funktionerna som ska levereras, tillsammans med motsvarande släppdatum.
Retrospektiv
Ett möte i tidslådan som hölls i slutet av sprinten där teamet undersöker sina processer för att avgöra vad som lyckades och vad som kan förbättras. Retrospektivet är nyckeln till kontinuerlig förbättring.
Ett positivt resultat för en retrospektiv är att identifiera en eller två högprioriterade åtgärdsposter som teamet vill arbeta med i nästa iteration eller release.
Klunga
Scrum är ett ramverk för att utveckla komplexa programvaruprodukter på ett iterativt och inkrementellt sätt och är det mest erkända Agile-ramverket.
Scrum består av en serie korta iterationer - kallade sprints - var och en slutar med leverans av ett steg med arbetsprogramvara.
Scrum Team
Scrumteamet är en tvärfunktionell och självorganiserande grupp som ansvarar för att leverera programvaran.
Scrumteamet innehåller mångkvalificerade personer som förstår kundernas krav och genomför programvarudesign, kodning och testning. Ytterligare färdigheter (t.ex. UI-design, användbarhet etc.) kan också inkluderas.
Scrumteamet ansvarar för alla arbetsåtaganden och resultat.
ScrumMaster
ScrumMaster är ansvarig för att bibehålla Scrum-processen och teamets övergripande hälsa. ScrumMaster försäkrar att laget är fullt funktionellt och produktivt genom att ta bort alla hinder som kan hindra lagets framsteg. ScrumMaster anordnar också Scrum-ceremonierna.
Spika
En berättelse eller uppgift som syftar till att svara på en fråga eller samla in information snarare än att implementera produktfunktioner, användarberättelser eller krav.
Ibland genereras en användarberättelse som inte kan uppskattas förrän utvecklingsteamet gör något faktiskt arbete för att lösa en teknisk fråga eller ett designproblem. Lösningen är att skapa en ”spik”, som är en berättelse vars syfte är att ge svaret eller lösningen.
Sprinta
Vid produktutveckling är en sprint en bestämd tidsperiod under vilken specifikt arbete måste slutföras och göras klart för granskning. En typisk sprintlängd är vanligtvis 2 veckor och normalt inte längre än 4 veckor.
Sprint Backlog
En lista med funktioner, användarberättelser eller uppgifter som hämtas från produktens eftersläpning för övervägande för slutförande under den kommande sprinten. Produktbacklogsfunktioner och användarberättelser är uppdelade i uppgifter för att bilda sprintbackloggen under sprintplaneringsmötet.
Story Grooming
I berättelser för berättelser om detaljer berättas detaljerna i användarberättelserna. Godtagningskriterier skrivs och utarbetas. Berättelser uppskattas också i detta skede.
Syftet med denna session är att se till att alla som är involverade i att utveckla och testa berättelserna delar en gemensam förståelse för berättelsernas sammanhang innan berättelserna börjar utvecklas.
Story-grooming-sessioner hålls vanligtvis i mitten av sprinten för följande sprint så att laget är medveten om arbetsbelastningen för nästa sprint.
Deltagare är scrumteamet, scrummastern och produktägaren.
Sprintplanering
Sprintplaneringssessioner hålls precis innan en ny sprint startar. I den här sessionen identifierar teamet de uppgifter som behöver utföras och bestämmer hur många berättelsespoäng de kan begå för den kommande sprinten.
Innan sprintplaneringssessioner borde berättelserna ha utarbetats och uppskattats under Story Grooming-sessionerna, så att ingen tid slösas bort under sprintplanering.
Deltagarna är scrummästare och scrumteamet.
Användarberättelse
En användarberättelse (aka story) kan ses som ett krav, en funktion som har något affärsvärde.
Berättelser beskriver det arbete som måste slutföras för att leverera en funktion för en produkt. Berättelser är den grundläggande enheten för kommunikation, planering och förhandling mellan Scrum-teamet, företagsägare och produktägaren.
Berättelser består av följande element:
Uppgift
Uppgifter är beskrivningar av det faktiska arbete som en individ eller ett par gör för att slutföra en berättelse. De är hanterbara, genomförbara och spårbara enheter. Vanligtvis finns det flera uppgifter per berättelse.
Teknisk skuld
En term myntad av Ward Cunningham att beskriva den skyldighet som en programvaruorganisation åtar sig när den väljer en design- eller konstruktionsmetod som är lämplig på kort sikt men som ökar komplexiteten och är dyrare på lång sikt.
Storlek på t-shirt
En metod för att uppskatta det arbete som behövs för att slutföra en berättelse i T-shirtstorlekar, dvs. Small (S), Medium (M), Large (L) eller X-Large (XL)
Timebox
En tidslåda är en tidsperiod med fast längd som tilldelats för att uppnå något mål. I agil utveckling är iterationer och sprints exempel på tidslådor som begränsar arbetet i processen och stegvis stegvisa framsteg.
Hastighet
Velocity mäter hur mycket arbete ett team kan slutföra i en iteration. Hastighet mäts ofta i berättelser eller berättelser. Hastighet kan också mäta uppgifter i timmar eller motsvarande enhet.
Hastighet används för att mäta hur lång tid det tar för ett visst team att leverera framtida resultat genom extrapolering på grundval av dess tidigare resultat.
Pågående arbete
Allt arbete som inte har slutförts men som redan har medfört en kapitalkostnad för organisationen. Programvara som har utvecklats men inte distribuerats för produktion kan betraktas som ett pågående arbete.