SCRUM vs. XP en jämförelse mellan två lättviktsmetodiker

Storlek: px
Starta visningen från sidan:

Download "SCRUM vs. XP en jämförelse mellan två lättviktsmetodiker"

Transkript

1 SCRUM vs. XP en jämförelse mellan två lättviktsmetodiker Phut Tran D01, Lund Tekniska Högskola 21 februari 2006

2 Innehållsförteckning ABSTRACT INLEDNING VAD ÄR EN LÄTTVIKTSMETODIK? [1] EXTREME PROGRAMMING (XP) [2, 3] XPs fem grundläggande värderingar XPs tolv praxisar SCRUM-METODIKEN [4] Hur går ett SCRUM-projekt till? [4, 3] Faktorer att ta hänsyn till vid utarbetning av releaseplanen SCRUMs olika faser SCRUM controls SCRUM-projekt SCRUM VS. XP [2, 6, 8, 9] Vad är gemensamt? Vad skiljer dem åt? Vilken är att föredra? Vad kan SCRUM tillföra XP? SAMMANFATTNING REFERENSLISTA

3 Abstract Denna artikel behandlar metodiken SCRUM och hur det står sig i jämförelse med XP. SCRUM är liksom XP en lättviktsmetodik. Efter en kort introduktion av vad en lättviktsprocess är samt en repetition av XP följer en sammanfattning av lättviktsmetodiken SCRUM. Därefter följer en jämförelse mellan SCRUM och XP. Vad är gemensamt och vad skiljer dem åt? Är den ena att föredra före den andre? Eller spelar det ingen roll då de båda metodikerna baseras på lättviktsvärderingar? Skulle man kunna förena det bästa från de båda metodikerna. Kan SCRUMs idéer göra XP ännu bättre än vad det redan är? 3

4 1 Inledning Traditionella utvecklingsmetodiker är sekventiella och förutsätter att alla krav läggs fram i början och är tydliga innan man går vidare till nästa fas. I dagsläget är projektkraven allt annat än tydliga. Många av kraven är oklara eller okända även under produktutvecklingen på grund av att kunden inte riktig vet vad han vill. Ändrade faktorer i omgivningen kan leda till att kunden får för sig att ändra kraven under produktutvecklingscykeln. Detta har lett till mycket huvudvärk bland utvecklarna som helt enkelt inte kan hantera det kaos som uppstår. Många projekt drabbas därför av förseningar och budgetöverskridningar och en del projekt misslyckas totalt. I denna miljö har lättviktsmetodikerna växt fram för att avhjälpa dessa problem. [4] Som studenter på Lund Tekniska Högskola är XP den enda vi lättviktsmetodik som vi har fått lära oss och använt oss av praktiskt. XP verkar för övrigt vara den populäraste lättviktsmetodiken då de flesta artiklarna om lättviktsprogramvaruutveckling jag har stött på utgår mer eller mindre från XP. Men det finns andra lättviktsmetodiker. Därför skulle det vara intressant att studera en annan lättviktsmetodik på djupet för att kunna ser hur det förhåller sig till XP. Jag har valt att studera lättviktsmetodiken SCRUM för att se hur den skiljer sig från XP. Är den att föredra framför XP i vissa situationer? Skulle man kunna utnyttja dess idéer till att förbättra XP? Dessa frågor har jag försökt att besvara i [1, 2, 3, 4] denna artikel. För att kunna möjliggöra jämförelsen inleds artikeln med en kort introduktion om vad en lättviktsprocess är. Därefter följer av en repetition av XP-metodiken som sedan åtföljs av ett kapitel som behandlar SCRUM-metodiken. I det avslutande kapitlet jämförs sedan de två metodikerna. 2 Vad är en lättviktsmetodik? [1] Ordet lättvikt kommer från det engelska ordet agile som betyder snabb eller rörlig. Det som kännetecknar lättviktsmetodikerna är att större vikt läggs på människor än själva processerna och verktygen samt att administrationen hålls på en minimal nivå. Osäkerheten kan vara mycket stor i ett mjukvaruprojekt och dessutom utsätts ett projekt ständigt för ändringar. Därför fokuserar man mycket på att göra lättviktsmetodikerna anpassningsbara. Istället för att har en omfattande planeringsfas i början av projektet görs det i mindre iterationer parallellt med implementationsfasen för att kunna hantera de ändringar som uppkommer under projektets gång. Lättviktmetodikerna har mycket gemensamt fastän de mer eller mindre har växt fram oberoende av varandra. Därför samlades representanter för några lättviktsmetodiker och bildade The Agile Alliance. De formulerade ett manifest, Manifesto for Agile Software Developement, där man enades om fyra punkter som skulle vara gemensamma för alla lättviktsmetodiker: Individer och samspel framför processer och verktyg. Samspelet mellan gruppmedlemmarna är viktigare än de verktyg och processer som används. Börja 4

5 därför först med att försöka sammansvetsa teamet. Valet av verktygen är förvisso viktigt men det kan komma senare. Fungerande mjukvara framför uttömmande dokumentation. Dokumentation är bra men för omfattande dokumentation är värre än för lite. De tar mycket tid att producera och uppdatera samt lång tid att läsa igenom. Mycket dokumentation kan undvikas genom att utvecklarna istället pratar med varandra. Skapa ingen dokumentation om inte behovet av den är omedelbart och viktigt. Det viktigaste är att det finns en fungerande mjukvara att leverera till kunden. Kundsamverkan framför kontraktförhandlingar. Framgångsrika projekt är beroende av återkopplingen från kunden. Därför är det viktigt med fortlöpande samarbete med kunden så att man kan leverera det som kunden verkligen vill ha. Anpassning till förändringar framför följande av plan. Ett mjukvaruprojekt utsätts oftast för ändrade krav. Många projekt har havererat på grund av att man inte kunnat ta hand om dessa ändringar. Därför är det viktigt att man utvecklar i små iterationer och bara planerar för några veckor framåt. På det sättet slipper man låsa sig till en viss plan eftersom man ändå inte vet vad som händer om några månader eller år. I samband med manifestet formulerade också The Agile Alliance tolv principer som utmärker en lättviktsprocess. Några av dem är att man ska: sträva efter att göra kunden nöjd genom att leverera fungerande program tidigt och ofta. välkomma ändringar eftersom det kan gynna kundens konkurrenskraft. bygga projektet kring motiverade individer eftersom det i ett lättviktsprojekt är människorna som är framgångsfaktorn. kommunicera muntligen (utvecklarna emellan) eftersom det är det bästa sättet att förmedla information på. bygga kod av hög kvalitet och som är enkel att ändra i. Då kan vi lättare ta hand om ändrade krav när de kommer. 3 Extreme Programming (XP) [2, 3] Extreme Programming är, i motsats till andra lättviktsmetodiker, en mycket konkret metodik vilket kanske kan förklara dess popularitet. De traditionella utvecklingsmetodikerna har långa utvecklingscykler vilket gjorde det nästan omöjligt att anpassa sig till ändrade krav. XP har löst detta genom att krympa dessa utvecklingscykler och istället göra dem oftare. Så istället för att planera, analysera och designa för flera år framåt försöker XP att utföra dessa aktiviteter lite i taget och mycket oftare. Dessa många korta iterationer och en nära kundkontakt gör det möjligt att anpassa projektet för kravändringar. XP baseras på fem drivande värderingar. 3.1 XPs fem grundläggande värderingar 5

6 Kommunikation. Direkt muntlig kommunikation är viktig för att undvika problem samt för att snabbt kunna lösa problem när de väl uppstår. Enkelhet. Implementera endast för dagens krav och gör koden enkel. Det är inte lönsamt med omfattande implementeringar för vad som skulle kunna komma i morgon eftersom kraven kan ändras. Om koden är enkel kan den lätt anpassas för att uppfylla morgondagens krav när det behövs. Feedback. Det är svårt att göra det rätt från början och det som är rätt i dag kanske inte är det i morgon. Med ständig feedback från kunden kan man istället tidigt utreda fel och missförstånd. Utvecklarna kan arbeta med större tillförsikt och kunden får produkten han vill ha. Kurage. Man måste våga säga sin mening. Kurage krävs för att de ovannämnda principerna ska fungera. Man måste till exempel ha kurage för att kunna förkasta dåliga lösningar och finna nya lösningar som förespråkar enkelhet. Respekt. Alla är lika viktiga i teamet och ingen är mer värd än den andre. Om ingen bryr sig om de andra eller vad de gör så kommer XP inte att fungera. Utifrån dessa värderingar har man utformat tolv stycken praxisar. 3.2 XPs tolv praxisar Planeringsmöte. Här tas en översiktligt plan fram. Kunden presenterar några funktionaliter, så kallade stories, för utvecklarna som sedan estimerar tiden det kommer ta att implementerar varje funktionalitet. Baserad på dessa estimeringar prioriterar kunden sedan vilka funktionaliteter som är viktiga för honom att ha med vid nästa release. Utvecklarna kommer sedan att endast implementerar dessa funktionaliteter. Små releaser. Systemet ges ut efter varje iteration trots att hela systemet ännu inte är implementerad. Nya releaser görs ofta vilket kan variera mellan varje dag till varje månad. Kunden får då möjligheten att provköra de nya funktionaliteter i sin hemmamiljö och kan på så sätt snabb ger feedback. Metafor. En systemmetafor underlättar kommunikationen mellan utvecklarna och kunden (som oftast inte är teknisk kunnig). Enkel design. Designen och koden ska hållas enkelt. Den får till exempel inte innehålla duplicerad kod eller en massa onödiga metoder och klasser som egentligen inte gör någonting. Implementera endast det som krävs idag, inte det som kan tänkas komma i framtiden eftersom kraven kan ändras. Testning. Utvecklarna skriver enhetstester för varje funktion de implementerar. Efter att utvecklarna implementerad en ny funktion ska alla dessa tester köras om igen och passeras. På det sättet kan programmerarna vara säkra på att inget i systemet har gått sönder i och med införandet av den nya funktionen. Kunden skriver acceptanstester för att kunna validera att detta verkligen är den produkt han vill ha. Acceptanstesterna görs på systemnivå (black-box testning). Refaktorisering. Förbättra och strukturerar om koden utan att förändra själva funktionaliteten. Att funktionalitet bibehålls kan enkelt kontrolleras genom att man kör om alla enhetstesterna. 6

