XP-projekt: En fördjupning

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

F6 Arkitektur, Planering. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Ulf Asklund Datavetenskap, LTH

12 principer of agile practice (rörlig)

Planering. Planning. Hur planerar vi? Hur planerar vi? XP Bill of Rights. XP Bill of Rights

F6 Arkitektur, Planering

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

Användarcentrerad systemdesign

Agil programutveckling

Aktivitet ett: Kommunicera! Aktiviteter i praktiken. Parprogrammering. Aktiviteter. Parprogrammeringens sju myter. Parprogrammeringens sju myter

Användarcentrerad systemdesign

Agile-metoder, XP och ACSD

Kritik av Extrem Programmering

Proj-Iteration 3. Grov plan för releaser

Agil projektmetodik Varför och vad är det?

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

Testdriven utveckling. Magnus Jonsson Siemens Medical Solutions

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

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

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

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

TDDD26 Individuell projektrapport

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

UML: Exempel. Ett modelleringsspråk. UML: Ansvar. UML: tre huvudanvändningar. Exempel: En klass position storlek. UML Unified Modelling Language

Planeringsspelets mysterier, del 1

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

BESKRIVNING AV PROCESSMETODEN SCRUM

TDP023 Projekt: Agil systemutveckling

SCRUM. Marcus Bendtsen Institutionen för datavetenskap

Användbarhet i sitt sammanhang

Linköpings universitet 1

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

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

Arbeta med resultatet Steg 3: Åtgärder. En guide om hur du går vidare från insikt till handling

Projektuppgift.

Dagbok Mikael Lyck

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

Hur hanterar vi risk? Vad är TKO? Skillnad på agil och trad? Agil/Lean: Defer Commitment, Build knowledge, Fail fast

Filhanterare med AngularJS

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

Scrum + XP samt konsekvensanalys

En studie om parprogrammering i praktiken

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

AGILA METODER. (för oss som inte kodar) Nina Berlin

F4 Testning och Parprogrammering i XP EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson,Datavetenskap, LTH

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

Arkitektur. Den Röda Tråden

Fokus framåt! Förmedling av mål och budskap: Vad betyder långsiktig hållbarhet i vår verksamhet?

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

Modern utvecklingsmetodik. Användarcentrering i företag. Användarcentrering i företag. Användarcentrering i företag. Användarcentrering i företag

F4 Testning och Parprogrammering i XP. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson,Datavetenskap, LTH

Verktyget FindBugs. Djupstudie i kursen EDA 270 Coachning av programvaruteam. Christofer Bach dt05cb6 Daniel Nilsson dt05dn4. Lunds Tekniska Högskola

Projektet. TNMK30 - Elektronisk publicering

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design

SLUTRAPPORT WEBBPROJEKT 1

Att införa XP. Daniel Nilsson och Mattias Nordahl Lunds Tekniska Högskola. 27 februari Abstrakt

2203$ ) UHOlVQLQJ. Varför fungerar XP Några motiveringar till varje regel efter Beck. Innehåll. Planeringsspelet

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

Nyttomaximering av spikes

Berättelser Scenarios Presentationer Skisser Formella modeller Mjukvaruprototyper Kartong modeller etc.

D 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

XP vs. Tillverkningsindustrin

Scrums användning i Extreme Programming projekt. Lunds Tekniska Högskola D07 Lars-Olof Rydgren EDA

Kristoffer Eriksson Christer Oscarsson Andreas Dahlberg Martin Bengtsson

Tre moment. TDP023 Projekt: Agil systemutveckling. Tidsplan - översikt. Roller. Projekt med extern kund. Scrum master

Preliminär specifikation av projekt

När? Varför? För vem? Resultat? (Artefakter?)

Agila Metoder. Nils Ehrenberg

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

Pragmatisk programmering. Cyberrymden Marcus Rejås Pragmatisk programmering,16 december (29)

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

Att införa Extreme Programming genom processförbättring

F2 XP Extremprogrammering översikt

Game of 40. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text.

Cult of Code Quality

Värdegrund på Alfa-kassan

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

Projektarbete DAVC20

Prototypning. Filmtajm. Prototypens roll: Evolutionär eller kasta bort. Dagens föreläsning. Detaljgrad. Detaljerad i vilket avseende?

Agil utveckling ställer nya krav på upphandling. Roland Bäcklin, Jaybis Konsult AB

Proj-Iteration1. Arkitektur alt. 1

PACOM UNISON SECURITY MANAGEMENT MADE EASY

Processledarutbildning. Modul 7 Processverktyg för högpresterande team läsåret 2015/2016

Kravsammanställning. Förstudie verksamhetsstödjande. Drift & Förvaltning. Affärs-/ processutveckling. Analys & Design. Konstruktion Test Införande

Processen. Utvärdering. Utvärderingsanvändare. Utvärderingsanvändare. Utvärdering. Utvärdering

Mjukvaruprojekt Onlinebooks

REPUBLIC OF INNOVATION

SCRUM och mycket mer

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

Webservice & ERP-Integration Rapport

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

Kursens bakgrund. Samverkande system. Områdesfördjupningar. Space, place and location. Simulering av folkmassor. Design av samverkande system

Copyright 2003, SAS Institute Inc. All rights reserved.

Exempel. Utvärdering. Processen. Utvärderingsanvändare. Utvärdering. Utvärderingsanvändare

Tekniskt system för Lean Startup

Welcome. to the world of Jeeves. Copyright 2011 Jeeves Information Systems AB

Integrerat ingenjörsprojekt

