Projektkaos. Chaos-rapporten. 34% av projekten avslutades i tid och enligt budget... ... 66% misslyckades!



Relevanta dokument
RUP - Rational Unified Process

RUP Rational Unified Process. 17 november 2004

Symptom på problemen vid programvaruutveckling

RUP och lite användbarhet...

RUP och lite användbarhet...

RUP och lite användbarhet...

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

Lyckade projekt - finns det?

UML 1(5) Introduktion till Unified Modeling Language. 1 Bakgrund och historik

Agil programutveckling

Objektorientering. Grunderna i OO

OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram

Föreläsning 8 2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ UML O2P 2000

Opponentrapport på examensarbete Utveckling av ett affärssystem med Unified Process av Therese Sundström.

Arkitektur Michael Åhs

Metoder och verktyg för funktionssäkerhet

Chaos om datorprojekt..

Informationssystem och databasteknik, 2I-1100

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

Analys och design. Objekt. Klass. med hjälp av CRC. Klassdiagram

Datavetenskap. Therese Sundström. Utveckling av ett affärssystem med. Unified Process. Examensarbete, D-nivå 30 ECTS 2005:05

Objekt-orienterad programmering. Klassbegreppet och C++ UML. UMLs fördelar

Chaos om IT-projekt..

LÖSNINGSFÖRSLAG. Tentamen. Objektorienterad modellering och design. EDA665, 4 poäng

TDP005. Föreläsning 3 - UML. Filip Strömbäck

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Användarcentrerad Systemutveckling

Objektorientering Klasser

Objektorienterad analys och design

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

PROJEKTLEDNING. Vad är ett PROJEKT? Ett projekt:

Införande och anpassning av Rational Unified Process. Introduction and adaptation of Rational Unified Process

Programmeringsstil 18/3-2002

Övningstenta, Examinationsfrågor

Projektarbete. Grunder

Abstrakta Klasser 2. Kodning är bara en liten del i programvaruutvecklingen 6% 1% 6% Abstrakta Klasser - deklaration. Programutveckling sker i faser

Tillämpning av Unified Process och Design Patterns vid integrering av system

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Utvecklingsmetoder och processer. UML och OCTUPUS en kort introduktion

Introduktion. Byggstenar TDBA

Översikt. Introduktion. Objektorienterad programutveckling UML UML. Analys Design. Klassdiagram Aktivitetsdiagram

Projektering av informationssystem

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

Användarmedverkan i teori och praktik vid skapandet av användarfall i RUP En kvalitativ intervjustudie Daniela Linder

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

Objektorienterad Programmering DAT043. Föreläsning 10 13/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material)

J2EE-arkitekt, mentor och instruktör

Föreläsning 2. Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program.

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

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Martin Völcker, SLL & Suit

UML. Tomas Czarnecki Institutionen för Informationsbehandling Åbo Akademi,FIN Åbo, Finland url:

Steget efter CAD Data Management. Per Ekholm

Diagnos och design av Verksamhet och IT, 7, 5 HP. Föreläsning 2 Sofie Pilemalm

Testhantering enligt RUP

Design för användbarhet Användarcentrerad utvecklingsprocess

Visuell GUI Testning

Bilaga A. Klassdiagram i OMT (klasser och dess relationer) Klassdiagram i UML (klasser och dess relationer) 1 st

INGENJÖRSPROCESSEN METODIK ETSA01 VT13 JONAS WISBRANT

Programvara i säkerhetskritiska tillämpningar

Filhanterare med AngularJS

Detta dokument syftar till att ge en introduktion till RUP och bemöta argument såväl för som emot processen.

Slutrapport - Intranät

UML 2.0 och dess roll för modellbaserad utveckling

Processbeskrivning Systemutveckling

Inkapsling (encapsulation)

Fungerar Agila principer i alla typer av projekt?

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Objektorientering Användning

Tentamen NOA011 Systemarkitektprogrammet. 51 poäng

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Att fatta rätt beslut vid komplexa tekniska upphandlingar

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

Agenda. Projektbeskrivning avsnitt 8: Acceptanstest - MS4 i korthet. Kursinformation

ISD. Etablering av ISD inom FMV. Dan Olofsson PrL ISD

Föreläsning 3. Programvaruutveckling för Stora System. Målsättning i programvaruprojekt. Fel och risker. Christin Lindholm

Del av projektuppgiften. Systemarkitektprogrammet

Projekt- och kvalitetsstyrning på Frontec

Rational Unified Process I vilken omfattning har metoden RUP stött användarmedverkan tidigare, och metodens utvecklig under tiden (Agila UP)

Handbok Umbrello UML Modeller

Software Engineering. Mål med föreläsningen 10/2/2017. Kort presentation

men borde vi inte också testa kraven?

Software Engineering

Alla rättigheter till materialet reserverade Easec

LEDER ANVÄNDNINGEN AV RATIONAL UNIFIED PROCESS TILL EN FÖRBÄTTRAD SYSTEMUTVECKLINGSPROCESS?

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

STUDIE AV SYSTEMUTVECKLINGSMETODER PÅ