7 Parprogrammering. All produktionskod ska skrivas av ett par utvecklare vid en datorn. Parprogrammering möjliggör fortlöpande kodgranskning samt att designbesluten alltid ska fattas av minst två individer. Kunskap om systemet och erfarenheter sprids när alla programmerar med alla. Kontinuerlig integrering. All ny kod som passerar alla enhetstesterna ska integreras med resten av systemet. Ändringar som inte passerar enhetstesterna förkastas. Kollektivt ägande av kod. Alla utvecklare får ändra i all kod vid vilken tidpunkt som helst när han anser det är nödvändigt. På-plats-kund. Kunden eller en kundrepresentant ska ständigt finnas på plats tillsammans med teamet. På det sättet kan utvecklarna snabb få feedback från kunden, ställa frågor och utreda missförstånd. Risken för att utvecklingen drivs åt fel håll minskas avsevärt med denna praxis. 40-timmarsarbetsvecka. Trötta utvecklare skriver dålig kod. Låt dem inte arbeta övertid. Öppen arbetsplats. Teamet ska arbeta i ett stort rum tillsammans där datorerna finns i mitten. Det gör det lättare för utvecklarna att kommunicera med varandra vilket leder till att problem kan klaras upp snabbare. 4 SCRUM-metodiken [4] SCRUM är främst en metodik för att hantera, förbättra och underhålla existerande system. Den kräver därför att det redan finns en befintlig design och kod. Metodiken är en vidareutveckling av den iterativa och inkrementella objekorienterade utvecklingscykeln. Traditionella metodiker säger att programvaruutveckling är en väldefinierad process som kan planeras och estimeras och slutföras framgångsrik. Erfarenheter visar på motsatsen. De visar att systemutvecklingsprocessen är en komplicerad och komplex process. För att kunna hantera den krävs det maximum flexibilitet och lämpliga processkontroller. Utvecklingsprocessen SCRUM utgår därför ifrån att systemutvecklingsprocessen är en komplicerat och oförutsägbar process. Särskilt analys-, design- och implementationsfasen, det så kallade sprint-fasen 1, är oförutsägbara. För att ta hand om det oförutsägbara och kontrollera riskerna används en kontrollmekanism bestående av bestämda SCRUM controls. Det som kännetecknar SCRUM-metodiken är bland annat: Den första och sista fasen (Planning och Closure) består av väldefinierade processer. Det är bara att läsa dokumentet om hur man går tillväga och sedan följa det punkt för punkt. 1 Jag har medvetet valt att behålla de engelska termerna när jag skriver om SCRUM. Att kalla SCRUM för Klunga och sprint för spurt skulle bara förvirra läsare som senare önskar läsa mera om SCRUM i engelsk litteratur. Termerna är kursiverade för att det ska synas att de är på engelska. 7

8 Sprint-fasen är en empirisk process. Empirisk innebär att man ska lära sig av sina tidigare erfarenheter från tidigare sprint för att kunna bli bättre vid nästa sprint. De flesta processerna här är antingen okontrollerbara eller odefinierade. Sprintfasen betraktas som en svartlåda som man kontrollerar med externa SCRUM controls. Sprints är olinjära 2 och flexibla. Om lämpliga processer finns kan man utnyttja dem annars kan man bygga upp sin kunskap om processen genom att utnyttja befintligt kunskap och trial and error. Projektet är öppet ända tills Closure-fasen. Det som ska levereras kan ändras när som helst under Planning- och Sprint-fasen. Resten av detta kapitel är uppbyggd på följande sätt: nästföljande underkapitel beskriver hur ett typiskt SCRUM-projekt går till och de efterföljande underkapitlen beskriver de olika delarna i projektet mera ingående. 4.1 Hur går ett SCRUM-projekt till? Först börjar med man en planeringsfas där en plan skapas. Man utformar en product backlog-lista på vad som ska göras. Utifrån listan bestämmer man den nya releasen. Marknadsgruppen eller kunden fastställer sedan ett releasedatum. En initial arkitektur utvecklas men utvecklingsteamet är förbered för att denna arkitektur kan komma att ändras under utvecklingen. Utvecklingsteamet och marknadsgruppen arbetar sedan tillsammans för att välja ut de funktionerna av störst betydelse inför första releasen. Om utvecklingsteamet anser att tiden inte kommer att räcka till för att implementera alla funktioner förhandlar man om ett mindre antal funktioner. Efter detta skapas det så kallade backlog-listor för de olika sprints med saker som ska utföras enligt den prioritetsordning man kommit överens om. Ett SCRUM-projekt kan bestå av flera utvecklingsteam men varje utvecklingsteam får inte består av mer än 10 personer. Efter den inledande planeringsfasen går man över till utvecklingsfasen som består av många små utvecklingsiterationer, så kallade sprints, för att kunna utveckla produkten inkrementellt. En sprint varar mellan en till fyra veckor. Varje team tilldelas ett antal arbetsuppgifter innan sprinten. Teamet identifierar de arbetsuppgifter som ska göras och för in dem i sprint backlog-listan. Före varje sprint samlas teamet för att uppdatera backlog-listan och omprioritera arbetsuppgifterna. Teammedlemmar skriver upp sig och får ansvar för att slutföra några arbetsuppgifter inom en rimlig tid (innan sprinten är till ända). Under sprinten tillåts inga ändringar utifrån. Under sprinten har teamet dagligen SCRUM-möten där alla teammedlemmar är med. En SCRUM master leder mötena och förvissa sig om att alla i gruppen gör framsteg genom [4, 3] 2 Med olinjär får jag uppfattningen att tiden för implementering av kraven kan variera under sprinten. Man kan aldrig säkert veta hur mycket tid det kommer att ta att implementera en backlog item eftersom man även måste ta hänsyn till variablerna kvalitet, kostnad och konkurrens. 8

9 tracking. Han antecknar besluten som görs och håller reda på vad som ska göras. Ett SCRUM-möte ska vara kort (mellan 15 till 30 minuter) och koncentrerad. Under mötet hinner man diskutera hindren och problemen som uppkommit men inte deras lösningar. Det görs i ett senare möte där endast de berörda parterna är med. En sprint måste resultera i en synlig och användbar produkt där de efterfrågade funktionerna är implementerade. Efter en sprint träffas alla projektets medlemmar inklusive kunden. Under detta möte kan allting ändras: arbetsuppgifter läggs till, tas bort eller omprioriteras. Kundens prioritera vilka saker som är viktiga inför nästa sprint. Här kollar man också på sina estimeringar och se hur dem stämmer med verkligheten. Efter varje sprint förbättras estimeringarna och en bättre plan kan utarbetas för varje gång. När produktstyrelsen anser att systemet är redo för en release går man över till Closurefasen där produkten förbereds för release med tillhörande dokumentation. 4.2 Faktorer att ta hänsyn till vid utarbetning av releaseplanen Enligt SCRUM ska planen för en mjukvarurelease baseras på följande faktorer: Kundens krav hur ska systemet förbättras Tidspress hur lång tid har vi på oss för att fortfarande kunna vara konkurrenskraftiga Konkurrens hur är konkurrensstatusen och vad krävs för att vara bäst av dem Kvalitet vilken kvalitet förväntas med avseende på punkterna ovan Vision vilka ändringar krävs för att uppfylla systemets vision. Resurser vad slags personal och hur mycket kapital finns tillgängligt Med dessa ovannämnda faktorer kan man utarbeta en initialplan. Dessa faktorer kan ändras under projektet och för att lyckas man måste ta hänsyn till dem även i framtiden. Då mycket är osäkert görs inget omfattande plan utan planeringsfasen gås igenom snabbt. 4.3 SCRUMs olika faser SCRUM består av följande faser: Pregame o Planning: Här utformas en omfattande product backlog-lista på vad som ska göras. Baserad på listan bestämmer man den nya releasen (eller releaser) och dess leveransdatum samt estimerar tiden och kostnaden för den. o Architecture / High Level Design: Här bestämmer man hur backlog items ska implementeras. Man identifierar de ändringar som behövs för att kunna implementera backlog items och man försöker också identifierar de eventuella problem som kan uppstå på grund av ändringarna. Man ser också över systemarkitekturen och modifierar den vid behov för att den ska kunna stödja de nya kraven. Game 9

