Föreläsning 2: ering & granskning Ingenjörsprocessen metodik ETSA01 VT14 Jonas Wisbrant 60 Detta har hänt... Pratat och provat kravhantering Bildat projektgrupper :-) Skaffat litteratur? Kommit igång med Projektwebben Genomfört en dubbel workshop Hur var den? L1:, funktionella krav, kvalitetskrav fb1: Fått återkoppling? Förstått återkoppling? 61
Sammanfattning - Viktigt eftersom tidiga faser påverkar mycket kan finnas på olika abstraktionsnivåer påverkar ofta hela produkten Egenskaper hos krav: korrekt, komplett, otvetydig, verifierbar, konsistent, prioriterad, spårbar, genomförbar Spårbarhet: källa krav, krav-krav, krav-design/kod, krav-test är en viktig del i arbetet med produktledning och produktplanering 62 Agenda F2 Kursen Kursmål Kursombud ering Projekt eller utvecklingsprojekt? ering Strukturerad dokumentgranskning Projektuppgiften Återkoppling L1 Projektens projektplan Inför övning 2 63
Kursmål - beställningen i bild Produkt- mål Projekt- plan täckning 64 Kursmål - beställningen i text Kunskap och förståelse kunna definiera grundläggande begrepp inom utveckling av stora programvarusystem. kunna beskriva de vanligaste processerna för utveckling av stora programvarusystem. kunna förklara de viktigaste momenten i kravhanteringsprocessen. kunna förklara hur testning går till. kunna beskriva vad en arkitekturdesign är. kunna beskriva de viktigaste stegen i projektplanering och projektuppföljning. kunna beskriva hur organisationer planerar och genomför en serie av projekt. Färdighet och förmåga kunna utveckla projektplan, kravspecifikation och testplan för ett mindre projekt. kunna granska projektplan, kravspecifikation och testplan för ett mindre projekt. kunna skriftligen formulera text i projektdokumentation. 65 Värderingsförmåga och förhållningssätt förstå komplexiteten i uppgiften att utveckla ett programvarusystem. ha förståelse för ingenjörens yrkesroll.
Utse kursombud Möten Fr 2013-04-04 kl 12.30-13.10 i Glasburen (E:2405) Må 2013-05-05 kl 12.30-13.10 i Glasburen (E:2405) Beslut: 66 Projekt vs. utvecklingsprojekt? Ingenjörsprocessen metodik ETSA01 VT14 Jonas Wisbrant 67
Hur svårt det är att koka pasta... beror på om man gjort det förut... och var man börjar 68 Projekt är något mer eller mindre unikt Från beställares synvinkel: en investering som ska gå med vinst avstämningspunkter för att se om det går som man tänkt sig Från utförares synvinkel: en teknisk uppgift som ska bli klar i tid avstämningspunkter för att visa att man klarar att utföra uppgiften UTMANING: Vi bygger inte ytterligare ett hus, gipsar nästa ben eller kokar pasta igen...... vi gör innovation på beställning. 69
Utvecklingsprojekt vs. en-gång-till-projekt Likheter Skillnader Planering och uppföljning Hög komplexitet Samarbete Kan ändra sent... Utvecklingsprojekt är något som man gör när man inte vet från början exakt hur det ska gå till 70 Photo attribution: nuchylee at http://www.freedigitalphotos.net/ täckning
Ska vi börja med projektplanen eller kravspecifikationen? Fas 1 Specifikation Fas 2 Fas 3 Implementation och enhetstest Fas 4 specifikation Testplan dokument Exekverbar källkod Dokumenterat genomförda systemtest Beroende av varandra en är en del av produkten. Sista versionen måste sparas. Planen hör till organisationen. Erfarenheterna bör sparas. 72 ering och projektplaner Ingenjörsprocessen metodik ETSA01 VT14 Jonas Wisbrant 73
ering - vem, vad, när, hur (mycket) Produkt- mål Projekt- plan täckning 74 Diskussion: Förklara för varandra Vad är det för skillnad mellan projektets:? Projektmål 75
täckning täckning ering Intressentanalys September October November Date finished (2007) Project planning 7 september Requirements definition 21 September Milestone 1 21 September Test planning 20 October High-level design 20 October Milestone 2 20 October Implementation and unit testing 9 November Integration and system building 16 November Milestone 3 16 November System testing 23 November Milestone 4 23 November Användarf Funkt K 76 Kommunikation i projektet över tiden Visioner & krav Beställarens projekt Specifikation & plan Bekräfta System Utvecklarens projekt Godkänna 77
täckning Signaler i projektet Behov er Visioner Förväntningar Avtal Plan Data Specifikationer Pengar Protokoll Beslut Förslag Prototyper Frågor Förtydliganden Produkten Testresultat Acceptans Aktör A Meddelande Media Meddelande Aktör B Återkoppling 78 Typiskt innehåll i en projektplan Inledning: projektmodell, utvecklad produkt, målsättningar, begränsningar Projektorganisation: utvecklingsorganisationen, andra intressenter Hårdvara och programvara: som krävs för projektets genomförande Arbetsnedbrytning: aktiviteter, leverabler, milstolpar : när varje aktivitet påbörjas och avslutas, när varje milstolpe ska uppnås Uppföljning och rapportering: hur detta ska ske? Riskanalys 79
täckning täckning Fyra viktiga metoder inom projektplanering Intressentanalys Kostnadsskattning Schemaläggning Riskhantering Underleverantör September October November Date finished (2007) Project planning 7 september Requirements definition 21 September Milestone 1 21 September Test planning 20 October High-level design 20 October Milestone 2 20 October Implementation and unit testing 9 November Integration and system building 16 November Milestone 3 16 November System testing 23 November Milestone 4 23 November 80 Intressentanalys (stakeholders) Organisationer Beställare Utvecklare Sponsor Kundansvarig IT-funktion Projektledare Slutanvändare Utvecklare Vad vill varje intressent? Affärs-, produkt och projektmål Konflikter? Kommunikationsbehov Underleverantör Gränssnitt 81
täckning täckning Kostnadsskattning Persontid viktigaste (dvs dyraste) faktorn Alltid svårt att veta, men viktigt ändå Olika angreppssätt Expertbedömning Algoritmiska modeller 82 Schemaläggning Aktivitet Tid (d) Beroenden A1 5 A2 5 A3 10 A1 A4 2 A3 A5 10 A6 15 A3, A5 start Aktivitetsnätverk för kritisk väg 10 15 A5 A6 5 10 2 A1 A3 A4 5 slut Gantt-diagram A2 Project planning Requirements definition Milestone 1 Test planning High-level design Milestone 2 Implementation and unit testing Integration and system building Milestone 3 System testing Milestone 4 83 September October November Date finished (2007) 7 september 21 September 21 September 20 October 20 October 20 October 9 November 16 November 16 November 23 November 23 November
täckning täckning Riskhantering Riskprocess hög Sannolikhet låg låg [1] Konsekvens hög [5] Strategier Reducera konsekvens Minska risk Alternativ (plan B) Risk S K Prio (S x K) Strategi Hårdvara försenad 2 5 10 Undersöka alternativ Konstruera simulator Ont om persontid 4 2 8 Minska scope 84 Strulig beställare 5 1 5 Andas... Prioritera för given funktionalitet: Tidpunkt, kostnad eller kvalitet Tidpunkt När ska vi leverera? Ju större osäkerhet desto svårare att fixera......prioritera en eller två...... lova aldrig alla tre. Kostnad Vad kan det få kosta? Kvalitet Hur bra ska det bli? 85
täckning täckning Typiskt innehåll i en projektplan Inledning: projektmodell, utvecklad produkt, affärsmål, begränsningar Projektorganisation: utvecklingsorganisationen, andra intressenter Hårdvara, programvara och andra resurser som krävs för projektets genomförande Arbetsnedbrytning: aktiviteter, leverabler, milstolpar : när varje aktivitet påbörjas och avslutas, när varje milstolpe ska uppnås Uppföljning och rapportering: hur detta ska ske? Riskanalys 86 Sammanfattning projektplanering Programvaruprojekt speciella eftersom de är en av, komplexa, och eftersom det går att ändra sent en beskriver t ex projektorganisation, arbetsnedbrytning, tidplan och riskanalys, mm. Kostnadsskattning kan göras baserat på expertbedömningar eller algoritmiska modeller Riskhantering sker i fyra steg: identifiera risker, bedöm risker, behandla risker, följ upp risker Tidpunkt - kostnad - kvalitet: Välj max 2 87
Statisk testning - dokumentgranskning Ingenjörsprocessen metodik ETSA01 VT14 Jonas Wisbrant 88 ar grundläggande idé Hitta fel tidigt utan att exekvera kod d.v.s statisk testning Alla dokument kan granskas (krav, test, design, kod, testfall, ) Läs dokument på ett strukturerat sätt Rätt personer ska läsa Personerna ska läsa på rätt sätt Alla viktiga delar av dokumenten ska läsas täckning 89
täckning täckning sprocessen Planering Individuell granskning Introduktion smöte Omarbete Uppföljning ABC-video: Nu ti/on Ö2 - - - specifikation före individuell granskning före möte före omarbete före nästa måndag 24 0.99 Test & design: TBD TBD TBD före deadline MS2 Roller Moderator Författare Sekreterare Granskare Förslag: senast fredag 90 Lästekniker vid individuell granskning Ad-hoc - Upp till granskaren Checklist-baserad - Stöd av en checklista - Kan t ex ha tagits fram av organisationen Scenario-baserad - Följ ett användningsscenario under granskningen Perspektiv-baserad - Granska som en specifik roll: användare, testare, operatör, utvecklare, etc 91
täckning täckning Vad kostar det? Planering Individuell granskning Introduktion smöte Omarbete Uppföljning Planering och introduktion:? Individuell granskning: : 5 sid/h : 4 sid/h Kod: 150 LOC/h (utan kommentarer) Testplan: 4 sid/h Hur vet man om det är värt det? Antal personer på ett granskningsmöte: 4-10 personer x?h Omarbete och uppföljning:?h 92 V-modellen för programvaruutvecking Har vi hittat problemen - eller hur många lejon finns det i skogen? Lejonen kan vara fel och jägarna kan vara granskare 93
täckning täckning V-modellen för programvaruutvecking Med två granskare A N = totalt antal fel (som man vill veta) NA = antal fel som granskare A hittar NB = antal fel som granskare B hittar NAB = antal fel som båda hittar B Andel som granskare A hittar = NAB/NB Andel som granskare A hittar = NA/N NA/N = NAB/NB --> N = NA* NB/NAB X V-modellen för programvaruutvecking - sammanfattning Planering Individuell granskning Introduktion smöte Omarbete Uppföljning Systematisk metod för att identifiera problem i material som inte kan exekveras Tar tid men lönar sig i allmänhet Under stabila förhållanden kan man uppskatt hur många fel som finns kvar är bra 94
Projektuppgiften - forts 95 Projektuppgiften - storyn 96 Utveckla och leverera programvara till ett organiserat garage som förvarar cyklar. - - Installationsmanual Arbetsgivaren och beställare vill ha insyn: - - sprotokoll - Testrapporter från systemtest Vi vet att det ska vidareutvecklas av någon annan: - specifikation - Testspecifikation - - Leverabler specifikation Testplan & testspecifikation srapporter dokument Manual Testrapporter Exekverbar applikation Plattformar Projektwebb för dokumenten Java/swing för programvaran
Uppdrag Målmiljö Faser och leverabler Operator PC Barcode printer = barcode reader = electronic lock = pincode terminal Fas 1 Specifikation specifikation Testplan Fas 2 dokument Entry door Bicycle garage Exit door Extra exit door Fas 3 Implementation och enhetstest Exekverbar källkod Fas 4 Dokumenterat genomförda systemtest Utvecklingsmiljö Aktörer Dokumentmiljö Projektgrupp Projekthandledare 97 Projektintern granskning inför L3 0.9 0.x Good version Individual inspection Inspection meeting Inspection protocoll 0.99 Better version Supervisor review 0.0991 Supervisor feedback 1.0 98
i Projektet? Exempel rubriker Roller och arbetsfördelning - Inte projektledare > smart med koordinator Äkta tidplan (med estimerad arbetstid) - Möten - Planerade arbetspass - Fri projekttid Risklista: - Riskminimering - Plan B Något som fungerar För projektgruppen För projekthandledaren Kan ha fler rubriker Kan vara - flera dokument - flera flikar - flera applikationer Beskriv då tydligt vad som är vad 99 Projektens projektplan Datum och tider Inledning: projektmodell, utvecklad produkt, målsättningar, 1. Med externa beroenden begränsningar 2. Egna möten 3.Egen Projektorganisation: verksamhet utvecklingsorganisationen, andra intressenter Hårdvara och programvara: som krävs för projektets genomförande Arbetsnedbrytning: aktiviteter, leverabler, milstolpar : när varje aktivitet påbörjas och avslutas, när varje milstolpe ska uppnås Uppföljning och rapportering: hur detta ska ske? Riskanalys Vem gör och ansvarar för vad Projektledare =>koordinator 100
för projekten - idé att utgår ifrån 101 102 Att göra inför övning 2 P.1-6 och intressenter I:1: Granska ABC-video och notera brister inför granskningsmöte torsdag morgon Onsdag kl 15: Mjuk deadline krav 0.x Övning 2: muntlig fb2@ö2 Måndag v16: Föreläsning om testning 3 x hård deadline Torsdag v 16: fb3@ö3 4 dag
Frågor om projekt som sådana? kursprojektets projektplan? kursprojektets kravspecifikation? 103