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

Relevanta dokument
Linköpings universitet 1

SCRUM. Marcus Bendtsen Institutionen för datavetenskap

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

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

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

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

Agile-metoder, XP och ACSD

Användarcentrerad systemdesign

Användarcentrerad systemdesign

Agilt arbetssätt i komplexa organisationer. Välkomna! Anna Picetti, IT-HUSET

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

SCRUM och agil utveckling

Lärandemål. Kursupplägg. Hantverk. Roller. Projekt med extern kund TDP027. Projekt: Agil systemutveckling. Annika Silvervarg CiltLab/HCS/IDA

Fungerar Agila principer i alla typer av projekt?

BESKRIVNING AV PROCESSMETODEN SCRUM

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

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

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

SCRUM. på fem minuter

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

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

Scrum + XP samt konsekvensanalys

Agil programutveckling

Inspel till dagens diskussioner

TDP023 Projekt: Agil systemutveckling

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

Agil mjukvaruutveckling. 1DV404, Jesper Andersson

Lean software development och lättrörlig utveckling

Vad är agilt? Agile Islands Andreas Björk

IBM Software Group. Agil Acceptans Test. Annika Kortell SAST 15-års jubileum IBM Corporation

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

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

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

Kanban. Marcus Hammarberg. torsdag den 15 september 2011 (v.)

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

TDP023 Projekt: Agil systemutveckling

SCRUM. på fem minuter

Agil projektmetodik Varför och vad är det?

AGIL KRAVHANTERING. Hitta behoven bakom kraven!! Thomas Nilsson! Agile Coach & Mentor! CTO, Responsive

CREATING VALUE BY SHARING KNOWLEDGE

Kursinformation. Metodik för programvaruutveckling. Utvecklingsprocessen för programvara. Innehåll. Processmodell. Exempel

SCRUM och mycket mer

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

12 principer of agile practice (rörlig)

Agila arbetsformer. Gemensamma värderingar

Agil testning i SCRUM

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

Mönster. Ulf Cederling Växjö University Slide 1

Kurser och seminarier från AddQ Consulting

Testdriven utveckling. Magnus Jonsson Siemens Medical Solutions

OOA Objektorienterad Analys. Exempel på informell kravspecifikation. DD2385 Programutvecklingsteknik Några bilder till föreläsning 11 13/5 2013

TDDD26 Individuell projektrapport

Agenda. Föreläsning 6: Processer och vidareutveckling. Kursinformation. Utvecklingsprocesser. Programvara efter release. L5b Extern QA-granskning

Agile i ett större sammanhang. Thomas Nilsson CTO, Agile Developer, Coach & Mentor

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

Projektarbete. Grunder

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

Kritik av Extrem Programmering

Processbeskrivning Systemutveckling

SCRUM som utvecklingsmetod

Detta har hänt... Agenda. Kursinformation. Föreläsning 5: Processer och vidareutveckling

ETSA01 Ingenjörsprocessen 1 - Metodik VT15 Markus Borg

Kurser och seminarier från AddQ Consulting

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

TDDI02. På denna föreläsning: Programmeringsprojekt, Föreläsning 1. Kursinformation Vad är Software Engineering? Hur går ett projekt till?

TDDI02. Programmeringsprojekt, Föreläsning 1. Filip Strömbäck. Med utgångspunkt i tidigare slides av Jonas Lindgren

Scrum. på fem minuter

Scrum. på fem minuter

Sara Skärhem Martin Jansson Dalarna Science Park

Agile i ett större sammanhang

IT-projektledning - introduktion 725G62

Tentamen, delkurs Projektstyrning Webbutvecklare SU13, Malmö

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

Agila kontrakt och LOU

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

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

Innehåll. Problem i utvecklingsprojekt. RUP! Implementing Lean Software Development Agilt: Roligare, Snabbare, Högre kvalitet!

ALM Live. April 2008 Effektivare projektarbete med Visual Studio 2008

Scrum med XP-relaterade tekniker

Scaled Agile Framework

Utvecklingsm odell och utvecklingsm etod för att skapa god kom m unikation

XP-projekt: En fördjupning

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

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

Agil projektledning. Lean. Agila metoder. Scrum. Projektmetodiken. Agil projektledning

TDP005 Projekt: objektorienterade system

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

Att vara Agil eller inte vara, det är frågan

Swedbank CI Cross Functional Team

Användbarhet i sitt sammanhang

Du fulländar mig! Om synergierna mellan agila metoder och UX. Joakim Holm Adaptiv AB. Erik Hammarström Antrop AB

Regressionstestning teori och praktik

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

Projektledning Introduktion. Version Juha Söderqvist

Kanban i Extreme Programming

Den agila utvecklingen

Föreläsning 4: Designprocessen

Iterativ mjukvaruutveckling. 1DV404 HT14 Jesper Andersson

Agil Projektledning. En introduktion