10 o Development Sprints: Med i beräkningar har man hela tiden de variabler som påverkar utvecklingen: tiden, kraven, kvaliteten, kostnaden samt konkurrensen. Styrelsen använder dessa variabler för att bestämma när fasen slutar. Utvecklingen av systemet drivs framåt med hjälp av många små iterativa utvecklingscykler, så kallade sprints. Varje sprint har ett bestämt syfte, en så kallad sprint goal. Huvudsyftet med en sprint är att kunna leverera värdefullt funktionalitet. En sprint löper över en bestämd tidsperiod och består av följande aktiviteter (som utförs av ett eller flera team): Review: Varje dag har teamet ett möte tillsammans för att presentera det som utförts och granska framstegen. Här får man möjlighet att diskutera de hinder samt problem som uppstått. Nya items läggs till sprint backlog-listan. Riskerna granskas och man definierar vilka åtgärder som ska vidtas. Adjust: Här slår man ihop informationen man information från Review-mötenen som sedan läggs de i berörda paketen. Develop: Här öppnas paketen för implementeringen av de nya funktionaliteterna till den nya releasen. Man får endast ändra i ett paket som är öppet (den del av systemet som teamet får ändra i). Man kodar, testar och dokumenterar ändringarna. Wrap: Här stängs paketen. När ett paket stängs får inga kodändringar göras i den delen av systemet. En exekverbar version av ändringarna skapas med beskrivning på hur dessa ändringar implementerat kraven i sprint backlog-listan. Efter varje sprint följer ett mer omfattande granskningsmöte: Produktstyrelsen och hela teamet är närvarande och deltar. Även berörda försäljningspersonal, marknadspersonal, kunder och andra får vara med. Man granskar delar av det exekverbara systemet som omfattar de backlog items som tilldelats teamet och även ställen där ändringar gjorts för att möjliggöra implementeringen av dessa backlog items. Man kan introducera nya backlog items och tilldela dem till teamen. Riktningen och innehållet på det som ska levereras kan också ändras. Utifrån komplexiteten och framstegen bestäms en ny tid för nästa omfattande granskningsmöte. Vanligtvis är en sprint mellan en till fyra veckor lång. Postgame o Closure: Här förbereder man den utvecklade produkten inför release genom integrering, systemtestning samt färdigställande av användarmanual. 4.4 SCRUM controls Inom programvaruutvecklingen är mycket oförutsägbar. Därför man kan inte använda sig av väldefinierade processer som säger: Gör så här och så här för då kommer resultatet 10

11 att bli bra. Istället för väldefinierade processer har SCRUM istället infört så kallade SCRUM controls. Dessa controls består av verktyg och faktorer man ska utnyttja för att övervaka utvecklingen och styra projektet i rätt riktning. Utnyttjande av dessa controls gör att man kan hantera kravändringar och problem som uppstår under utvecklingen. Risk är den främsta control. Riskuppskattning hjälper oss att bestämma om de andra controls behöver uppdateras och om andra åtgärder behöver vidtas. SCRUM har följande controls: Backlog: Backlog är en lista bestående av backlog items. Backlog items kan vara funktionalitetskrav som är splittrade i mindre delar, buggar, kundens krav på förbättringar, konkurrenskraftig funktionalitet samt teknikuppgraderingar. Release/Enchancement: en samling av backlog items som anses genomförbara inom en viss tid om man ta hänsyn till variablerna krav, tid, kvalitet och konkurrens. Packets: Packet är en produktkomponent som behöver ändras för att förverkliga en implementering av en ny backlog item. Changes: Ändringar av en packet som måste göras för att implementera en backlog item. Problems: Vid implementering av en backlog item kan problem uppstå som måste lösas. Risks: Riskuppskattning görs fortlöpande och åtgärder planeras. Riskuppskattning är mycket viktig eftersom den avgör om projektet kommer att bli framgångsrikt eller ej. Solutions: lösningar till risks och problems. Issues: Andra saker som inte går under termerna packets, changes och problems. Dessa controls används i olika faser. Utvecklarna kan använda dem för att hantera ändringar och problem. Produktstyrelsen använder dem för att hantera product backloglistan. 4.5 SCRUM-projekt Termen SCRUM är tagen från spelet Rugby. I Rugby är scrum ett team bestående av åtta spelare (forward) som arbetar tillsammans för att flytta bollen till motståndarens målområde. Teamet är fokuserad mot ett gemensamt mål och arbetar tätt ihop där varje spelare i gruppen har en bestämd roll. Så är det också i ett SCRUM-team. Varje teammedlem vet sin roll och sina uppgifter och hela teamet arbetar mot ett bestämt mål. Inför varje ny release skapas ett projektteam bestående av följande mindre grupper: Management: En grupp som bestämmer innehållet och tiden för den nya release. Gruppen styr projektets utveckling och ta hand om product backlog-listan, riskerna och releaseinnehållet. Development teams: Utvecklingsteamet är små, inte mer än 10 medlemmar. Teamet består av utvecklare, dokumenterare och kvalitetskontroll personal. Varje 11

12 team tilldelas en bestämd mängd packets med tillhörande backlog items. Teamet identifierar ändringar som behöver göras, utför dem och ta hand om de problem som eventuellt uppstår. Teamet väljs ut så att all kunskap och expertis som krävs för implementeringen finns i teamet. Ett projektteam består också av berörda marknadspersonal, försäljningspersonal och kunder. SCRUM förespråkar att dem är med för att man ska kunna bestämma lämpligt innehåll för releasen samt en lämplig tidpunkt för lanseringen. Det som känneteckna SCRUM-projekten är följande: Flexibla levererbara: innehållet på det som levereras dikteras av omgivningen. Flexibelt schema: det levererbara kan behövas släppas tidigare eller senare än man planerad från början. Små team: inte mer än 10 personer i ett team men det får finnas flera team i ett projekt. Frekventa granskningar: teamets framsteg granskas ofta, vanligtvis med 1 till 4 veckors intervall. Samarbete: samarbetet inom teamet och utanför teamet är mycket viktigt. 5 SCRUM vs. XP [2, 6, 8, 9] 5.1 Vad är gemensamt? Båda metodikerna förespråkar små utvecklingsteam: 3-16 personer för XP och 5-10 för SCRUM eftersom man anser att små team arbetar effektivare. Kommunikation underlättas och kunskapen sprids snabbare. I både XP och SCRUMP spelar kunden en viktig roll, han är en del av teamet. Detta är inte förvånande eftersom lättviktsmetodiker kräver att kunden inta en aktiv roll. Han ska lägga fram och ta bort krav, prioritera, ge feedback för att kunna styra projektet i rätt riktning, finnas till hands när utvecklarna behöver ställa frågor, etc. Båda metodikerna tidsestimerar arbetsuppgifterna. I XP är det utvecklarna som estimerar hur mycket tid (dagar/veckor/månader) som krävs för varje story. I SCRUM är det produktägaren som tillsammans med utvecklarna estimerar backlog items i dagar. Efter varje iteration/sprint jämför man sina estimeringar med det som verkligen har utförts för att kunna förbättra sin estimering inför nästa iteration. I XP börjar man varje iteration med ett planeringsmöte där kunden får förklara och prioritera storiesarna. Storiesarna delas upp i mindre uppgifter som utvecklarna skriver sig upp på. I SCRUM inleder man också varje sprint med ett planeringsmöte. Man tittar i sprint backlog-listan och utvecklarna väljer items de tror sig kan klara av att implementera inom angiven tid. Man diskuterar också hur man ska uppnå sprint-målet. 12

13 Både XP och SCRUM förespråkar direkt kommunikation mellan utvecklarna. SCRUM stödjer det med sina dagliga möten. XP stödjer det med dagliga stand up möten och kräver dessutom att alla teammedlemmar sitter i samma rum. Utanför en iteration/sprint kan kunden lägga till, ta bort eller ändra kraven hur som helst. I SCRUM tillåts mindre ändringar från kunden under en sprint men stora ändringar tillåts inte. Det är dock tillåtet i XP där en ny story skapas och man gör en omplanering. Kvaliteten är viktig i lättviktsutveckling. XP och SCRUM förespråkar fortlöpande och automatisk integrationstestning, med en daglig build och smoke test. XP har enhetstester och parprogrammering för att kunna försäkra kodkvalitet. Både i XP och SCRUM slutförs varje iteration/sprint med en informell granskning. 5.2 Vad skiljer dem åt? SCRUM är främst en metodik för att hantera, förbättra och underhålla för existerande system. XP däremot är även anpassad för mjukvaruprojekt som startar från noll. XP är anpassad för ett utvecklingsteam per projekt. I SCRUM kan det finnas flera team som arbetar parallellt. XP innehåller mycket lite vägledning för projektstyrning. SCRUM är däremot utformat för styrning av mjukvaruutvecklingsprojekt. Förespråkarna för SCRUM, Schwaber och Beedle, rekommenderar därför att man ska komplettera SCRUM med exempelvis XP 3. XP använder sig av metaforer för att hjälpa alla att förstå hur sakerna hänger ihop samt underlättar kommunikationen mellan utvecklarna sinsemellan och kunden. SCRUM har inget sådant utan har endast små mål inför varje sprint. Men det finns såklart inget i SCRUM som hindrar utvecklarna från att använda sig av metaforer. I XP är det kunden som anger kraven genom att skapa en hög av stories. I SCRUM är det produktägaren (inte nödvändigtvis kunden) som skapar och underhåller product backloglistan (motsvarighet till stories-högen). SCRUM har inga bestämda processer under implementationsfasen (sprint-fasen) utan lämnar det öppet för utvecklarna att fritt välja sina egna mjukvaruutvecklingstekniker och praxisar. XP har bestämda och konkreta praxisar som man ska följa och det anser många vara en fördel. Värt att lägga märke till är att en av praxisarna är De är bara regler. Så även i XP kan man välja att bortse från vissa praxisar eller anpassa dem efter teamets behov. 3 Rekommendation från boken Agile Software Development With SCRUM, skrivet av K. Schwaber och M. Beedle. 13

