Kritik av Extrem Programmering
|
|
- Britt Jakobsson
- för 5 år sedan
- Visningar:
Transkript
1 Kritik av Extrem Programmering Markus Borggren Martin Persson D01, Lunds Tekniska Högskola 15 februari, 2004 Abstract I denna djupstudie kommer vi att försöka, på ett objektivt sätt, ge en bild av en agila metodiken Extrem Programmering. Målet är att reda ut dess för och nackdelar, samt ge lite riktlinjer om passande användningsområden. Målgruppen är personer med grundläggande erfarenhet om Extrem Programmering.
2 Innehållsförteckning Inledning 2 Extrem Programmering 3 Enkel design 3 Refaktorisering 4 Test-driven Development 5 Parprogrammering 5 Kollektivt kodägande 6 Gemensamt utvecklingsrum 7 Kund i teamet 8 Slutord 9 Referenslista 10 1
3 Inledning I hela våra liv präglas vi av hur vårt samhälle är uppbyggt. Redan i unga år hade vi bra koll på hur det gick till när man t.ex. skulle bygga hus. Man började med en ide och utvecklade sedan denna till en ritning. Huset på ritningen blev sedan, efter lite experthjälp, ett hus och till sist flyttade man in. Detta arbetssätt, som har arbetsnamnet vattenfallsmetoden, återfinnes i alla möjliga projekt i vårt samhälle. Vi har levt med den och sett hur bra den fungerar på flera tillämpningar, varpå vi, som en kniv i bröstet, får reda på av lärda män i kavaj att detta inte alls är ett bra sätt att arbeta fram en bra programvara. Vad händer? Jo vi måste ändra hela vårt tankesätt, som vi använt oss av i årtionden. Fastän de agila metoderna låter bra så finnes alltid en rädsla eller ett motstånd mot förändring. Vi ska inte designa i förväg utan istället för att planera hela vårt arbete skall vi bara planera en liten bit fram. Vad händer då med vårt slutliga mål? Kommer vi någonsin nå dit? Förvirringen kan tyckas löjlig för vissa, men för de flesta är detta nog en omställning som inte går av sig självt. 2
4 Extrem Programmering Vid genomgång av för och nackdelar med XP I har vi lite olika källor. Den erfarenhet vi själva har som programmerare och coacher, vårt team som vi coachar och sist men inte minst litteratur och Internet. Här nedan kommer vi att gå igenom de mest centrala delarna av XP och för var och en ge er våra och våra källors åsikter och funderingar. Enkel design Vid programmering enligt vattenfallsmodellen ges ofta "Implementera för idag, designa för imorgon" som råd. Tanken är att en god design kommer löna sig i längden. XP däremot har en helt annan ståndpunkt. Att designa för morgondagen är, enligt XP, en gissningslek som inte är motiverbar. En av de slogans som XP använder sig utav är Do the simplest thing that could possibly work, vars innebörd mycket väl speglar XP: s ställningstagande. Detta kontroversiella synsätt har väckt många diskussioner mellan förespråkare och motståndare till XP. Tanken med XP är, som Kent Beck bland annat beskriver i sin bok Extreme Programming Explained: Embrace Change 1, att morgondagen är så osäker inom programvaruutveckling att design för morgondagen kommer med för stor sannolikhet kosta mer än nödvändigt. Ian Alexander skriver följande i The Limits of extreme Programming 2 : "Maxims like, do the simplest thing that could possibly work, do not necessarily lead to optimal solutions. Vem som rätt eller fel kan ingen direkt svara på då båda har mycket bra åsikter. Vad vi kan erbjuda er är dock våra egna erfarenheter samt rekommendation att läsa vad Ian och Kent skriver. Våra egna erfarenheter inom detta arbetssätt är relativt goda. Vi hade inga större problem att jobba fram en bra produkt utan att designa mycket i förväg. Dock skall ju tilläggas att projektet endast var några tusen rader kod vilket säkerligen var en starkt bidragande faktor. I XP är förkortning av Extrem Programmering 3
5 Under vårt arbete som coacher har vi däremot mött ett starkare motstånd ibland våra programmerare. De känner att en större vikt på designen i börjar hade underlättat projektet avsevärt. Vid diskussion med de andra coacherna har vi erhållit erfarenheter från en grupp som har haft en programmerare med stor erfarenhet inom design. De märkte att hans arbete tog lite längre tid än de andras, men resultatet var för gruppen en stor tidsvinst i slutet. Hans sätt att tumma på regeln om enkel design ledde till att gruppens program blev bättre. Refaktorisering Refaktorisering innebär att man ändrar och snyggar till koden utan att ändra funktionaliteten. I XP görs detta främst för att lättare kunna göra ändringar och för att upprätthålla enkel design. Man kan refaktorisera antingen för hand eller med hjälp av något verktyg. I vårt projekt användes Eclipse II. Att göra mindre ändringar likt att byta namn på klasser och variabler fungerade bra, men under samtliga långlaborationer var det någon som refaktoriserade så att det blev små konflikter inom gruppen. Att andra går in och ändrar ens kod uppskattas inte alltid! Clifford Shelley menar på i sin artikel Our Collision with XP: What We Picked Up 3 att refaktoriseringar kostar allt för mycket. Resultatet är inte garanterat bättre, det tar väldigt lång tid och leder till fel som våra tester kanske inte klarar av att detektera. Våra egna erfarenheter säger att man behöver refaktorisera, speciellt tidigt i projektet så man får en bra struktur och design. Sen stämmer det som Clifford skriver att det tar väldigt lång tid och att det är en källa till fel men i ett mindre projekt, som XP riktar sig till, så tycker vi att fördelarna väger över gentemot nackdelarna. II 4
6 Test-driven Development En stöttepelare inom XP är dess tester, eller som Beck själv skriver i Extreme Programming Explained: Embrace Change 4 : If you re not testing, it isn t extreme. Att skriva tester innan man skriver koden enligt test-first principen är betydligt lättare sagt än gjort. Under båda projekten som vi har följt har det brustit på denna punkt. Förklaringen till detta handlar nog främst om att man vill ta sig snabbare framåt. Ofta känner man även att man inte riktigt vet hur man ska implementera så det går inte att skriva testerna förrän efter man har skrivit koden. Att man har stor nytta av att ha tester som man hela tiden kan köra och testa så att all gammal funktionalitet fortfarande fungerar uppfattas dock som väldigt bra och tryggt. Mark Paulk tar i XP from a CMM Perspective 5 upp att många av XP metodiker är allmänna för all programmering. Bland annat menar han på att man länge har ansett det som en bra programmeringsrutin att tänka på testfall tidigt men att det sällan används. Parprogrammering Att använda sig av parprogrammering är en av de stora sakerna inom XP. Förespråkare för XP anser att detta leder till mindre fel i koden samt högre effektivitet. I sin artikel Comments on extreme Programming 6 pekar Watts Humphrey dock på att så inte riktigt är fallet. Enligt Humphrey finner man ungefär % av felen i sin egen kod. Använder sig av parprogrammering kommer man upp till %. Skulle man däremot använda sig av PSP III och TSP IV kan upp till % av felen hittas. Detta visar, enligt Humphrey, att man kan få bättre kvalité och kortare testningstid med dessa metoder. III PSP Personal Software Process. PSP ger specifik vägledning om hur enskilda ingenjörer kontinuerligt kan förbättra deras prestationer, IV TSP Team Software Process. TSP ger specifik vägledning om hur PSP-utbildade ingenjörer på ett effektivt sätt kan jobba i ett effektivt team, 5
7 Enligt egna erfarenheter fungerar parprogrammering väldigt bra. För en inte alltför van programmerare är det skönt att kunna diskutera olika lösningar direkt med någon på samma nivå som en själv jämfört med att behöver springa till chefen/kursansvarig vid problem. Sitter man ensam sjunker koncentrationen också betydligt fortare och man har lättare för att förvilla bort sig från det riktiga programmeringsproblemet. Då man är två personer med all kod och kör kontinuerliga partnerbyten så blir man insatt i fler delar av koden också. Detta påpekar Ian Alexander och menar att detta tillsammans med en god kommunikation gör det möjligt att använda sig av så pass lite dokumentation som XP förespråkar. Deltagarna i vårt coachade team ansåg även att parprogrammering hjälpte till väldigt mycket med att lära känna gruppen och skapa en trevlig arbetsmiljö. Kollektivt kodägande Att man tillåter alla programmerare att ändra i koden, som i XP, skapar självklart problem. I vårt projekt använde vi oss av Eclipse, vilket gör att man kan sitta och jobba i samma klasser samtidigt. Det leder till att man får mergekonflikter V, vilket med detta arbetssätt är svåra att komma ifrån. Vad Eclipse inte löser är att någon i teamet kan gå in och ändra i den kod du skrivit, vilket kan leda till både förvirring och lite irritation. Redan på 70 talet skrev Jerry Weinberg om ego-less programming i Handbook of Walkthroughs, Inspections, and Technical Reviews 7 och den innehåller något man måste tänka på i en situation som denna; Att uppskatta om någon snyggar till ens kod och inte se det som personlig kritik. Dessa problem är alla relaterade till hur stort projektet är. Med ett projekt på 10 personer går det att lösa sådana konflikter medan om man blir fler blir det genast svårare. Mark Paulk tar även upp detta problem och pekar på att kommunikationen är väsentlig även här för att komma runt problem. Vid ett större projekt behövs mer riktlinjer för att upprätthålla att alla pratar och informerar om ändringar samt eventuella lösningar. Här kan man tänka sig att om man delar upp ett större projekt i undergrupper, så kan dessa grupper köra XP inom gruppen medan man har en större organisation i bakgrunden. V Merge, Två versioner av kod visas och en av dem skall väljas och en tas bort. 6
8 Vad vi märkte och även vad gruppen tog upp på denna punkt var att man måste sätta sig in i koden om och om igen på grund av att alla gör ändringar överallt, samt att man känner mindre ansvar över koden när man inte är ansvarig för något speciellt, utan att alla har koll på allt. Gemensamt utvecklingsrum Det kollektiva ägandet av all kod kräver kommunikation i gruppen. När man sitter i samma rum och programmerar blir det bättre kommunikation och sammanhållning i gruppen. Detta underlättar även väsentligt för kunden då XP bygger på att kunden skall vara i teamet under utvecklingen. Här märks tydligt en av XP: s svagheter; gruppens storleksbegränsning! Om bra kommunikation skall erhållas får inte gruppen bli för stor. Vi kan fastslå att en begränsning av användarområdet är nådd, men det är inte allt! Många projekt i dagens näringsliv börjar som små satsningar som senare växer sig större än förväntat. Det som började som ett bra projekt för XPmetodiken på några tusen rader kod utvecklas då till ett storskaligt projekt. Fastän de som påbörjade projektet var väl medvetna om XP: s begränsade användningsområde, befinner de sig nu i ett läge där metodiken har en av sina stora svagheter. Ponera att de som jobbar med projektet kommer fram till att expanderingen kommer att fortsätta. Då finns det risk att XP-metodiken måste överges vilket kommer att resultera i omstrukturering och kanske till och med en stor ekonomisk kostnad. Så fastän det är ett litet projekt som skall påbörjas måste detta scenario tas med i riskanalyserna. 7
9 Kund i teamet Att ha en kund i teamet innebär att antingen kunden, eller någon som representerar kunden, finns på plats i teamet och följer projektet hela tiden. I vårt projekt hade vi en kund som tittade in två gånger per långlaboration samt en gång under planeringsmötet. Det var mycket märkbart hur programmerarnas relation förbättrades ju fler gånger de talat med kunden. Efter ett tag lärde man sig kundens nivå i kunnande och kunde då på ett bättre sätt förklara problem och utveckling. Fördelarna med att ha en kund på plats är att man kan väldigt snabbt få svar på frågor om utformning samt prioriteringar från kunden. Man tvekar inte heller att ställa frågor lika mycket som när man måste ringa eller skriva e- mail till kunden, vilket inte bara tar tid utan även gör det mycket svårare att förklara eventuella problem. Kunden kan även förklara stories vilket leder till att dom inte behöver vara så exakta som de annars hade behövt vara. Förutom nackdelen med att en full lön till måste betalas så finns det några saker till att ta upp. Eftersom att kunden inte alltid är insatt i de tekniska svårigheterna kan det t.ex. vara svårt att övertyga kunden om att vissa tekniska prioriteringar måste göras. Ofta är fallet så att det inte finns någon kund när projektet skapas och då går inte denna del av XP metodiken att genomföra. 8
10 Slutord Vi hoppades att med denna djupstudie erbjuda ett lite bättre underlag för en objektiv syn på XP än det kurserna Programvaruutveckling i grupp 8 och Coachning av programvaruteam 9 ger. Vi menar intet illa om kurserna i sig, utan hoppas enbart att denna djupstudie kan bidraga med ett lite objektivare betraktelsesätt på XP. Våra tankar om XP före denna djupstudie var enbart positiva. Vi hade i programvaruutvecklingskursen arbetat enligt metodiken och hade inte mycket att invända mot arbetssättet. Vad vi erfarit under vår coachning av programvaruteam, som använder sig utav XP, är att de som programmerat mycket innan oftast har svårare att anpassa sig till metodiken. Det var även dessa personer som bidrog med den mest givande kritiken mot XP. Vad vi inser är att begränsningen, tidsmässigt lika väl som storleksmässigt, i vårt projekt bidrog avsevärt till vår syn på XP. Vi hade mycket gärna velat erfara ett projekt som sträcker sig över en längre tidsperiod, så att problem likt dålig kommunikation i gruppen och liknande tonas bort. Vi kan ju i det stadie vi befinner oss i nu enbart läsa oss till och spekulera i hur ett verkligt projekt artar sig. Under så korta projekt hinner man heller inte på ett korrekt sätt komma in i rytmen med att testa, koda och sen refaktorisera, utan refaktorisering blev nästan en stående spike. Med mer tid hade vi säkerligen kommit i XP: s metodik bättre och resultaten och arbetssättet hade förbättrats. Någon slutsats om huruvida XP är bra eller inte har vi inget intresse av att gå in på då djupstudien gick ut på att få er som läsare att tänka till lite själva, se för och nackdelarna, varpå ni sedan kan skapa er en egen uppfattning. 9
11 Referenslista 1 Kent Beck, Kent Beck, extreme Programming explained, Ian Alexander, "The Limits of extreme Programming", 3 Clifford Shelley, Our Collision with XP: What We Picked Up, 4 Kent Beck, Extreme Programming Explained: Embrace Change 5 Mark Paulk, XP from a CMM Perspective, 6 "Comments on extreme Programming" Watts Humphrey, 7 Daniel Freedman och Jerry Weinberg, Handbook of Walkthroughs, Inspections, and Technical Reviews, 3rd edition 8 Lunds Tekniska Högskola, kurskod EDA260, 9 Lunds Tekniska Högskola, kurskod EDA270, 10
Gruppdynamik och gruppsykologi i Extremet Programming
Gruppdynamik och gruppsykologi i Extremet Programming Jerry Malm, d02jm@efd.lth.se Gustav Olsson, d02og@efd.lth.se Lunds Tekniska Högskola Lund, den 22 februari 2005 Sammanfattning Denna djupstudie kan
Läs merXP-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 merLinkö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 merVerktyget FindBugs. Djupstudie i kursen EDA 270 Coachning av programvaruteam. Christofer Bach dt05cb6 Daniel Nilsson dt05dn4. Lunds Tekniska Högskola
Verktyget FindBugs Djupstudie i kursen EDA 270 Coachning av programvaruteam Christofer Bach dt05cb6 Daniel Nilsson dt05dn4 Lunds Tekniska Högskola 15 feb 08 1. Sammanfattning Denna djupstudie kommer att
Läs merSCRUM. 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 merNyttomaximering 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 merScrum + 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 merF2 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 merCoaching 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 merAtt införa Extreme Programming genom processförbättring
Att införa Extreme Programming genom processförbättring Johan Thiborg-Ericson Vahagn Baghomian 14-02-28 Sammanfattning Syftet med denna studie är att studera hur agila metoder uppkommer som en naturlig
Läs merAgil 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 merF2 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 mer12 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 merFörändringskontroll i XP-team. Love Johansson (d00lj), Joakim Persson (d00jp)
Förändringskontroll i XP-team Love Johansson (d00lj), Joakim Persson (d00jp) 21 februari 2005 Sammanfattning Under sju veckor har vi agerat coacher åt en grupp relativt oerfarna programmerare i en större
Läs merAgil 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 merPlaneringsspelets 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 merScrum + 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 merNote 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 merDjupstudie 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 merD J U P S T U D I E I E D A S I M P L E C O D E A N D D E S I G N
D J U P S T U D I E I E D A 2 7 0 S I M P L E C O D E A N D D E S I G N S. Marcus Jacobsson D03, Lunds Tekniska Högskola d03mj@efd.lth.se S. Magnus Weinberg D03, Lunds Tekniska Högskola d03mw@efd.lth.se
Läs merF9 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 merCDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA
CDC6600 - en jämförelse mellan superskalära processorer av: Marcus Karlsson Sammanfattning I denna rapport visas konkret information om hur den första superskalära processorn såg ut och hur den använde
Läs merI 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 merTDDD78 Att välja och planera ett projekt
jonas.kvarnstrom@liu.se 2016 TDDD78 Att välja och planera ett projekt Steg 1: Grunder, labbmiljö, era första Java-program Vecka 3 Vecka 4 Vecka 5 Vecka 6 4 labbar, enskilt Steg 2: Fortsättning, miniprojekt
Läs merextreme 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 merRobotar i NXc. En laboration med Mindstormrobotar. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN
KUNGLIGA TEKNISKA HÖGSKOLAN Robotar i NXc En laboration med Mindstormrobotar Anton Gyllenhammar 7/30/12 antongy@kth.se II1310 Introduktionskurs i datateknik Sammanfattning Denna rapport beskriver NXc-
Läs merTestdriven 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 merSLUTRAPPORT RUNE TENNESMED WEBBSHOP
SLUTRAPPORT RUNE TENNESMED WEBBSHOP -05-30 Abstrakt Under 10 veckor har jag och Oskar Norling arbetat med att ta fram en webbshop-applikation till företaget Rune Tennesmed i Kalmar. I denna rapport tänker
Läs merLinkö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 merRefaktorisering i ett XP-projekt
Författare: Erik Norberg, Joakim Puusaari E-post: {d00en, d00jpu@efdlthse Datum: 2004-02-22 Refaktorisering i ett XP-projekt Sammanfattning I denna djupstudie delar vi med oss av våra erfarenheter av refaktoriseringar,
Läs merF6 Arkitektur, Planering
F6 Arkitektur, Planering EDA260 Programvaruutveckling i grupp Projekt Ulf Asklund, Boris Magnusson Datavetenskap, LTH PVG, 2013 F6-1 Mjukvaruarkitektur? Enkel Design och Refaktorisering handlar i första
Läs merProjektarbete DAVC20
Projektarbete DAVC20 DAVC20, Per Strömgren 2002-10-28 Make a plan. Then follow the plan. Watts Humphrey 2 DAVC20, Per Strömgren, 1 Vad handlar detta om?! 3 DAVC20, Per Strömgren Examination För godkänt
Läs merKanban. Marcus Hammarberg. torsdag den 15 september 2011 (v.)
Kanban Marcus Hammarberg Kanban? Vad sjutton är Kanban för något? Jag brukar beställa yakiniku... http://blog.huddle.net/wp-content/uploads/2009/08/team-building-exercises-improving-teamwork.jpg Kanban
Läs merJämförelserapport. För Christina Jonsson som samarbetar med Lars Andersson Denna rapport tillhandahålls av:
Jämförelserapport För Christina Jonsson som samarbetar med Andersson 07.09.2018 Denna rapport tillhandahålls av: Lambertson Consulting Riddarvägen 42 184 51 Österskär E-mail: urban@u-lab.se Mobil: +46
Läs merXP vs. Tillverkningsindustrin
Djupstudie i Coaching av programvaruteam Lunds Tekniska Högskola 2006-02-20 XP vs. Tillverkningsindustrin Hur behandlar man The FIVE dysfunctions of a TEAM? Emil Svärdh D02, Lunds Tekniska Högskola d02es@efd.lth.se
Läs merMYCKET BRA (14/48) BRA (30/48) GANSKA BRA (3/48) INTE BRA (1/48)
Kursutvärdering moment 1, IH1200, ht -12 1. Vad tycker du om kursens upplägg? MYCKET BRA (14/48) BRA (30/48) GANSKA BRA (3/48) INTE BRA Enkelt att komma igång och bra tempo Intressant och lärorikt Bra
Läs merSCRUM vs. XP en jämförelse mellan två lättviktsmetodiker
SCRUM vs. XP en jämförelse mellan två lättviktsmetodiker Phut Tran D01, Lund Tekniska Högskola d01pt@efd.lth.se 21 februari 2006 Innehållsförteckning ABSTRACT... 3 1 INLEDNING... 4 2 VAD ÄR EN LÄTTVIKTSMETODIK?
Läs merSLUTRAPPORT WEBBPROJEKT 1
SLUTRAPPORT WEBBPROJEKT 1 Kostregistrering 30 mars 2012 Webbprojekt 1 1DV411 Institutionen för datavetenskap, fysik och matematik Linnéuniversitetet Ella Källman - ella@kallman.se Martin Kuoppa - martin@duofy.com
Läs merBESKRIVNING 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 merKunskapsspridning inom ett XP team
Kunskapsspridning inom ett XP team Simon Lindberg & Firas Dib {ada10sli, ada10fdi}@student.lu.se En djupstudie i hur kunskaper sprider sig inom ett parprogrammerande utvecklingsteam. Nyckelord: kunskapspridning,
Läs merTidigare elever berättar Teknikprogrammet
Tidigare elever berättar Teknikprogrammet Markus Mathiason student 2017 1. Jag hade länge vetat att jag ville hålla på med programmering och letade efter ett teknikprogram som var fokuserat på det. Jag
Läs merProjekt Rapport. RaidPlanner. Jeanette Karlsson UD10
Projekt Rapport RaidPlanner Jeanette Karlsson UD10 Abstrakt: Denna rapport handlar om mitt projekt i kursen Individuellt Mjukvaruutvecklings projekt. Rapporten kommer att ta upp hur jag gått tillväga,
Läs merMin syn på optimal kommunikation i en PU-process
Min syn på optimal kommunikation i en PU-process KN3060 Produktutveckling med formgivning Mälardalens högskola Anders Lindin Inledning Denna essä beskriver min syn på optimal kommunikation i en produktutvecklingsprocess.
Läs merKevin Lane Kungliga Tekniska Högskolan Introduktionskurs i Datateknik (II1310) TIEDB0. [NXT Legorobot] [Programmering och felsökning]
[NXT Legorobot] [Programmering och felsökning] Kevin Lane 28/8-12 klane@kth.se Introduktionskurs i datateknik II1310 1 Sammanfattning I denna laboration så fick vi programmera och felsöka en LEGO-robot.
Läs merBygga broar Skapa en stabil grund som förstagångscoach
Bygga broar Skapa en stabil grund som förstagångscoach Oscar Lundh, D02 (d02ol@efd.lth.se) Mats Wilson, D02 (d02mwi@efd.lth.se) 2005-02-22 Sammanfattning Att träda in i rollen som coach för första gången
Läs merGrundläggande datavetenskap 4p
Grundläggande datavetenskap 4p Stefan.Pettersson@mh.se http://www.itm.mh.se/~stepet Kursinformation Planering Läsanvisningar Föreläsningsbilder Övningsuppgifter Laborationer 2004-11-04 IT och Medier 1
Läs merTDDD26 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 merCoaching av programvaruteam (EDA270) Djupstudie: Användbarheten av commit comments
Coaching av programvaruteam (EDA270) Djupstudie: Användbarheten av commit comments Robert Andersson Haraldsson D05, Lunds Tekniska Högskola dt05ra1@student.lth.se Marie Li Korse D05, Lunds Tekniska Högskola
Läs merDjupstudie - Datorbaserade system för tracking
Djupstudie - Datorbaserade system för tracking Torbjörn Lundberg, dt05tl3 Joakim Svensson, dt05js8 18 februari 2008 Sammanfattning Tracking är ett hjälpmedel inom projekt för att hålla reda på information
Läs merAGILA METODER. (för oss som inte kodar) Nina Berlin
AGILA METODER (för oss som inte kodar) Nina Berlin Agila värderingar 1. Individer och interaktioner framför processer och verktyg 2. Fungerande programvara framför omfattande dokumentation 3. Kundsamarbete
Läs merhannalabom.se Alexandra Jonasson Aj222im
hannalabom.se Alexandra Jonasson Aj222im 2012-05-15 1 ABSTRAKT Denna rapport handlar om hur jag skapade hannalabom.se med wordpress som mitt grundredskap. Jag jobbade mot en kund som ville ha en hemsida.
Läs merAnvä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 merAktivitet ett: Kommunicera! Aktiviteter i praktiken. Parprogrammering. Aktiviteter. Parprogrammeringens sju myter. Parprogrammeringens sju myter
Aktiviteter i praktiken Extreme Programming Aktivitet ett: Kommunicera! Sven and Olle are two farmers way up in the northernmost part of Scandinavia, where people are few and far between and words are
Läs merLabrapport ö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 merDesign vid utveckling av inbyggda system
Design vid utveckling av inbyggda system Föreläsning i KMM, 2013-10-11 Innehåll Hårdvarunära design Avbrottsrutiner och huvudloopar Kopplingsschema Designspec Dagens föreläsning Hårdvarunära design - värt
Läs merAtt effektivt strukturera, utföra och utvärdera spikes
Att effektivt strukturera, utföra och utvärdera spikes Oscar Rydh - psy13ory@student.lu.se, Axel Rosén - mas11ar1@student.lu.se, and Joel Klint - dat13jkl@student.lu.se Lunds Tekniska Högskola Table of
Läs merVägledning vid förändringsprocesser
Vägledning vid förändringsprocesser och mätning av v hälsa och stress Av Dan Hasson Doktorand vid Uppsala universitet Leg Sjuksköterska vid CEOS. D et är vanligt att mäta olika aspekter av hälsa, ohälsa
Läs merDu fulländar mig! Om synergierna mellan agila metoder och UX. Joakim Holm Adaptiv AB. Erik Hammarström Antrop AB
Du fulländar mig! Om synergierna mellan agila metoder och UX Joakim Holm Adaptiv AB Erik Hammarström Antrop AB Vetenskapliga metoden 1. Observera verkligheten 4. Genomför experiment 2. Utforma hypotes
Läs merFelsökande av en Lego Mindstorm robot
KTH Felsökande av en Lego Mindstorm robot Med hjälp av NXC Hampus Liljedahl 3/9-12 hliljed@kth.se Introduction to Computer Studies II1310 Sammanfattning Jag har gjort en labb där jag felsökte en färdigskriven
Läs mer2010-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Återkoppling att få gruppen att arbeta. Ann-Marie Falk Irene Karlsson-Elfgren Örjan Östman
Återkoppling att få gruppen att arbeta Ann-Marie Falk Irene Karlsson-Elfgren Örjan Östman Grupparbete inom kursen Aktiva studenter i grupparbeten våren 2007 Inledning I denna rapport beskriver vi återkoppling
Läs merDemolektion moraliskt resonerande Lukas problemsituation
Demolektion moraliskt resonerande Lukas problemsituation Huvudtränare: David: huvudtränare Medtränare: Emese Deltagare: David, Nathanael, Robert, Julia, Mujje, Hassan 1 Planering innan lektionen: David
Läs merTDDI02. 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 merKursöversikt Certifierad Mjukvarutestare
Kursöversikt Certifierad Mjukvarutestare Kurs Poäng (5 yh poäng/vecka) Examensarbete 20 Grunderna inom test 20 Kommunikation i arbetslivet 15 Lärande i arbete 1 60 Lärande i arbete 2 60 Projektarbete 15
Läs merScaled Agile Framework
Scaled Agile Framework Grunder för självorganisation Vad är det och är det bra? @svante_lidman svante.lidman@coreboost.se 1 Vem är Svante? Senaste 6-7 åren Konsultat inom Large-Scale Lean/Agile De +20
Läs merF4 Testning och Parprogrammering i XP. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson,Datavetenskap, LTH
F4 Testning och Parprogrammering i XP EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson,Datavetenskap, LTH 1 XP:s Deltekniker (Practices) 1. Planering Planeringsspelet Regelbundna releaser Hållbart
Läs merEn 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 merKritisk reflektion av använd teori för införande av digitala teknologier, Tidsläckage Teorin.
Examensarbete Magisterprogrammet Digital Affärsutveckling, kurs uppgift 3 teori-reflektion. Kritisk reflektion av använd teori för införande av digitala teknologier, Tidsläckage Teorin. Författare: Magnus
Läs merAgile-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 merTEAM. Manus presentationen
4 TEAM Manus presentationen Nu är chansen är din! 1 Ni startar upp er verksamhet med 1.000 p. Det ger er först och främst rätt till att kvalificera ert företagande i Nu Skin. Dessutom får ni ett stort
Läs merMönster. Ulf Cederling Växjö University Ulf.Cederling@msi.vxu.se http://www.msi.vxu.se/~ulfce. Slide 1
Mönster Ulf Cederling Växjö University UlfCederling@msivxuse http://wwwmsivxuse/~ulfce Slide 1 Beskrivningsmall Beskrivningsmallen är inspirerad av den som användes på AG Communication Systems (AGCS) Linda
Läs merCREATING 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 merObjektorienterad programmering
Objektorienterad programmering Aletta Nylén http://user.it.uu.se/~aletta Epost: aletta.nylen@it.uu.se Rum: 1216 Kursinfo Lärare: Aletta Nylén Jesper Wilhelmsson Litteratur: Object-Oriented Software Development
Läs merLaboration i datateknik
KUNGLIGA TEKNISKA HÖGSKOLAN Laboration i datateknik Felsökning och programmering av LEGO NXT robot Daniel Willén 2012 09 06 dwill@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Syftet med
Läs merDjupstudie i parprogrammering
Djupstudie i parprogrammering Abstrakt P. Abrahamsson D05, Lunds Tekniska Högskola dt05pa1@student.lth.se P. Norlander D07, Lunds Tekniska Högskola dt07pn3@student.lth.se 2011-02-25 Denna studie handlar
Läs merKodkomplexitet i agil utveckling. Axel Nilsson Svegard, Patrick Fogwall EDA270 - Djupstudie 2 mars 2010
Kodkomplexitet i agil utveckling Axel Nilsson Svegard, Patrick Fogwall EDA270 - Djupstudie 2 mars 2010 Sammanfattning Denna studie avser att undersöka hur uppmätning av kodkomplexitet kan användas för
Läs merProjektmetodik 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 merCult of Code Quality
Jakob Schyberg (d00jsc) 2005-02-13 Coaching av Programvaruteam Josef Granqvist (d00jgr) LTH Institutionen för Datavetenskap Cult of Code Quality Vad kan en coach göra? Denna djupstudie handlar om kodkvalitet.
Läs merEDA270 ex treme Coaching Djupstudie i ett studentprojekt
EDA270 ex treme Coaching Djupstudie i ett studentprojekt Maxim Machelak (cim04mm6@student.lth.se) E rik Iveroth (dt05ei7@student.lth.se) Lunds Tekniska Högskola 24 februari 2009 Sa m m a nfa t t n i ng
Läs merTestdriven 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 merHF LEQ. Antal svar: 23
HF - LEQ : GRUPPTILLHÖRIGHET Denna version av enkäten används om kursen har inkluderat olika grupper av kursdeltagare. Du bör då ha fått information om vilken grupp du ska välja nedan. Välj din grupp i
Läs merF7 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 merPlanering. Planning. Hur planerar vi? Hur planerar vi? XP Bill of Rights. XP Bill of Rights
Planning Extreme programming Planering In preparing for battle I have always found that plans are useless, but planning is indispensable - Eisenhower Vi planerar för att försäkra oss om att vi alltid gör
Läs mermen borde vi inte också testa kraven?
men borde vi inte också testa kraven? Robert Bornelind Presentation på SAST, 24 februari 2011 SQS Software Quality Systems Sweden AB Innehåll Introduktion Kvalitet, tid och kostnad Process Testning av
Läs merAnvä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 merAgila 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 merLEGO Mindstorm-robot
KUNGLIGA TEKNISKA HÖGSKOLAN LEGO Mindstorm-robot Programmering av LEGO Mindstorm-robot i språket NXC Kim Hammar 2/6-2013 Kimham@kth.se Introduktionskurs i Datateknik 1311 Sammanfattning En viktig del av
Läs merLåt oss ta hand om din utveckling, medan du själv utvecklar ditt företag
Låt oss ta hand om din utveckling, medan du själv utvecklar ditt företag *vad är SmartCode? Vi gör ett komplett utbud av tjänster. Vi designar, utvecklar, stödjer och uppdaterar allt som fungerar i Web.
Läs merStruktur och Ledning i små organisationer
Kungl. Tekniska Högskolan ME1010, Organisation och kundskapsintensivt arbete Fredrik Bergenlid, 870510-0157 Christian Rane, 810105-0279 Struktur och Ledning i små organisationer Innehåll 1 Inledning 1
Läs merTDDD78 Att välja och genomföra ett projekt
jonas.kvarnstrom@liu.se 2015 TDDD78 Att välja och genomföra ett projekt Steg 1: Grunder, labbmiljö, era första Java-program Vecka 4 Vecka 5 Vecka 6 3 labbar, enskilt Steg 2: Fortsättning, större labb Vecka
Läs merAtt införa XP. Daniel Nilsson och Mattias Nordahl Lunds Tekniska Högskola. 27 februari Abstrakt
Att införa XP Daniel Nilsson och Mattias Nordahl Lunds Tekniska Högskola 27 februari 2012 Abstrakt Genom analys och sammanfattning av tidigare publikationer samt diskussion och reflektion av en högskolekurs
Läs merClasses och Interfaces, Objects och References, Initialization
Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class
Läs merTHTY42-Teknisk kommunikation på tyska II - del 2
1 (6) THTY42-Teknisk kommunikation på tyska II - del 2 Sändlista Kurskod Examinator Mathias Henningsson Karin Karltorp Susann Årnfelt Seth Ramström Mathias Henningsson Christoph Röcklinsberg Johan Holtström
Läs merSolowheel. Namn: Jesper Edqvist. Klass: TE14A. Datum: 2015-03-09
Solowheel Namn: Jesper Edqvist Klass: TE14A Datum: 2015-03-09 Abstract We got an assignment that we should do an essay about something we wanted to dig deeper into. In my case I dug deeper into what a
Läs merFöreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID
Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID Vad gör vi här? Programmeringsteknik fördjupningskurs (EDAA01; 7,5hp) Valfri för F, N & BME (kan läsas från åk 2 eller i sommar!) Avancerad
Läs merF4 Testning och Parprogrammering i XP EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson,Datavetenskap, LTH
F4 Testning och Parprogrammering i XP EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson,Datavetenskap, LTH 1 XP:s Deltekniker (Practices) 1. Planering Planeringsspelet Regelbundna releaser Hållbart
Läs merProgrammering av NXT Lego- robot Labbrapport för programmering av en Lego- robot
KUNGLIGA TEKNISKA HÖGSKOLAN Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot Josef Karlsson Malik 2015-09- 02 jkmalik@kth.se Introduktionskurs i datateknik (II0310) Sammanfattning
Läs merKursprogram hösten 2011
Enea Experts Logo - with wet floor effect Enea Experts Logo - without wet floor effect Android Störst på Linux OSE/realtidskurser Flest testkurser ISTQBcertifiering Java, C# C, C++, Safer C, TDD projektledning
Läs merSCRUM 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