Erfarenheter från labben

Agil mjukvaruutveckling. 1DV404, Jesper Andersson

Transkript:

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, enkelhet, mod och respekt 07-03-23 Martin Karlsson - XP 2

Fem värden Feedback Ge återkoppling När det behövs Inte för sent Lös konflikter Diskutera Tag beslut Tag ansvar Kräver kommunikation, enkelhet, mod och respekt 07-03-23 Martin Karlsson - XP 3

Fem värden Enkelhet Komplicera inget Inte koden Inte språket Inte situationen Lägg fram konflikter enkelt Diskutera Tag beslut (snabbt och enkelt) Tag ansvar Kräver kommunikation, feedback, mod och respekt 07-03-23 Martin Karlsson - XP 4

Fem värden Mod Våga ta konflikter Koden Tidsplanen Gruppen Våga diskutera Våga ta beslut Våga ta ansvar Kräver kommunikation, feedback, enkelhet och respekt 07-03-23 Martin Karlsson - XP 5

Fem värden Respekt Respektera varandras förmågor Respektera varandras åsikter Respektera varandras känslor Respektera varandras behov Lär er att kompromissa Lär er att uppfylla varandras önskningar Teamkänsla Kräver kommunikation, feedback, enkelhet och mod 07-03-23 Martin Karlsson - XP 6

En programmerares vardag Skapa par - Kort designsession Stand-up meeting 08.00 Skriv test Kommunicera med kund Koda Omfaktorisera Integrera eller kasta Gå hem 17.00 07-03-23 Martin Karlsson - XP 7

En programmerares vardag Stand-up meeting 10-minutersmöte i början på dagen Identifiera problem och vilka som ska lösa dem, men försök inte lösa dem under mötet Fixera denna starttid varje dag (ex. 08.00) Testa - koda - omfaktorisera - integrera Utgå alltid från en story Få support från kollegor och kund True Pairing story 07-03-23 Martin Karlsson - XP 8

Testdriven utveckling Skriv enbart kod för att få testfall att gå igenom Fråga kompilatorn/testerna Mindre portioner funktionalitet i taget Ensam är stark Få beroenden mellan klasser Testa bara det som behöver testas Vad är pudelns kärna? Avslöja buggen innan du fixar den Testa förväntade fel The Bowling Game Kata 07-03-23 Martin Karlsson - XP 9

Planering revisited Planer kan inte användas för att kontrollera händelser Man kan inte kontrollera händelser, man kan endast kontrollera reaktioner För att få projektet att gå hyggligt, så behöver vi styra, kontinuerligt, hela tiden Planeringsspelet, kund-på-plats, stå-uppmöten, yesterday s weather Ge feedback på hur det går Synliggör resultat 07-03-23 Martin Karlsson - XP 10

Arkitekturplanering Något som kan verka förvirrande med XP är att arkitekturen inte är lika synlig som i annan systemutvecklingsmetodik XP säger embrace change Arkitektur-driven utveckling säger Plan upfront first, build a skeleton XP adresserar dock arkitektur via Spikes, metaforer, första iterationen, små releaser, omfaktorisering och design up-front (testdriven utveckling / parprogrammering) 07-03-23 Martin Karlsson - XP 11

Arkitekturplanering Baserat på spikes och stories så bestäms en ansats till systemet struktur Prestanda, storlek, grundbehov, domän Metaforen används som en guide fram till lösningen Är tänkt att identifiera nyckelobjekt och deras interaktioner Ger en gemensam vokabulär Metaforen får dock ändras över tiden, allt eftersom man lär sig mer om systemet 07-03-23 Martin Karlsson - XP 12

Exempel på metaforer Mail: Brev, kuvert, frimärke, adressbok, brevlåda, Posten Distribuerade tjänster: Rör, rörmokeri, filter, bryggor, adaptrar, lego, pussel Processer: Walkthrough, drive-through, slideshow, auktioner, registreringar, kokbok, sopsortering 07-03-23 Martin Karlsson - XP 13

Första iterationen Första iterationen måste bli ett fungerade skelett för hela systemet, så mycket som man känner till vid tillfället Stories som ger en helhet, en release väljs här Be skinny - inga features behövs, bara ramen Strunta i funktionalitet, iterationen ska inte vara användbar, bara installerbar Konfigurera så att systemet fungerar på plattformen Skapa ett gränssnitt som gör allt på en gång one-button interface GÖR ALLT 07-03-23 Martin Karlsson - XP 14

Releaseplanering Små, men frekventa releaser förespråkas i XP Ett XP-teams första uppgift är att lära sig saker, och att få kontinuerlig feedback från kund och användare uppfyller detta En release ska vara liten, men måste vara vettig Fullständiga och sammanhängande stories En release kan vara mindre än du tror Ziffer - Zero Feature Release 07-03-23 Martin Karlsson - XP 15

Projektstruktur Veckans arbetstider planeras i förväg Varje gul dag innehåller arbete i kursen (om dagen är full, så blir det kvällstid) Omfattningen baseras på Antal programmerare * längden på iterationen (veckans arbetstider) * hastigheten Hastigheten sätts ursprungligen till 1/3 och räknas om varje vecka (av spåraren) Om ett par (eller flera) inte kan medverka räknas deras ideala ingenjörstimmar bort 07-03-23 Martin Karlsson - XP 16

Det sista Indelning av roller Planering av tider (obs: för iterationen) 3 poäng = 120 timmar över 5 veckor Spåraren redovisar för examinator Annat? 07-03-23 Martin Karlsson - XP 17