14 5.3 Vilken är att föredra? Styrkan i XP är att den är en mycket konkret metodik. Den innehåller konkret vägledning igenom alla faser under produktutvecklingen. För små projekt där kraven är vaga och föränderliga och där man inte ställer så höga krav på projektstyrning är XP att föredra. SCRUM däremot saknar konkret vägledning under implementationsfasen men styrkan i SCRUM är projektstyrningen. På grund av detta kan SCRUM, i motsats till XP, har flera utvecklingsteam som arbetar på samma produkt parallellt. Där skulle man kunna använda SCRUM för att skala upp XP för större projekt bestående av flera mindre utvecklingsteam. Det var just det en grupp utvecklare på SAS institut i Danmark gjorde och resultat verkar vara mycket lyckat. I början körde man bara med XP men ganska snart dök det upp problem med att koordinera och prioritera arbetet mellan det danska teamet och de andra 4-5 teamen på huvudkontoret. För att avhjälpa dessa problem infördes SCRUM i kombination med XP. Utvecklingsteamen rapporterar att SCRUM har gjort deras planering, estimering och tracking mycket lättare. Snart började man även ha dagliga möten med teamen med hjälp av videokonferens och man tyckte att bara det har förbättrat projektstyrningen mellan teamen avsevärt. [7] 5.4 Vad kan SCRUM tillföra XP? XP fokuserar mycket kring tekniska detaljer om hur man ska programmera. SCRUM lägger däremot större vikt på hur man organiserar teamen, hur man delar upp arbetet mellan de olika teamen samt hur arbetet ska planeras. Mycket av det som finns i SCRUM finns redan i XP. Om man skulle kalla Sprint Planning Meeting för Planning Game, SCRUM Master för Coach, Sprint för Iteration, Story för Backlog item och Daily SCRUM Meeting för Stand-up Meeting så har man faktiskt en enkel variant av XP. Men vad händer när ett projekt behöver fler än 10 utvecklare, kanske upp till hundra utvecklare? Då blir det genast svårare att koordinera arbetet i XP på grund sådana praxisar som Collective Code Ownership, Continuous Integration och Open Workspace. SCRUM löser det genom att dela upp utvecklarna i mindre team och inför det så kallade SCRUM of SCRUM meeting för att koordinera arbetet mellan teamen. [10] På grund av storleken kan inte alla i teamen närvara vid dessa möten. Istället sänds en representant från varje team. Vanligtvis är det är SCRUM mastern eftersom det är han som har översikten över vad hans team har uträttat och känner till dem olika hindren och problemen som dykt upp. En sak som möjliggör uppdelningen av arbetet i SCRUM är att metodiken säga att man ska dela upp systemet i moduler, så kallade packets. Denna uppdelning görs under Design and System Architecture fasen. Dessa packets ska vara mer eller mindre vara oberoende av varandra. Inför varje sprint väljer varje team ut ett antal högprioriterade backlog items och tilldelas de packets som de behöver för att kunna implementera dessa items. Teamet får endast ändra i dem packets som har tilldelats dem. På det sättet slipper man stora merging-problem eftersom de olika teamen aldrig i samma kod. Det fina med SCRUM är att när man har delat upp det stora antalet utvecklarna i mindre team så blir genast alla XPs praxisar giltiga igen. Slutsatsen är att SCRUM bör ses som 14

15 ett komplett till XP och inte en konkurrent. SCRUM gör det möjligt att tillämpa XP på stora projekt med många utvecklare. 6 Sammanfattning SCRUM är lättviktsmetodik som fokuserar mycket på styrningen av mjukvaruutvecklingen och lägger inte så stor fokus konkreta praxisar. Många väljer därför att kombinera projekstyrningen från SCRUM med exempelvis praxisarna från XP. Detta är genomförbart eftersom SCRUM och XP i grunden är väldig lika som vi har sett i vår jämförelse. Det är endast små detaljer som skiljer dem åt. (Till detta djupstudie var det meningen att jag också skulle testa SCRUMs idéer på XPprojektet där jag och en annan student coachar ett team. Detta har dock inte blivit av eftersom jag tycker att SCRUM och XP vid en närmare granskning är väldigt likt varandra. Det är bara det att de använder olika termer. Fördelar med SCRUM i kombination med XP märks först när man behöver koordinera de olika utvecklingsteamen i ett större projekt. Detta är dock inte fallet i vårt lilla XP-projekt med endast 8 utvecklare. Att börja kalla iteration för sprint och story för backlog item skulle förvirra mer än det skulle hjälpa utvecklarna.) Referenslista [1] R. C. Martin. Agile Software Development. Prentice Hall, [2] Kent Beck: Embracing Change With Extreme Programming, IEEE 1999 [3] Kent Beck: Extreme Programming Explained: Embrace Change (2 nd edition), Addison-Wesley [4] Ken Schwaber: SCRUM Development Process (Advanced Development Methods) [5] Linda Rising and Norman S. Jannoff, AG Communication System: The Scrum Software Development Process for Small Teams, IEEE SOFTWARE, July/August 2000 [6] Pekka Abrahamsson & Others: New Directions on Agile Methods: A Comparative Analysis, Technical Research Centre of Findland, VTT Electronics, IEEE 2003 [7] Bent Jensen and Alex Zilmer: Cross-Continent Development Using Scrum and XP, SAS Institute A/S [8] An Agile Comparison, [9] Martin Fowler: The New Methodology, [10] The Scrum Development Process,

BESKRIVNING AV PROCESSMETODEN SCRUM

BESKRIVNING AV PROCESSMETODEN SCRUM NORDSCRUM BESKRIVNING AV PROCESSMETODEN SCRUM NORDSCRUM BESKRIVNING AV PROCESSMETODEN SCRUM INNEHÅLLSFÖRTECKNING inledning... 3 SCRUM... 3 Bakgrund... 3 Faser... 3 Ramverket... 3 Nordscrum... 4 StudentProjekt...

Läs mer

F7 Agila metoder. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Ulf Asklund Datavetenskap, LTH

F7 Agila metoder. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Ulf Asklund Datavetenskap, LTH F7 Agila metoder EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Ulf Asklund Datavetenskap, LTH 1 XP - Scrum - Kanban Agila metoder Vad innehåller SCRUM Hur skiljer sig XP och SCRUM KANBAN

Läs mer

Scrum + XP = sant. Kristian Björk D06, Lunds Tekniska Högskola dt05kb1@student.lth.se. Frederik Blauenfeldt Jeppsson. dt06fb8@student.lth.

Scrum + XP = sant. Kristian Björk D06, Lunds Tekniska Högskola dt05kb1@student.lth.se. Frederik Blauenfeldt Jeppsson. dt06fb8@student.lth. Scrum + XP = sant Kristian Björk D06, Lunds Tekniska Högskola dt05kb1@student.lth.se Frederik Blauenfeldt Jeppsson D06, Lunds Tekniska Högskola dt06fb8@student.lth.se 2010-03-02 1 Abstract Scrum och XP

Läs mer

Agil programutveckling

Agil programutveckling Agil programutveckling Pontus Evertsson D00, Lunds Tekniska Högskola d00pe@efd.lth.se Anna Jennerheim D00, Lunds Tekniska Högskola d00aj@efd.lth.se 2003-05-15 1 1. Inledning 3 2. Extreme Programming (XP)

Läs mer

Scrum + XP samt konsekvensanalys

Scrum + XP samt konsekvensanalys Scrum + XP samt konsekvensanalys Daniel Nimren dt05dn8 Douglas Frisk dt05df1 Dept. of Computer Science, Lunds Tekniska Högskola, Sweden {dt05dn8 dt05df1}@student.lth.se 1 mars 2010 Sammanfattning Denna

Läs mer

2010-12-27 SCRUM. Vattenfallsmodellen. Analys. Design. Kod. Test. Rational Unified Process Agile. Kallas också linjär sekventiell modell.

