F6 Arkitektur, Planering. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Ulf Asklund Datavetenskap, LTH
|
|
- Rickard Öberg
- för 6 år sedan
- Visningar:
Transkript
1 F6 Arkitektur, Planering EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Ulf Asklund Datavetenskap, LTH 1
2 XP:s Deltekniker (Practices) 1. Planering Planeringsspelet Regelbundna releaser Hållbart tempo Kund i teamet 2. Utveckling Test-driven utveckling (TDD) Parprogrammering Kollektivt ägande Kontinuerlig integration 3. Kodning och Design Enkel design Refaktorisering Kodningsstandard Gemensam vokabulär Arkitektur 4. Dessutom Gemensamt utvecklingsrum Nollte iterationen Spikes 2
3 A) Mjukvaruarkitektur? Enkel Design och Refaktorisering - handlar i första hand om design-in-thesmall och god kodkvalitet. Hur hanteras den överordnade designen i XP? 3
4 Vad är mjukvaruarkitektur? Den övergripande designen Oftast används flera separata vyer Jämför med byggnader och ritningar: - bärande delar - vatten o avlopp - el - ventilation - personflöde (t ex för en flygplats) 4
5 Kruchten s 4+1 Views The logical view - Vilka viktiga klasser och objekt finns i systemet? (översiktliga UMLklassdiagram) The process view - Vilka viktiga parallella processer finns i systemet? The physical view - Hur är mjukvaran distribuerad på hårdvaran? (Kanske olika subsystem körs på olika maskiner) The development view - Hur är mjukvaran modulariserad? Vilka viktiga subsystem finns (som typiskt kan utvecklas av olika team)? The 5th view scenarios - Några få viktiga scenarion som illustrerar de övriga vyerna 5
6 Kruchten s 4+1 Views Logical View (klasser, objekt) Development View (moduler, team) Scenarios (use cases) Process View (processer och trådar) Physical View (hårdvara och distribution) 6
7 Hur stödjs arkitektur i XP? Traditionell syn - arkitekturen har global inverkan på systemet och är svår att ändra därför, planera och designa arkitekturen först XP s syn - embrace change - bygg efterhand 7
8 XP s stöd för arkitektur Spikes - quick throw-away explorations into potential solutions System Metaphor - a story of what the system is like First Iteration - pick stories that result in an end-to-end (skeleton) system Small releases - weak areas show up quickly and can be corrected Refactoring - the architecture can be changed and evolved Team Practices - No out-of-date document team communicates informally 8
9 Spike (experimentell prototyplösning) Om vi inte vet hur ett problem kan lösas gör ett experiment - snabb prototyplösning - målet är att se om en viss väg är framkomlig En spike ger inte produktionskod - experimentell kod testfall etc., behövs ej - koden kastas (eller sparas som inspirationskälla vid den riktiga programmeringen) Spikes hjälper oss att göra arkitekturella designval 9
10 First Iteration Normaltillstånd är ett system i drift som vidareutvecklas ( underhåll ) - XP:s metodik - kom dit så fort som möjligt! Första iterationen är speciell - Vi skall gå från ingenting till normaltillståndet. - Vi behöver få en initial arkitektur på plats att börja fylla med funktionalitet. Mål med första iterationen - Första releasen gör ingenting (användbart), men på ett sådant sätt att hela den initiala arkitekturen är på plats. Zero Feature Release - Se till att få verktyg, systemkonfigurationer och användning av extern programvara på plats. - Målet är att åstadkomma ett minimalt system som kan installeras köras och levereras, men med minimal funktionalitet. 10
11 Exempel Utveckling av ett interaktivt kalkylbladsprogram Första iterationen skulle kunna innehålla - Ett tomt fönster med titeln Kalkylblad - Ett menyval där man kan göra ingenting - Ett internt tomt modell-objekt - Lagring av det tomma modell-objektet i en databas. Då har vi - något som vi kan skicka och Kunden kan installera och provköra - kontroll på verktyg vi behöver använda: testverktyg, kompilator, makefiles, etc. - kontroll på extern programvara vi har tänkt använda (fönstersystem, databaspaket,...) - ett skelett-program som vi kan börja lägga in riktig funktionalitet i. - en initial arkitektur: lagerindelning med databas, modell, view Vi kan börja arbeta! 11
12 Systemmetafor En beskrivning av vad systemets implementation liknar. Varför? - Ger en gemensam syn på systemet inom teamet - Kan fungera som källa till namn på viktiga klasser i systemet - Kan fungera som stöd för arkitekturbeskrivning genom att identifiera nyckelobjekt och deras relationer - Kan möjliggöra att även en icke-teknisk kund kan förstå implementationsstrukturen i stora drag 12
13 Exempel på Metaforer Den naiva metaforen - T.ex. Customer och Account för en bank-tillämpning. Ingen riktig metafor. Objekten representerar helt enkelt sig själva. Desktop-metaforen - För grafiska användargränssnitt (Desktop, Files, Folders,...) Assembly Line - Med löpande band, delar, stationer... [Chrysler C3 payroll system] Pipes and Filters - som i Unix, för att köra data genom en kombination av program Layers - Program uppdelat i lager, t.ex. tillämpning, högnivåprotokoll, lågnivåprotokoll, eller Model-View,... 13
14 Traditionellt XP Dokumentation av arkitekturen - arkitekturen fixeras innan programmering - dokumentera arkitekturen noga i början av projektet - se till att snabbt få konkret feedback på idéerna om arkitektur (genom zero-feature release) - låt arkitekturen utvecklas och omstruktureras efter hand - dokumentera så att man hittar ( tunnelbanekarta ) - arkitekturen kan dokumenteras när den har stabiliserats (om kunden önskar sådan dokumentation, planerat som vanlig story) 14
15 B) Planering? Vad är en plan? Varför planerar man? - För att övertyga sig om man inte missat något - För att få en uppfattning hur mycket tid/resurser som behövs - För att underlätta att dela upp en uppgift på parallella aktiviteter 15
16 Hur noga planerar man? Exempel - du skall köra bil till Alperna 1. Kör söderut efter en karta, navigera efterhand, pausa vid behov. 2. Gör upp en exakt rutt, gör en plan med varje motorvägskorsning du skall svänga i etc, varje stopp, tankning, övernattning, tider. 3. Planera i förväg varje moment i körningen, filval, placering, växlingar, hastighet, inbromsningar... Lagom är bäst, det kan bli för mycket. 1:a alternativet, plus lite mer detaljer för närmsta sträckan/tiden. Kombinerar rimlig arbetsinsats med flexibilitet (trafikstockningar, olyckor, vägarbeten...) 16
17 Andra exempel Hur planerar en taxichaufför sin dag? - en tur (iteration) i taget - beror på kundernas krav! Hur planerar en tågluffare sin färd? - inte alls kanske 17
18 Vad är värdet av att planera? Snarare att man tänkt igenom än själva planen Planen behöver ändras ofta - Ju mindre detaljer den innehåller desto mindre planeringsarbete går förlorat vid ändringar. Detaljer bara för nära aktiviteter, grov på långt håll - Något att jämföra med - larmklocka vid problem 18
19 Planering av programvaruprojekt Med lång tidshorisont - Releaseplaner (kund) Med kort tidshorisont - Iterationer (utvecklare) För att kunna leverera i delar - Stories (kund) För det dela upp arbetet - Tasks (utveckl.) För att driva arbetet - Testfall (par) 19
20 Planering - ökande detaljer 20
21 Vad följer man upp tidsmässigt? Jag är klar till 50%, 90% - ofta meningslöst! - En stor uppgift blir aldrig mer än 90% klar! Bättre att dela upp i mindre delar och bara registrera sådana som är helt klara. För oss innebär det Tasks - Uppskattar tid i förväg - Registrera hur lång tid det tog - Räknar ut hur fort vi kör 21
22 Osäkerhetsrelation för programvarutveckling Av de fyra storheterna: - Bemanning, antal utvecklare - Tidåtgång, kalendertid - Funktion hos systemet - Kvalitet på funktionaliteten Man kan inte bestämma alla på en gång! I XP väljer vi att hålla fast Kvalitet, Tid och Bemanning och låter Funktion variera ( Det kom inte med ) Många andra metoder låter Tid variera ( Systemet ej klart i tid ). 22
23 Release-plan När ett OS (VM etc) startar måste datorsystemen vara användbara. - Deadline! Det är kunden och deras prioriteringar som bestämmer vilken funktion som skall vara med. R1 R2 R3 R4 R5 Utv1 Utv2 Test Utb VM 23
24 Iterationer Vi delar upp vägen till nästa (första) release i ett antal steg, iterationer. Precis som releaser bestäms iterationer av tidpunkter, t ex 2-3 veckor, snarare än innehåll. (I projektet kommer iterationerna vara en vecka) R1 R2 R2R2R2 I1 I2 I3 24
25 Iterationsplan Planning game Vi detaljplanerar bara första (nästa) iteration. - Kunden presenterar stories och svarar på frågor - Utvecklarna delar upp varje story i tasks (deluppgifter) - För varje deluppgift uppskattar utvecklarna hur mycket tid den tar och tar samtidigt på sig att göra den deluppgiften. - Om det blir för mycket/för lite för att fylla iterationen bestämmer kunden vad som skall bort/läggas till. Vi har bestämt vad som skall med i iterationen. Varje utvecklare vet vad han/hon skall göra under iterationen Sen kanske man måste ändra men det gör man med planer. 25
26 Release-Iteration-Story-Task R1 R2 R2R2R2 I1 I2 I3 S1 S2 S3 S4 S5 T1 T2 T Summa = 16 26
27 Tidsuppskattning Att tidsuppskatta implementationsarbete är svårt. En del arbetar med ideal tid. Andra gör relativa bedömning av deras svårighet (enhet, poäng gummibjörnar, hallonbåtar) och mäter i efterhand hur många enheter man hinner på given tid. 1. Sätt ett värde på varje task 2. Task 39 verkar vara dubbelt så svår som Task 16 då får den dubbelt så många hallonbåtar 3. Dela upp stora tasks i mindre, små tasks är lättare att skatta. Känns det alltför osäkert vad en task innebär gör man en Spike Ofta bra om alla tasks från en story hanteras av en utvecklare. Om man använder ideal tid är faktorn till riktig tid ofta 3, optimistfaktor. 27
28 Planering 1:a gången Svårt första gången - när man inte vet hur mycket man hinner - med uppföljning lär man sig efterhand. I början hjälper det med coachens erfarenhet. Gången som på Extreme hour: - Kunden definerar stories, och föreslår de som skall vara med i första release - Utvecklarna uppskattar deras svårighet (skala 1-10) - Utvecklarna uppskattar hur mycket de hinner med (30) - Kunden väljer stories för första release Deadline drivet snarare än funktionsdrivet. 28
29 Tracking Uppföljning av Iteration Bara hela stories räknas - om en task saknas är storyn av inget värde för kunden. - Viktigt att identifiera tasks som hängt upp sig. - Fördröjer sin Story och mindre kommer med Tracker följer upp hur långt alla task kommit jämfört med uppskattning. Om någon task blir försenad ta upp det med hela gruppen. - Det är inte den som sitter med Svartepetters fel - Han/hon bara gjorde en optimistisk uppskattning och ingen reagerade - Omplanera - vad skall ut? 29
30 Uppföljning av hastighet Efter varje iteration - för varje task färdig - summera enheter färdiga. - Ger första mått på hastighet (antal enheter / utvecklare / tid). - Nästa iteration har vi ett bättre mått på hur många enheter vi kan klara ( yesterday s weather ) - Om ni uppskattar i ideal tid kan man räkna ut optimistfaktorn Efter några iterationer lär det stabilisera sig. 30
31 Uppföljning av release Målet är att få med de viktigaste stories (ur kundens synpunkt) i varje release. Bokför hur många stories som kommer med i varje release. När man känner hastigheten kan man uppskatta hur många stories som kan komma med i varje release. Och kunden kan prioritera. 31
32 Vad göra om det blir problem? Traditionellt: systemet blir inte klart i tid - Stoppa in mer folk? - Projektet blir ännu mer fördröjt (de gamla måste först lära upp de nya och får inget gjort i början). XP: systemet får inte med alla funktioner - De väsentligaste funktionerna är med - Mer folk? - kan gå med parprogrammering 32
33 Sammanfattning Planering för: - att tänka igenom svårigheterna - inte för att få en detaljerad plan - för att få underlag till uppföljning - upptäcka missade svårigheter - de tar längre tid än uppskattat - för att organisera arbetet Planera inte allt i detalj - bara den aktuella releasen, iterationen, storyn, tasken, testfallet Planera där det är motiverat - så lite som possibly kan funka 33
34 Feedback - hela tiden! 34
35 XP Values Communication Feedback Simplicity Courage All XP practices support these values 35
36 Läsanvisningar chromatic: Delar av Part II, p (Business Practices) chromatic: Part III (XP Events) och chromatic: Part IV (Extreme Programming Artifacts) W.Wake:Where s the Architecture? [W. Wake W. Wake: The System Mehaphor [ 36
F6 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
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,
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
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
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
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)
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
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
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
F4 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
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?
F4 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
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
Programvaruutveckling i grupp Projekt EDAF45 (D2, C4, E4, F4, I4, Pi4) - 7,5HP F1Introduktion. Boris Magnusson, Ulf Asklund Datavetenskap, LTH
Programvaruutveckling i grupp Projekt EDAF45 (D2, C4, E4, F4, I4, Pi4) - 7,5HP F1Introduktion Boris Magnusson, Ulf Asklund Datavetenskap, LTH Programvaruutveckling i grupp Produkt skall utvecklas och levereras
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
Proj-Iteration1. Arkitektur alt. 1
Proj-Iteration1 PVG/Coaching Boris Magnusson Datavetenskap LTH Proj-Iter1-1 Registrering Registrering Arkitektur alt. 1 Personuppgifter Starttid Sorterare Måltid Efterbehandling Resultat Tre program som
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,
Programvaruutveckling i grupp Projekt EDA260 (D2, C4, E4, F4, I4, Pi4): F1Introduktion. Boris Magnusson, Ulf Asklund Datavetenskap, LTH
Programvaruutveckling i grupp Projekt EDA260 (D2, C4, E4, F4, I4, Pi4): F1Introduktion Boris Magnusson, Ulf Asklund Datavetenskap, LTH Programvaruutveckling i grupp Produkt skall utvecklas och levereras
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
F2 XP Extremprogrammering översikt
F2 XP Extremprogrammering översikt EDA260 Programvaruutveckling i grupp Projekt Boris Magnusson, Görel Hedin Datavetenskap, LTH 1 Vad är XP? En metod för hur man utvecklar programvara i grupp i nära samspel
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/
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?
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
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
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
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.
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
QC i en organisation SAST 2008-09-16
QC i en organisation SAST 2008-09-16 1 Agenda Hur är vi organiserade inom test på SEB? Hur är QC uppsatt på SEB? Hur arbetar vi med QC i en stor organisation? Uppfyllde QC våra förväntningar och hur har
När? Varför? För vem? Resultat? (Artefakter?)
Arkitektur Vad är arkitektur? Vad har vi arkitekturmodellen till? Hur redovisar vi en arkitektur? Hur tar vi fram en arkitektur? Uppgift När? Varför? För vem? Resultat? (Artefakter?) Efter lunch Redovisning/Diskussion
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
Cult 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.
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
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
Planering. 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
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
2203$ ) UHOlVQLQJ. Varför fungerar XP Några motiveringar till varje regel efter Beck. Innehåll. Planeringsspelet
XP: varför fungerar det? Något om tentan. Innehåll 2203$ ) UHOlVQLQJ Introduktion till extreme Programming (XP) Varför fungerar XP? Något om tentan Vad ska man läsa och hur ser den ut? Varför fungerar
Arkitektur. Den Röda Tråden
Arkitektur Done Den Röda Tråden Vad är arkitektur? Vad har vi arkitekturmodellen till? Hur redovisar vi en arkitektur? Hur tar vi fram en arkitektur? Uppgift arkitekturella krav Nu Redovisning/Diskussion
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å
Praktikum i programvaruproduktion
Praktikum i programvaruproduktion Introduktion Föreläsare/Ansvarig: Pontus Boström Email:pontus.bostrom@abo.fi Rum A5055 Assistent: Petter Sandvik Email: petter.sandvik@abo.fi Rum: A5048 Föreläsningar:
Ö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
Designmönster - EMW. Kent Petersson epost1: kentp@cs.chalmers.se epost2: kent.petersson@emw.ericsson.se URL: http://www.cs.chalmers.
Designmönster - EMW Kent Petersson epost1: kentp@cs.chalmers.se epost2: kent.petersson@emw.ericsson.se URL: http://www.cs.chalmers.se/~kentp arbetar på Inst. för Datavetenskap, Cth & Gu, 50% och Software
AGIL KRAVHANTERING. Hitta behoven bakom kraven!! Thomas Nilsson! Agile Coach & Mentor! CTO, Responsive
AGIL KRAVHANTERING Hitta behoven bakom kraven!!! Thomas Nilsson! Agile Coach & Mentor! CTO, Responsive KRAVSTÄLL EN PRODUKT! Skriv ner tre krav som ni ställer på produkten INNOVATIONSDRIVNA PRODUKTER...
Proj-Iteration 2. Grov plan för releaser
Proj-Iteration 2 PVG/Coaching Boris Magnusson Datavetenskap LTH Proj-Iter2-1 Grov plan för releaser Efter de positiva erfarenheterna från iteration 1 hade Kunden och Coachen en diskussion om hur utvecklingsarbetet
Fö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
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
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
SCRUM 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?
AGILA 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
UML: Exempel. Ett modelleringsspråk. UML: Ansvar. UML: tre huvudanvändningar. Exempel: En klass position storlek. UML Unified Modelling Language
Ett modelleringsspråk : Exempel Fönster Klassnamn Unified Modelling Language Av Booch, Jacobson, Rumbaugh Exempel: En klass position storlek Attribut (instansvariaböe) Resultatet av en sammanslagning av
Testplanering, test-first, testverktyg
Testplanering, test-first, testverktyg Mats Skoglund Department of Computer and Systems Sciences Stockholm University/Royal Institute of Technology Stockholm, Sweden 12 mars 2007 Mats Skoglund Page 1(33)
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
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
Design. Vad lärde jag mig förra lekfonen? Hur bidrog jag Fll lärandet? Kravhantering sammanfa0ning 13/04/14
Design Vad är design? Vad är arkitektur? Architectural Pa:erns Designprinciper Design Pa:erns UML Domain Driven Design Domänmodell Vad lärde jag mig förra lekfonen? Hur bidrog jag Fll lärandet? Kravhantering
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
Modern utvecklingsmetodik. Användarcentrering i företag. Användarcentrering i företag. Användarcentrering i företag. Användarcentrering i företag
Modern utvecklingsmetodik TNMK31 Användbarhet HIIA20 Användbarhet med kognitiv psykologi Teknikdriven design kontra användarcentrerad design Traditionell filosofi Teknikdriven Fokus på komponenter Individuella
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
XP 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
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
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
Principer för interaktionsdesign
Designtrappan och GDK Principer för interaktionsdesign Mattias Arvola Institutionen för datavetenskap Designtrappan är framtagen av Dansk Design Center och vidareutvecklad av SVID. 2 Dagens föreläsning
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
Hur hanterar vi risk? Vad är TKO? Skillnad på agil och trad? Agil/Lean: Defer Commitment, Build knowledge, Fail fast
Hur hanterar vi risk? Vad är TKO? Skillnad på agil och trad? Trad: Mycket up front - illusionerat försök till kontroll Agil/Lean: Defer Commitment, Build knowledge, Fail fast Den Röda Tråden DESIGN Vi
Informationshantering vid systemutveckling styrd av CM
Informationshantering vid systemutveckling styrd av CM Håkan Edler Torbjörn Jungeby Tore Qvist Syfte och mål Syftet med arbetsgruppens aktuella arbete är, att möjliggöra ett samordnat informationsutbyte
Djupstudie Collective Documentation Ownerhip - Wiki. Jakob Nilsson-Ehle
Djupstudie Collective Documentation Ownerhip - Wiki Jakob Nilsson-Ehle (d02jn@efd.lth.se) 1 1 Innehåll 1 Inledning............................... 3 1.1 Vad är en wiki?............................ 3 1.1.1
Effekter av införande av agila metoder. Daniel Sundmark Mälardalens högskola
Effekter av införande av agila metoder Daniel Sundmark Mälardalens högskola Agila metoder Agila metoder Values T. ex., working software over comprehensive documentation (Agile manifesto) Agila metoder
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
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
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:
Projektuppgift.
Projekt Projektuppgift Designa och implementera ett webbaserat gränssnitt för att söka information i en befintlig databas. Webssidan ska vara komplett med navigering, överblick, sökning och strukturerad
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
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
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
Föreläsning 4, Användbarhet, prototyper
Föreläsning 4 Användbarhet och prototyper Kapitel 5-7 i Stone et al. Mer om användbarhet Psykologiska principer avseende: Förväntningar En uppgift i taget Struktur för förståelse Känna igen eller komma
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
Configuration testing Why? Vad det är tänkt att koden ska göra. Performance testing Kommentarer Skriva om koden som kommentar
Skapa testfall Testing Köra testen Hitta fel Inspections and reviews Verifiera resultatet Formal methods Static analysis Completeness Verifiering Kvalitet Maintainability Validering Traceability Fault
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
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
Verktyget 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
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å
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...
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
OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram
2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ Föreläsning 7 OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram - Kravspecifikationer, användningsfall, systemarkitektur - Analysfas vad är analys?
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
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
TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Designmönster Adapter, Factory, Iterator,
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
Continuous Integration med Jenkins. Linus Tolke Enea Experts
Continuous Integration med Jenkins Linus Tolke Enea Experts Föredraget Grunderna i mjukvaru-cm Trender inom mjukvaruutveckling Continuous Integration Vad är Jenkins Demo Jenkins i ArgoUML-projektet Problem
Objektorienterad Programkonstruktion. Föreläsning jan 2017
Objektorienterad Programkonstruktion Föreläsning 15 30 jan 2017 Felsökning Med moderna programmeringsverktyg är rena syntaxfel oftast lätta att åtgärda Fel som kan vara svårare att åtgärda är t.ex: thread
Nina Pikulik, Tyréns Konfigurationssystem för en teknisk plattform. Konfigurationsprocess istället för traditionell projektering
Nina Pikulik, Tyréns Konfigurationssystem för en teknisk plattform Konfigurationsprocess istället för traditionell projektering Bakgrund Källa: Jerker Lessing Industriellt (trä)byggande Ökad produktivitet
Grundkurs i programmering - intro
Grundkurs i programmering - intro Linda Mannila 4.9.2007 Dagens föreläsning Allmän kursinformation: mål, syfte, upplägg, examination, litteratur, etc. Hur arbetar en dator? Hur vi får datorn att förstå
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
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
Kanban i Extreme Programming
Kanban i Extreme Programming N. Fors och N. Hansson D06, Lunds Tekniska Högskola [niklas.fors niklas.hansson.06]@gmail.com 2mars2010 Abstract Kanban is a scheduling approach from the work philosophy just-intime
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,
2014-2015 Alla rättigheter till materialet reserverade Easec
1 2 Innehåll Introduktion... 4 Standarder... 5 Översikt: Standarder... 6 1058.1-1987 IEEE Standard för Software Project Management Plans... 7 Ingående dokument... 8 Syfte och struktur... 9 ITIL... 10 ITIL
Fö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
Att 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
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
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
Pressinformation Nyheter i korthet Edgecam 2013R2
Pressinformation Nyheter i korthet Edgecam 2013R2 Pressinfo om nyheter i korthet i Edgecam 2013R2 1 av 6 Edgecam fortsätter utvecklas med fokus på nytta för användaren. Edgecam öppnar en helt ny portal
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