Transkript:

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, genomföra systemering av det, programmera, testa och driftsätta det. Arbetet sker traditionellt enligt olika utvecklingsmetodiker, var och en med sina för- och nackdelar 2 1 2 Vanliga faser 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? Information Vilken information ska hanteras? Användbarhet Vad är viktigt för användarna? Vision och Mål Vad ska åstadkommas? Vilka krav stalls på säkerhet, prestanda, hållbarhet? Design Hur ska problemet lösas? Implementation Realisering av lösningen! Fler faser Insäljning, marknadsundersökning Analys Design Implementation Test Leverans Utbildning Support Avveckling 3 4 3 4 Systemutvecklingsmetod Code and fix (Cowboy programming) Systematiskt och strukturerat sätt att utveckla datorsystem Software engineering (programmering) System engineering (hela systemet inkl hårdvara) Metod = modell/process + verktyg och tekniker Projektstyrning (Vad ska göras när?) och Genomförande (Hur ska det göras?) Code Fix 5 6 5 6 Linköpings universitet 1

Code and fix Den mest primitiva/enkla modellen Ingen eller väldigt lite planering, inga faser Kan fungera för små eller korta projekt som inte ska vidareutvecklas, för protyputveckling Inget att rekommendera för medel- till stora projekt eller projekt som involverar flera utvecklingsteam 7 8 7 8 Traditionell vattenfallsmodell Vattenfallsmodellen Strikta steg som vart och ett avslutas innan man påbörjar nästa Kräver mycket dokumentation Väldigt svårt att gå tillbaka och göra om Om man hittar brister i kraven under testerna, kostar det stora resurser att rätta till detta, det finns risk för att stora delar av systemet måste skrivas om för att komma tillrätta med feltänket Dessutom är vattenfallsmodellen okänslig mot förändringar i omvärlden som oundvikligen sker under projektets gång 9 10 9 10 Vattenfallsmodellen Ex på Modifierad vattenfallsmodell Nämns redan 1956 i samband med utveckling av mjukvara för SAGE Royce, 1970, beskriver den som de facto standard för systemutveckling, och framförde kritik: The testing phase which occurs at the end of the development cycle is the first event for which timing, storage, input/output transfers, etc., are experienced as distinguished from analyzed The required design changes are likely to be so disruptive that the software requirements upon which the design is based and which provides the rationale for everything are violated. Either the requirements must be modified, or a substantial change in the design is required. In effect the development process has returned to the origin and one can expect up to a 100-percent overrun in schedule and/or costs. 11 13 11 13 Linköpings universitet 2

Inkrementell och Iterativ utveckling Problem/Utmaningar med metoderna Svårt att veta exakt vad systemet ska göra Svårt att förutspå framtida användning Dyrt att göra ändringar Missnöjda kunder och programmerare 14 15 14 15 Agila metoder En familj av systemutvecklingsmetoder, t ex: Scrum extreme Programming Kanban? Lean? 16 17 16 17 extreme Programming (XP) extreme Programming (XP) En av de första, Kent Beck på 90-talet på Chrysler Utgår från värden och principer som omsätts i praktiker Praktikerna täcker projektstyrning: Planering Kundinvolvering och tillgänglighet Testning (Acceptanstest) Små releaser Kommunikation och arbetssätt för utvecklarna: Parprogrammering Enkel design Testning (Enhetstest) Gemensamt ägandeskap Kodstandard Omstrukturering (Refactoring) Kontinuerlig integrering Hållbar arbetstakt 18 19 18 19 Linköpings universitet 3

User story och Acceptance test 20 20 21 21 Scrum Scrum Ursprungling fokus på projektstyrning för agila projekt Ken Schwaber och Jeff Sutherland, 1995 Scrum fokuserar på projektstyrning genom: Product backlog Accrediterad scrum master utbildning sedan 2001 Sprint planering Sprint backlog Dagliga scrum möten Scrum board Sprint uppföljning Burndown chart Sprint retrospectives Scrum verktyg: Scrum team består av: Utvecklare Scrum master Produkt ägare 24 23 23 24 Burn down chart Product backlog, Sprint backlog och Scrum board 25 25 Linköpings universitet 26 4

Scrum-möten Retrospective Igår gjorde jag Idag ska jag Jag har problem med. 27 28 27 28 Lean Eliminate waste Kommer från tillverkningsindustrin (Toyota) på 50-talet Mary och Tom Poppendieck applicerade det på systemutveckling på 2000-talet Fokuserar på att uppnå kvalitet och värde genom att eliminera allt som inte bidrar till detta Har fokus på att skapa en bra process för utveckling snarare än att skapa en bra produkt 29 31 29 31 Kanban Kanban board Ursprungligen ett verktyg inom Lean för stödja produktion inom just-in-time tillverkning Använder en Kanban board inom systemutveckling för att: Visualisera arbetsflöde och kapacitet Begränsa work in progress Mäta och optimera flödet Ett mer flexibelt alternativ till scrum som tillåter Förändringar under pågående iteration Uppgifter som sträcker sig över flera iterationer Specialiserade delteam 32 33 32 33 Linköpings universitet 5

Kanban board Hur hänger det ihop? 34 39 34 39 Linköpings universitet 6