2010-12-27 SCRUM. Vattenfallsmodellen. Analys. Design. Kod. Test. Rational Unified Process Agile. Kallas också linjär sekventiell modell. Vattenfallsmodellen SCRUM Analys Kallas också linjär sekventiell modell Introduktion Design Kod Test Rational Unified Process Agile DSDM Adaptive Software Development Crystal Feature-Driven Development

Läs mer

Linköpings universitet 1 TDP029. Systemutveckling. Systemutveckling. Vanliga faser. Fler faser. Systemutvecklingsmetod

Linköpings universitet 1 TDP029. Systemutveckling. Systemutveckling. Vanliga faser. Fler faser. Systemutvecklingsmetod Systemutveckling TDP029 Systemutveckling Annika Silvervarg COIN/HCCS/IDA Systemutveckling kallas processen att ta emot en beställning på ett datorsystem, skriva en strukturerad kravspecifikation på systemet,

Läs mer

ALM Live: Scrum + VSTS

ALM Live: Scrum + VSTS ALM Live: Scrum + VSTS Explained and distilled for Everyone! Micael Herkommer micael.herkommer@inexor.se Introduktion Micael Herkommer Developer Coach & Solutions Architect INEXOR EPiServer Professional

Läs mer

F7 Agila metoder. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Ulf Asklund Datavetenskap, LTH

F7 Agila metoder. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Ulf Asklund Datavetenskap, LTH F7 Agila metoder EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Ulf Asklund Datavetenskap, LTH 1 XP - Scrum - Kanban - FDD Agila metoder: Vad innehåller SCRUM Hur skiljer sig XP och SCRUM?

Läs mer

12 principer of agile practice (rörlig)

12 principer of agile practice (rörlig) X-treme programming 12 principer of agile practice (rörlig) Ge nöjd kund genom tidig och kontinuerliga leveranser Den viktigaste punkten som betyder att min vill ha kontinuerlig feedback Välkomna sena

Läs mer

Linköpings universitet 1

Linköpings universitet 1 Vanliga faser TDP029 Systemutveckling Annika Silvervarg COIN/HCCS/IDA Analys Vad är problemet? Uppgift Vad är det för arbetsuppgifter och hur utförs de? Användarbehov Vad behöver användaren/användarna?

Läs mer

Användarcentrerad systemdesign

Användarcentrerad systemdesign Användarcentrerad systemdesign Föreläsning 11: Agile-processer och ACSD Stefan Blomkvist Avdelningen för MDI/IT, Uppsala Universitet, Stefan.Blomkvist@hci.uu.se www.it.uu.se/edu/course /homepage/acsd/

Läs mer

SCRUM. Marcus Bendtsen Institutionen för datavetenskap

SCRUM. Marcus Bendtsen Institutionen för datavetenskap SCRUM Marcus Bendtsen Institutionen för datavetenskap 2 Metodik Systematiskt tillvägagångssätt för att garantera utfallet Metodiken behöver passa kontexten och tillgängliga resurser Verifiering av metodiken

Läs mer

extreme Programming refactored - recension och analys av Kent Becks senaste definition av XP

extreme Programming refactored - recension och analys av Kent Becks senaste definition av XP extreme Programming refactored - recension och analys av Kent Becks senaste definition av XP Måns Gunnarsson d01mg@efd.lth.se Sammanfattning Denna djupstudie består av en recension av andra upplagan av

Läs mer

Inspel till dagens diskussioner

Inspel till dagens diskussioner Intro till Agil Projektledning CMB 11 juni 2018 Mats Nyman Wenell Management AB Inspel till dagens diskussioner Historik och bakgrund Agila manifestet och de agila principerna SCRUM Kort om SAFe Wenell

Läs mer

Användningscentrering i agila utvecklingsprojekt. johanna.sarna@valtech.com Valtech

Användningscentrering i agila utvecklingsprojekt. johanna.sarna@valtech.com Valtech Användningscentrering i agila utvecklingsprojekt johanna.sarna@valtech.com Valtech Vem är jag? Johanna Särnå Jobbar på Valtech sedan 3 år tillbaka Jobbar där med användbarhet och projektledning Certifierad

Läs mer

Användarcentrerad systemdesign

Användarcentrerad systemdesign Användarcentrerad systemdesign Föreläsning 9: Agile-metoder, XP och ACSD Stefan Blomkvist MDI / IT, Uppsala Universitet, stefan.blomkvist@it.uu.se XP www.it.uu.se/edu/course /homepage/acsd/s04 Dagens föreläsning

Läs mer

Therese Hansson & Magnus Jonsson. Motivationsfaktorer - Test inom Agila utvecklingsprojekt

Therese Hansson & Magnus Jonsson. Motivationsfaktorer - Test inom Agila utvecklingsprojekt Motivationsfaktorer - Test inom Agila utvecklingsprojekt Magnus Jonsson & Therese Hansson Flerårig erfarenhet från ett globalt utvecklingsprojekt där vi införde Agile & Scrum metodik i hela organisationen

Läs mer

CREATING VALUE BY SHARING KNOWLEDGE

CREATING VALUE BY SHARING KNOWLEDGE CREATING VALUE BY SHARING KNOWLEDGE PROJEKTLEDNING 101 Nidzara Dellien, Lund September 2017 PROJEKT En formell definition på projekt är följande (enligt Wikipedia): En temporär satsning för att framställa

Läs mer

SCRUM och mycket mer

SCRUM och mycket mer Typ av dokument Anvisning Skapad Senaste uppdatering 2008-01-27 2008-11-13 1 (5) Sida 1 Det minsta möjliga? SCRUM och mycket mer Om man nu vill vara agile och inte har allt tid i världen, vad skall man

Läs mer

XP-projekt: En fördjupning

XP-projekt: En fördjupning XP-projekt: En fördjupning Extreme Programming Martin Karlsson marka@itn.liu.se K7522 011 36 34 63 Fem värden Kommunikation Var öppna Var ärliga Ta konflikter Diskutera Tag beslut Tag ansvar Kräver feedback,

Läs mer

Automation Region. Affärsdriven systemutveckling genom agila metoder. Stefan Paulsson Thomas Öberg

Automation Region. Affärsdriven systemutveckling genom agila metoder. Stefan Paulsson Thomas Öberg Automation Region Affärsdriven systemutveckling genom agila metoder Stefan Paulsson Thomas Öberg Frontit Frontit är ett svenskt konsultföretag i gränslandet mellan Management & IT, som stärker sina kunders

Läs mer

Agile-metoder, XP och ACSD

Agile-metoder, XP och ACSD Användarcentrerad systemdesign. Föreläsning 12 Agile-metoder, XP och ACSD Stefan Blomkvist MDI / IT, stefan.blomkvist@it.uu.se & Profdoc AB www.profdoc.se www.it.uu.se/edu/course /homepage/acsd/s04 XP

Läs mer

Scrum Scrum. en beskrivning. a description. V 2012.12.13 2012 Scrum Alliance,Inc 1

Scrum Scrum. en beskrivning. a description. V 2012.12.13 2012 Scrum Alliance,Inc 1 " Scrum Scrum en beskrivning a description 1" 1 Scrums principer Värderingar från Agile Manifesto Scrum är mest känt av de agila arbetssätten. Agile Manifesto utgör en gemensam bas för att arbeta agilt

Läs mer

Agila Metoder. Nils Ehrenberg nils.ehrenberg@mah.se

Agila Metoder. Nils Ehrenberg nils.ehrenberg@mah.se Agila Metoder Nils Ehrenberg nils.ehrenberg@mah.se Agenda Agila Metoder: Scrum och sprints Lean och Design Workshops Kravställning Agil Utveckling Individer och interaktioner istället för processer Fungerande

Läs mer

Deluppgift 2 Kravhantering a) (2p) När man diskuterar krav brukar man ange två olika typer av krav. Beskriv dessa och ge exempel.

Deluppgift 2 Kravhantering a) (2p) När man diskuterar krav brukar man ange två olika typer av krav. Beskriv dessa och ge exempel. Page 1 (5) Hemuppgift 1DV404 150115-150118 Deluppgift 1 Processmodeller a) (4p) Alla mjukvaruutvecklare följer någon form av utvecklingsprocess i sitt arbete. Diskutera vad organisationer brukar ange som

Läs mer

F2 XP Extrem Programmering översikt. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Görel Hedin Datavetenskap, LTH

F2 XP Extrem Programmering översikt. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Görel Hedin Datavetenskap, LTH F2 XP Extrem Programmering översikt EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Görel Hedin Datavetenskap, LTH Vad är XP? En metod för hur man utvecklar programvara i grupp i nära samspel

Läs mer

Filhanterare med AngularJS

Filhanterare med AngularJS Filhanterare med AngularJS Författare: Filip Johansson Peter Emilsson Oskar Georgsson Christian Nilsson Datum: 2014-03-26 1 Sammanfattning Filhanterare med AngularJS är en filhanterare skapad för Sigma

Läs mer

F2 XP Extrem Programmering översikt. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Görel Hedin Datavetenskap, LTH

F2 XP Extrem Programmering översikt. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Görel Hedin Datavetenskap, LTH F2 XP Extrem Programmering översikt EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Görel Hedin Datavetenskap, LTH Syfte & Mål Ge en helhet av vad XP är Mål & syfte med XP - varför ser metoden