Effek%va(App+projekt(

SYSTEMUTVECKLING METODER & MODELLER. Suzana Ramadani

Objektorienterad konstruktion

Kurser och seminarier från AddQ Consulting

Tillämpning av UML Hur och varför

Kursöversikt Certifierad Mjukvarutestare

SKOLFS. beslutade den XXX 2017.

Översikt. Introduktion. Objektorienterad programutveckling UML UML. Analys Design. Klassdiagram Aktivitetsdiagram

Objektorienterad metodik. Programutvecklingsmetodik. Objektmodellen. Varje objekt har en unik identitet

Programutvecklingsmetodik

Testning. 1DV404, HT14 Jesper Andersson Kap 21 + Testing Primer

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

Transkript:

Projektkaos. Chaos-rapporten 34% av projekten avslutades i tid och enligt budget...... 66% misslyckades! 1 Standish Group, 2003 (www.standishgroup.com)

Praxis Hantera krav Använd komponentarkitekturer Modellera visuellt (UML) Verifiera kvalitet kontinuerligt Hantera ändringar Utveckla iterativt 2

Praxis 1: Hantera krav Praxis Hantera krav Använd komponentarkitekturer Modellera visuellt (UML) Verifiera kvalitet kontinuerligt Hantera ändringar Utveckla iterativt 3

Kravhantering Se till att ni löser de verkliga problemen bygger det rätta systemet mha ett systematiskt tillvägagångssätt för kravfångst organisation dokumentation hantering av de föränderliga kraven på en programvarutillämpning. 4

Praxis 2: Använd komponentarkitekturer Praxis Hantera krav Använd komponentarkitekturer Modellera visuellt (UML) Verifiera kvalitet kontinuerligt Hantera ändringar Utveckla iterativt 5

Förändringståliga, komponentbaserade arkitekturer Förändringstålig Uppfyller nuvarande och framtida krav Underlättar utbyggnad Möjliggör återanvändning Kapslar in systemberoenden Komponentbaserad Återanvänd eller anpassa komponenter Välj bland kommersiellt tillgängliga komponenter Vidareutveckla existerande programvara inkrementellt 6

Praxis 3: Modellera visuellt (UML) Praxis Hantera krav Använd komponentarkitekturer Modellera visuellt (UML) Verifiera kvalitet kontinuerligt Hantera ändringar Utveckla iterativt 7

Varför visuell modellering? Fånga struktur och beteende Visa hur systemets delar passar ihop Hålla designen och implementationen konsistenta Dölja eller visa detaljer efter behov Förenkla tydlig kommunikation Dynamiska diagram Klassdiagram Användningsfallsdiagram Modeller Objektdiagram Komponentdiagram Aktivitetsdiagram Sekvensdiagram Samarbetsdiagram Tillståndsdiagram Driftsättningsdiagram Statiska diagram 8 UML erbjuder ett språk för alla inblandade

Praxis 4: Verifiera kvalitet kontinuerligt Praxis Hantera krav Använd komponentarkitekturer Modellera visuellt (UML) Verifiera kvalitet kontinuerligt Hantera ändringar Utveckla iterativt 9

Verifiera programvarans kvalitet kontinuerligt Programvaruproblem blir 100 1000 gånger dyrare att hitta och åtgärda efter driftsättning Kostnad Kostnad för åtgärdande Kostnad för uteblivna möjligheter Kostnad för förlorade kunder Förberedelse Etablering Konstruktion Överlämning 10

Testa varje iteration Iteration 1 Iteration 2 Iteration 3 Iteration 4 UML-modell och implementation Testsvit 1 Testsvit 2 Testsvit 3 Testsvit 4 Tester 11

Praxis 5: Hantera ändringar Praxis Hantera krav Använd komponentarkitekturer Modellera visuellt (UML) Verifiera kvalitet kontinuerligt Hantera ändringar Utveckla iterativt 12

The Configuration and Change Management (CCM) Cube 13

Hantera förändringar Ändringshantering Konfigurationshantering 14

Praxis 6: Utveckla iterativt Praxis Hantera krav Använd komponentarkitekturer Modellera visuellt (UML) Verifiera kvalitet kontinuerligt Hantera ändringar Utveckla iterativt 15

Egenskaper hos vattenfallsutveckling Vattenfallsprocess Kravanalys Design Kodning och enhetstest Delsystemintegration Systemtest Försenar möjligheten att bekräfta kritiska riskåtgärder Mäter framskridande genom att utvärdera arbetsprodukter som är dåliga på att visa mängden återstående arbete Försenar och försvårar integration och testning Förhindrar tidig driftsättning Leder ofta till stora, oplanerade iterationer 16

Iterativ utveckling producerar körbara utgåvor Risk! Krav Analys & design Initial planering Planering Projektledning Implementation Test Utvärdering Varje iteration resulterar i en körbar utgåva Driftsättning 17

Riskprofiler Vattenfallsrisk Risk Riskreducering Iterativ risk Tid 18

RUP förverkligar dessa praxis Praxis En praktisk process Hantera krav Använd komponentarkitekturer Modellera visuellt(uml) Verifiera kvalitet kontinuerligt Hantera ändringar Utveckla iterativt 19

Processtruktur - Livscykelfaser Förberedelse Etablering Konstruktion Överlämning tid Rational Unified Process definierar fyra faser: Förberedelse (Inception) Definierar projektets omfattning Etablering (Elaboration) Planera projektet, specificera egenskaper, ta fram grundversion av arkitekturen Konstruktion (Construction) Bygg produkten Överlämning (Transition) Överlämna produkten till slutanvändarna 20

Fasgränserna utgör större milstolpar Förberedelse Etablering Konstruktion Överlämning tid Milstolpe: Livscykelmål Milstolpe: Initialt funktionsduglig Milstolpe: Livscykelarkitektur Produktutgåva 21

Iterationer och faser Förbered. Etablering Konstruktion Överlämning Iteration F1 Iteration E1 Iteration E2 Iteration K1 Iteration K2 Iteration K3 Iteration Ö1 Iteration Ö2 Mindre milstolpar: Interna utgåvor 22

Nio discipliner 23

Tillsammans blir det: Ett iterativt tillvägagångssätt I en iteration går man igenom alla discipliner Discipliner grupperar aktiviteter logiskt 24