Läs mer

Presentation. Fredrik Runnsjö 1996 Utvecklare 2004 Testare ~2006 Scrum/Canban

Presentation. Fredrik Runnsjö 1996 Utvecklare 2004 Testare ~2006 Scrum/Canban Presentation Fredrik Runnsjö 1996 Utvecklare 2004 Testare ~2006 Scrum/Canban Om AddQ Mission Vi skapar affärsnytta för kunden genom specialisttjänster inom test, kvalitetssäkring och effektivisering Tjänsteområden

Läs mer

SCRUM. på fem minuter

SCRUM. på fem minuter SCRUM på fem minuter DET TALAS MYCKET OM SCRUM OCH LÄTTRÖRLIGA METODER JUST NU A simple framework for managing complex projects Traditionella metoder fokuserar på att hålla planen, Scrum inriktar sig på

Läs mer

Scrums användning i Extreme Programming projekt. Lunds Tekniska Högskola D07 Lars-Olof Rydgren EDA270 2011-03-01

Scrums användning i Extreme Programming projekt. Lunds Tekniska Högskola D07 Lars-Olof Rydgren EDA270 2011-03-01 Scrums användning i Extreme Programming projekt Lunds Tekniska Högskola D07 Lars-Olof Rydgren EDA270 2011-03-01 1 Sammanfattning I denna djupstudie givet av kursen Coaching i Programvaruutveckling på Lunds

Läs mer

SCRUM och agil utveckling

SCRUM och agil utveckling SCRUM och agil utveckling Johan Åberg johan.aberg@liu.se Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Läs mer

Kritik av Extrem Programmering

Kritik av Extrem Programmering Kritik av Extrem Programmering Markus Borggren d01mbo@efd.lth.se Martin Persson d01mp@efd.lth.se D01, Lunds Tekniska Högskola 15 februari, 2004 Abstract I denna djupstudie kommer vi att försöka, på ett

Läs mer

Note to programmers. Embrace Change! Extreme Programming? Fyra basaktiviteter. 12 Practices / sedvanor. Vad är Extreme Programming

Note to programmers. Embrace Change! Extreme Programming? Fyra basaktiviteter. 12 Practices / sedvanor. Vad är Extreme Programming Embrace Change! Note to programmers Extreme programming Even programmers can be whole people in the real world. Extreme Programming is an opportunity to test yourself, to be yourself, to realize that maybe

Läs mer

SCRUM på Riksarkivet. Magnus Welander / 2011-05-26

SCRUM på Riksarkivet. Magnus Welander / 2011-05-26 SCRUM på Riksarkivet Magnus Welander / 2011-05-26 Agenda Metoden SCRUM Erfarenheter från Riksarkivet Sverige Metoden SCRUM Varför agile? Källa: Standish Group Önskedrömmar Kunden vet vad de vill ha Utvecklarna

Läs mer

PMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning

PMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning PMM (Process Maturity Metrics) PMM är en metod för att mäta processmognad i utvecklingsprojekt. I korthet går metoden ut på att man utvärderar sin utvecklingsprocess med avseende på ett antal framgångsfaktorer

Läs mer

TDDI02. Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDDI02. Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDI02 Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Verifikation, Validering och Testning XP Extreme Programming Vad är ett fel? I engelskan

Läs mer

Steget efter CAD Data Management. Per Ekholm

Steget efter CAD Data Management. Per Ekholm Steget efter CAD Data Management Per Ekholm Agenda Vilka processer/discipliner stöds i PDMLink Dokument management Configuration Management Change Management Project Management Hur utvärderar jag behovet?

Läs mer

Agil utveckling ställer nya krav på upphandling. Roland Bäcklin, Jaybis Konsult AB roland.backlin@jaybis.se

Agil utveckling ställer nya krav på upphandling. Roland Bäcklin, Jaybis Konsult AB roland.backlin@jaybis.se Agil utveckling ställer nya krav på upphandling Roland Bäcklin, Jaybis Konsult AB roland.backlin@jaybis.se Roland Bäcklin Tidigare: Utvecklare, Systemarkitekt, Projektledare, CTO, CIO, Riksinstruktör,

Läs mer

Agil projektmetodik Varför och vad är det?

Agil projektmetodik Varför och vad är det? Agil projektmetodik Varför och vad är det? Boris Magnusson Datavetenskap LTH 2016-02-08 Lite större projekt Sträcker sig över tid Involverar många deltagare som behöver arbeta parallellt Planeras - delas

Läs mer

Projektmetodik. Översikt. Lektion 1: Metodiker. Metodiker.

Projektmetodik. Översikt. Lektion 1: Metodiker. Metodiker. Projektmetodik Översikt Metodiker. Lektion 1: Metodiker Agile. - Lean. - Scrum. - Kanban. - XP, Extrem Programmering. - DSDM, Dynamic Systems Development Method. RUP, Rational Unified Process. Traditionella

Läs mer

SCRUM. En agil projektmetod baserad på empiri - vad fungerar och vad fungerar inte?

SCRUM. En agil projektmetod baserad på empiri - vad fungerar och vad fungerar inte? SCRUM En agil projektmetod baserad på empiri - vad fungerar och vad fungerar inte? Grundprinciper Projektgruppen organiserar och planerar sitt eget arbete Fokus på verksamhetsnytta Alla krav prioriteras

Läs mer

Agil Projektledning. En introduktion

Agil Projektledning. En introduktion Agil Projektledning En introduktion Agil Projektledning Förändringar sker alltid i projekt Agil projektledning handlar om att hantera dessa Kunden har dålig insyn i ett traditionellt projekt De ska vara

Läs mer

TDDD26 Individuell projektrapport

TDDD26 Individuell projektrapport TDDD26 Individuell projektrapport Kort beskrivning av projektet Vi hade som projekt att utveckla en digital media servicer som skulle hjälpa filmentusiasten att organisera sitt filmbibliotek. Programmet

Läs mer

TDP023 Projekt: Agil systemutveckling

TDP023 Projekt: Agil systemutveckling TDP023 Projekt: Agil systemutveckling Johan Åberg johan.aberg@liu.se Tre moment Projekt 8hp Marknadsföring av produkt 2hp Kopplat till projektarbetet Individuell rapport 2hp Kopplat till projektarbetet

Läs mer

Fungerar Agila principer i alla typer av projekt?

Fungerar Agila principer i alla typer av projekt? Fungerar Agila principer i alla typer av projekt? Wenell Management AB Vad är Agile? Agile kan sägas vara ett paraplybegrepp. Det är inte en systemutvecklingsmetodik i sig utan snarare en uppsättning värderingar,

Läs mer

Agilt arbetssätt i komplexa organisationer. Välkomna! Anna Picetti, IT-HUSET 2011-10-27. www.it-huset.se

Agilt arbetssätt i komplexa organisationer. Välkomna! Anna Picetti, IT-HUSET 2011-10-27. www.it-huset.se Agilt arbetssätt i komplexa organisationer Välkomna! Anna Picetti, IT-HUSET 2011-10-27 Ord från en företagsledare Ett bra genomförande är 90 procent av framgången och strategin 10, varav magkänslan är

Läs mer

Agil Projektledning. En introduktion

Agil Projektledning. En introduktion Agil Projektledning En introduktion Agil Projektledning Förändringar sker alltid i projekt Agil projektledning handlar om att hantera dessa Kunden har dålig insyn i ett traditionellt projekt De ska vara

Läs mer

Agil mjukvaruutveckling. 1DV404, Jesper Andersson

Agil mjukvaruutveckling. 1DV404, Jesper Andersson Agil mjukvaruutveckling 1DV404, Jesper Andersson Agilt? Innehållet i alla mjukvaruutvecklingsprocesser! Roller! Aktiviteter! Artefakter Processmodeller Många smaker Unified Process Kanban SCRUM normativ

Läs mer

TDP023 Projekt: Agil systemutveckling

TDP023 Projekt: Agil systemutveckling TDP023 Projekt: Agil systemutveckling Johan Åberg johan.aberg@liu.se Tre moment Projekt 8hp Marknadsföring av produkt 2hp Kopplat till projektarbetet Individuell rapport 2hp Kopplad till projektarbetet

Läs mer

Testdriven utveckling. Magnus Jonsson Siemens Medical Solutions

Testdriven utveckling. Magnus Jonsson Siemens Medical Solutions Testdriven utveckling Magnus Jonsson Siemens Medical Solutions 2 Soarian Stort projekt, ca 400 personer i projektet Distribuerad utveckling i USA, Indien och Sverige Web baserat lösning med admin client

Läs mer

Processbeskrivning Systemutveckling

Processbeskrivning Systemutveckling ProcIT-P-013 Processbeskrivning Systemutveckling Lednings- och kvalitetssystem Fastställt av Sven Arvidson 2012-06-20 Innehållsförteckning 1 Inledning 3 1.1 Symboler i processbeskrivningarna 3 2 Systemutvecklingsprocessen

Läs mer

Tentamen, delkurs Projektstyrning Webbutvecklare SU13, Malmö

Tentamen, delkurs Projektstyrning Webbutvecklare SU13, Malmö Sida 1/14 Tentamen Projektstyrning, Webbutvecklare, WU13, Malmö Tentamen, delkurs Projektstyrning Webbutvecklare SU13, Malmö Plats: Plushögskolan Malmö Tid: fredag 29 november 2013, kl. 9.00-12.00 Tillåtna

Läs mer

Agila metoder. Idag skall vi vända på steken... Agil Ledning av IT-projekt

Agila metoder. Idag skall vi vända på steken... Agil Ledning av IT-projekt Agila metoder Ledning av IT-projekt Idag skall vi vända på steken... Nästan allt vad vi pratat om tidigare glömmer vi ett tag Det kan finnas anledningar att kunna se projektvärlden och projektvärden på

Läs mer

Studie av estimeringstekniker för Extreme Programming. F. Stål D08, Lunds Tekniska Högskola

Studie av estimeringstekniker för Extreme Programming. F. Stål D08, Lunds Tekniska Högskola Studie av estimeringstekniker för Extreme Programming F. Stål D08, Lunds Tekniska Högskola dt08fs5@student.lth.se 27 februari 2012 Sammanfattning Den här studien syftar på att analysera ett fåtal estimeringsteknikers

Läs mer

Metoder för Interaktionsdesign

Metoder för Interaktionsdesign Metoder för Interaktionsdesign Föreläsning 4 Projektmetodik och Scrum Kapitel 9-12 + 14, Scrumbok Det högra spåret Vi lämnar nu det vänstra spåret de mjukare delarna och går in på det högra spåret som

Läs mer

Nyttomaximering av spikes

Nyttomaximering av spikes Nyttomaximering av spikes Johan Hedin Sånemyr D11, LTH dat11jh1@student.lu.se Victor Shu-Ming Lam D11, LTH dat11vla@student.lu.se 2016-03-07 Sammanfattning Som projektledare av ett team programmerare så

Läs mer

Scrum. på fem minuter

Scrum. på fem minuter Scrum på fem minuter Det talas mycket om scrum och lättrörliga metoder just nu A simple method for the management of complex projects... Äldre metoder fokuserar på att hålla tidsplanen, scrum inriktar

Läs mer

Scrum. på fem minuter

Scrum. på fem minuter Scrum på fem minuter DET TALAS MYCKET OM SCRUM OCH LÄTTRÖRLIGA METODER JUST NU STÄLL DIG FÖLJANDE FRÅGOR A simple method for the management of complex projects... Äldre metoder fokuserar på att hålla planen,

Läs mer

Produktägarens roll i Scrumprojekt

Produktägarens roll i Scrumprojekt Produktägarens roll i Scrumprojekt Kandidatuppsats 15 högskolepoäng, SYSK02 i informatik Framlagd: maj, 2013 Författare: Rebecka Merkel, Kristina Wendel Handledare: Lars Fernebro Examinatorer: Markus Lahtinen,

Läs mer

Distribuerad mjukvaruutveckling med extreme Programming

Distribuerad mjukvaruutveckling med extreme Programming Distribuerad mjukvaruutveckling med extreme Programming Jörgen Nilsson, d00jni@efd.lth.se February 22, 2005 Sammanfattning Denna artikel är en djupstudie skriven under en kurs i coaching av XPteam, på

Läs mer

Agil testning i SCRUM

Agil testning i SCRUM Agil testning i SCRUM Petter Salomonsson Petter.salomonsson@addq.se Tel: 0708-398435 Kort presentation AddQ Consulting AB tydlig fokus på test och kvalitetssäkringstjänster erbjuder mycket erfarna konsulter

Läs mer

Vad är agilt? Agile Islands Andreas Björk

Vad är agilt? Agile Islands Andreas Björk Vad är agilt? Agile Islands 2019 Andreas Björk Agenda 1. Vad är agilt? Agile manifesto Agile Onion Vad beskriver en agil organisation? 2. Principer och verktyg Ständig förbättring Feedback loopar Fokus

Läs mer

Proj-Iteration 5B. Plan för återstående iterationer

Proj-Iteration 5B. Plan för återstående iterationer Proj-Iteration 5B PVG/Coaching Boris Magnusson Datavetenskap LTH PVG/Coach 2009. Proj-Iter5B : 1 Plan för återstående iterationer Förutom att arbeta vidare på stories skall release göras både under iteration

Läs mer

Planeringsspelets mysterier, del 1

Planeringsspelets mysterier, del 1 Peter Lindberg Computer Programmer, Oops AB mailto:peter@oops.se http://oops.se/ 28 februari 2002 Planeringsspelets mysterier, del 1 Om jag ska spela ett sällskapsspel för första gången så vill jag att

Läs mer

Översikt. Fö: Projekt: Interaktivt system. Projekt. Mål. Coachning. Praktiker att använda

Översikt. Fö: Projekt: Interaktivt system. Projekt. Mål. Coachning. Praktiker att använda Översikt Fö: Projekt: Interaktivt system Kursinformation och introduktion Kursupplägg Systemutveckling Agila metoder Användarorientering Mål Projekt Utveckla en grafisk interaktiv tillämpning ihop med

Läs mer

Preliminär specifikation av projekt

Preliminär specifikation av projekt Preliminär specifikation av projekt Projektets namn: Infraröd Minneslåda (numera omdöpt till FastSync) Uppdragsgivare: Alex Olwal aolwal@cs.columbia.edu Deltagare: Johan Ullberg Nils

Läs mer

Projektmetodik II. HF1005, Informationsteknik och ingenjörsmetodik för Datateknik. Projektarbete

Projektmetodik II. HF1005, Informationsteknik och ingenjörsmetodik för Datateknik. Projektarbete Projektmetodik II HF1005, Informationsteknik och ingenjörsmetodik för Datateknik Projektarbete Förväntade resultatet är t.ex. en produkt Vi behöver arbeta med Analys Faktainsamling Genomförande Rapportering

Läs mer

Proj-Iteration 3. Grov plan för releaser

Proj-Iteration 3. Grov plan för releaser Proj-Iteration 3 PVG/Coaching Boris Magnusson Datavetenskap LTH Proj-Iter3-1 Grov plan för releaser Kunden är mycket nöjd med första releasen som visar att stora framsteg gjorts med implementationsarbetet.

Läs mer

I detta avsnitt beskrivs vart parprogrammering appliceras, hur det ska fungera och även i vilket projekt det introduceras i.

I detta avsnitt beskrivs vart parprogrammering appliceras, hur det ska fungera och även i vilket projekt det introduceras i. PARPROGRAMMERING Mikael Möller, dt07mm5@student.lth.se 2011-02-28 Abstrakt Parprogrammering är ett arbetssätt där två programmerare arbetar tillsammans vid en dator med en uppgift. Studien behandlar frågor

Läs mer

Djupstudie Code smells / Refaktorisering. Martin Larsson dt08ml5 Stefan Johansson, dt08sj7

Djupstudie Code smells / Refaktorisering. Martin Larsson dt08ml5 Stefan Johansson, dt08sj7 Djupstudie Code smells / Refaktorisering Martin Larsson dt08ml5 Stefan Johansson, dt08sj7 27 februari 2012 Innehåll 1 Inledning 1 2 Bakgrund 1 2.1 extreme programming....................... 1 2.2 Programvaruutveckling

Läs mer

Scrum i praktiken Tillämpning inom Gripen demonstrator. Fredrik Lorentzon & Marcus Frejd 2010-11-11 SESAM

Scrum i praktiken Tillämpning inom Gripen demonstrator. Fredrik Lorentzon & Marcus Frejd 2010-11-11 SESAM Scrum i praktiken Tillämpning inom Gripen demonstrator Fredrik Lorentzon & Marcus Frejd 2010-11-11 SESAM Agenda Vilka är Fredrik och Marcus? Gripen demonstratorprogram i korthet Varför och hur införde

Läs mer

Enhetstester på.netplattformen

Enhetstester på.netplattformen Enhetstester på.netplattformen Praktikfall ur verkligheten Copyright Prolore 2007. All Rights Reserved. Viktor Laszlo Vem är jag 11 år inom test Prolore: specialiserat på Testautomatisering, Prestandatest

Läs mer

Testdriven utveckling. Teorin bakom testdriven utveckling. Bakgrund. Januari 2009, KTH. Alexander Tarnowski

Testdriven utveckling. Teorin bakom testdriven utveckling. Bakgrund. Januari 2009, KTH. Alexander Tarnowski Testdriven utveckling Januari 2009, KTH Alexander Tarnowski Teorin bakom testdriven utveckling Bakgrund Testdriven utveckling började nämnas kring 1999-2000 av Kent Beck I praktiken implementationen av

Läs mer

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS Individuellt Mjukvaruutvecklingsprojekt (Utvecklare av digitala tjänster) Den 1 juni 2011 ABSTRAKT Rapporten tar upp positiva och negativa erfarenheter som jag erhållit

Läs mer

Ingenjörsinriktad yrkesträning - Softhouse Crossmedia Avenue. Ronny Roos, 85-02-27 4098 d04rr

Ingenjörsinriktad yrkesträning - Softhouse Crossmedia Avenue. Ronny Roos, 85-02-27 4098 d04rr Ingenjörsinriktad yrkesträning - Softhouse Crossmedia Avenue Ronny Roos, 85-02-27 4098 d04rr Inlämnad: 16 januari 2008 1 Softhouse - Crossmedia Avenue Crossmedia Avenue, är ett svenskt företag som ingår

Läs mer

Labrapport över Rumbokningssytemet Grupp:1

Labrapport över Rumbokningssytemet Grupp:1 Fakulteten för ekonomi, kommunikation, IT & data Labrapport över Rumbokningssytemet Grupp:1 Kurskod: DVGC18 Kursnamn: Software Engineering Inlämningsdatum: 2009 10 28 Scrummaster: Martin Blom Projektmedlemmar:

Läs mer

Integrerat ingenjörsprojekt

Integrerat ingenjörsprojekt Integrerat ingenjörsprojekt TNIU21 Kursmål Studenten skall efter genomgången kurs kunna arbeta efter en projektmodell i en autentisk situation medverka aktivt och väl fungerande i en projektgrupp utveckla

Läs mer

SCRUM. på fem minuter

SCRUM. på fem minuter SCRUM på fem minuter DET TALAS MYCKET OM SCRUM OCH LÄTTRÖRLIGA METODER JUST NU STÄLL DIG FÖLJANDE FRÅGOR A simple framework for managing complex projects Traditionella metoder fokuserar på att hålla planen,

Läs mer

Coaching av programvaruteam EDA270, djupstudie: Praktisk SCM användning i XP-projekt

Coaching av programvaruteam EDA270, djupstudie: Praktisk SCM användning i XP-projekt Coaching av programvaruteam EDA270, djupstudie: Praktisk SCM användning i XP-projekt Martin Malek Anders Hellström Lunds Tekniska Högskola 22 februari 2005 Version 1.0 Sammanfattning Som utgångspunkt för

Läs mer

FÖRELÄSNING 8 DSV2PVT

FÖRELÄSNING 8 DSV2PVT Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 1 FÖRELÄSNING 8 DSV2PVT Kvalitet i mjukvara, utvecklingsmodeller Beatrice Åkerblom beatrice@dsv.su.se Institutionen för Data- och Systemvetenskap (DSV) IT-Universitetet

Läs mer

Användbarhet i sitt sammanhang

Användbarhet i sitt sammanhang Användbarhet i sitt sammanhang Världsanvändbarhetsdagen 2009-11-12 Anders Hedberg, Guide Konsult Stockholm Innehåll En helikoptertur över ett projekts olika faser med belysning på användbarhet i förhållande

Läs mer

Håller XP vad det lovar?

Håller XP vad det lovar? Håller XP vad det lovar? Johan Holmberg D01, Lunds Tekniska Högskola d01jh@efd.lth.se 24th February 2004 Sammanfattning Extreme programming har under sin korta livstid fått utstå hård kritik mot sitt sätt

Läs mer

HSA Schemauppdateringsprocess. Version 1.2.1

HSA Schemauppdateringsprocess. Version 1.2.1 HSA Schemauppdateringsprocess Version 1.2.1 Innehåll Revisionshistorik... 2 1. Översikt schemauppdateringsprocess... 3 2. Planeringsfas... 3 2.1.1 Behovsanalys... 3 2.1.2 Interaktion med kravställare...

Läs mer

En studie om parprogrammering i praktiken

En studie om parprogrammering i praktiken En studie om parprogrammering i praktiken Mia Nyström Karin Wanhainen Johan Rix 29 maj 2002 Sammanfattning Parprogrammering är en av de mest omdiskuterade grundstenarna i Extreme Programming (XP). All

Läs mer

Agile - det moderna synsättet på mjukvaruutveckling Ordet Agile kommer från engelskan och kan närmast översättas med flexibel, dynamisk och smidig. Med det menar vi dynamiska projekt som konstruktivt kan

Läs mer

F9 del B Organisatoriskt. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson Datavetenskap, LTH

F9 del B Organisatoriskt. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson Datavetenskap, LTH F9 del B Organisatoriskt EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson Datavetenskap, LTH 1 Projektet - moment Projektstartsmöte 6 Iterationer (en per vecka) - 10-12 team - 12-14 personer

Läs mer

Agila Avtal. avtalsformer som kan fungera. Carina Meurlinger carina.meurlinger@agero.se

Agila Avtal. avtalsformer som kan fungera. Carina Meurlinger carina.meurlinger@agero.se Agila Avtal Hur man säljer in agila projekt olika avtalsformer som kan fungera Carina Meurlinger carina.meurlinger@agero.se Min syn på saken och kundens Detta är vad vi alla önskar Lite om mig själv Carina

Läs mer

Framtidens Team AB. utvecklingsprogram för unga/nya chefer/ledare. utbildning i kommunikologi, grundnivå: intensiv träning i nya paradigmets ledarskap

Framtidens Team AB. utvecklingsprogram för unga/nya chefer/ledare. utbildning i kommunikologi, grundnivå: intensiv träning i nya paradigmets ledarskap Framtidens Team: utvecklingsprogram för unga/nya chefer/ledare utbildning i kommunikologi, grundnivå: intensiv träning i nya paradigmets ledarskap 2009 Framtidens Team 1 Framtidens ledarskap Vi tror att

Läs mer

Whitepaper Green Bullet Agil HR

Whitepaper Green Bullet Agil HR Whitepaper Green Bullet Agil HR Agil HR Inledning Detta whitepaper syftar till att förklara vad Agile är och hur HR bör anpassa sitt arbete för att skapa större värde i en agil organisation. I takt med

Läs mer

Jämförelse mellan Extreme. Programming och andra. lättviktsprocessser. Av : Fredrik Scheja (d98fsc) Måns Holmstedt Jönsson (d99mhj)

Jämförelse mellan Extreme. Programming och andra. lättviktsprocessser. Av : Fredrik Scheja (d98fsc) Måns Holmstedt Jönsson (d99mhj) Jämförelse mellan Extreme Programming och andra lättviktsprocessser Av : Fredrik Scheja (d98fsc) Måns Holmstedt Jönsson (d99mhj) 1 Inledning Denna artikel kommer att behandla lättviktsprocesser såsom Scrum,

Läs mer

Coachning som ett HR-verktyg Miniguide

Coachning som ett HR-verktyg Miniguide Coachning som ett HR-verktyg Miniguide Varför coachning? Enkelt. Det hjälper din personal att växa, gör dina kollegor gladare och har en enormt positiv inverkan på din organisations prestation genom bättre

Läs mer

Testbara krav. SAST Syd 2012-02-09. Ställ gärna frågor under presentationen eller efteråt Åhörarkopior distribueras efteråt

Testbara krav. SAST Syd 2012-02-09. Ställ gärna frågor under presentationen eller efteråt Åhörarkopior distribueras efteråt Testbara krav SAST Syd 2012-02-09 Ställ gärna frågor under presentationen eller efteråt Åhörarkopior distribueras efteråt Ulf Eriksson Produktägare på ReQtest Specialist på kravhantering och test Grundare

Läs mer

Samarbetsstrukturer för att självorganisera inom givna ramar.

Samarbetsstrukturer för att självorganisera inom givna ramar. Scaled Delivery Samarbetsstrukturer för att självorganisera inom givna ramar Scaled Delivery Portfölj Initiative PM PO Program Vision Roadmap Backlog Coord. 1 2 3 Varför scaled delivery? Förbättra leveransförmågan

Läs mer

UTBILDNING: Skapa och leda högpresterande

UTBILDNING: Skapa och leda högpresterande UTBILDNING: Skapa och leda högpresterande team Introduktion Idag sker nästan allt arbete genom någon form av samarbete i grupp. Komplexiteten i att leda ett team har ökat i takt med att kraven på snabbhet,

Läs mer

Scrum med XP-relaterade tekniker

Scrum med XP-relaterade tekniker Scrum med XP-relaterade tekniker Införandet av Scrum och dess påverkan på systemutvecklargruppen Magisteruppsats, 15 högskolepoäng, INFM01 i Informatik Framlagd: 06, 2008 Författare: Handledare: Examinatorer:

Läs mer

HÖSTTERMINEN. Scrum STF INGENJÖRSUTBILDNING AB. Vi vidareutbildar ingenjörer och tekniker. Din partner för livslångt lärande

HÖSTTERMINEN. Scrum STF INGENJÖRSUTBILDNING AB. Vi vidareutbildar ingenjörer och tekniker. Din partner för livslångt lärande STF INGENJÖRSUTBILDNING Vi vidareutbildar ingenjörer och tekniker Scrum STF KOMPETENSINFO NR 63/2011 HÖSTTERMINEN STF INGENJÖRSUTBILDNING AB Din partner för livslångt lärande WWW.STF.SE Scrum i praktiken

Läs mer

Platina och kvalité. Rasmus Staberg, Teknisk direktör, 2014-04-08

Platina och kvalité. Rasmus Staberg, Teknisk direktör, 2014-04-08 Formpipe Platina och kvalité Rasmus Staberg, Teknisk direktör, 2014-04-08 04 08 1 Formpipe Presentation Bakgrund Platina släpptes som första release år 2000. Fick pris för Best in show från Bill Gates

Läs mer