Föreläsning 2: ering & granskning Ingenjörsprocessen metodik ETSA01 VT14 Jonas Wisbrant 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? 60 61 Sammanfattning - Agenda F2 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ällakrav, krav-krav, krav-design/kod, krav-test är en viktig del i arbetet med produktledning och produktplanering Kursen Kursmål Kursombud ering Projekt eller utvecklingsprojekt? ering Strukturerad dokumentgranskning Projektuppgiften Återkoppling L1 Projektens projektplan Inför övning 2 62 63
Produkt- mål 64 Kursmål - beställningen i bild Projekt- plan täckning 65 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. 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: Projekt vs. utvecklingsprojekt? Ingenjörsprocessen metodik ETSA01 VT14 Jonas Wisbrant 66 67
Hur svårt det är att koka pasta... 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. beror på om man gjort det förut... och var man börjar 68 69 Photo attribution: nuchylee at http://www.freedigitalphotos.net/ Utvecklingsprojekt vs. en-gång-till-projekt Likheter Skillnader Planering och uppföljning Hög komplexitet Samarbete Kan ändra sent... Produkt- mål Projekt- plan täckning Utvecklingsprojekt är något som man gör när man inte vet från början exakt hur det ska gå till 70
Ska vi börja med projektplanen eller kravspecifikationen? Fas 1 Specifikation Fas 2 specifikation Testplan dokument Beroende av varandra en är en del av produkten. Sista versionen måste sparas. ering och projektplaner Ingenjörsprocessen metodik ETSA01 VT14 Jonas Wisbrant Fas 3 Implementation och enhetstest Fas 4 Exekverbar källkod Dokumenterat genomförda systemtest Planen hör till organisationen. Erfarenheterna bör sparas. 72 73 Produkt- mål Projekt- plan ering - vem, vad, när, hur (mycket) täckning Diskussion: Förklara för varandra Vad är det för skillnad mellan projektets:? Projektmål 74 75
täckning er mb pte Se n g itio nin defin lan t p nts jec me g Pro quire e 1 tin Re eston nning sign tes g nit ildin Mil t pla el de d u bu s Te h-lev e 2 on an stem Hig eston ntati d sy n e Mil lem on a p Im grati e 3 g Inte eston testin Mil stem e 4 Sy eston Mil 76 Bekräfta System täckning Godkänna 77 Signaler i projektet er Specifikationer Visioner Pengar Frågor Förväntningar Protokoll Förtydliganden Beslut Produkten Arbetsnedbrytning: aktiviteter, leverabler, milstolpar Avtal Förslag Testresultat Plan Prototyper Acceptans : när varje aktivitet påbörjas och avslutas, när varje milstolpe ska uppnås Media 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 Uppföljning och rapportering: hur detta ska ske? LundMeddelande University Computer Science metodik Aktör B Jonas Wisbrant ETSA01 Ingenjörsprocessen Riskanalys Återkoppling 79 Data Behov Typiskt innehåll i en projektplan täckning 78 U Meddelande tv e pr ckl oj ar ek en t s Aktör A Specifikation & plan st pr äll oj ar ek en t s O (20 ed ish fin ber r te m Da epte mbe r 7 s Septe mbe 21 Septe ber 21 Octo ber 20 Octo ber 20 Octo ber r 20 ovem mbe r 9 N Nove mbe r 16 Nove mbe r 16 Nove mbe 23 Nove 23 Visioner & krav Be er b cto r ) 07 be em Intressentanalys v No täckning ering V-modellen för Kommunikation programvaruutvecking i projektet över tiden
Fyra viktiga metoder inom projektplanering Intressentanalys (stakeholders) Utvecklare Beställare Organisationer täckning Underleverantör Intressentanalys täckning Kostnadsskattning Kundansvarig Sponsor Schemaläggning Riskhantering 80 Projektledare IT-funktion September 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 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 Slutanvändare Utvecklare Underleverantör Vad vill varje intressent? Affärs-, produkt och projektmål Konflikter? Kommunikationsbehov 81 Gränssnitt Persontid viktigaste (dvs dyraste) faktorn Alltid svårt att veta, men viktigt ändå Olika angreppssätt Expertbedömning Algoritmiska modeller 82 Schemaläggning Aktivitet A1 Tid (d) Beroenden 5 A2 5 A3 10 A1 A4 2 A3 A5 10 A6 15 täckning Kostnadsskattning täckning Aktivitetsnätverk för kritisk väg 10 15 A5 A6 5 start A1 10 2 A3 A4 A3, A5 slut 5 A2 Gantt-diagram September 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 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 täckning täckning Riskhantering Prioritera för given funktionalitet: Tidpunkt, kostnad eller kvalitet Riskprocess hög Sannolikhet låg låg [1] Konsekvens hög [5] Strategier Reducera konsekvens Minska risk Alternativ (plan B) Tidpunkt När ska vi leverera? Ju större osäkerhet desto svårare att fixera......prioritera en eller två...... lova aldrig alla tre. Risk S K Prio (S x K) Strategi Hårdvara försenad 2 5 10 Undersöka alternativ Konstruera simulator Kostnad Vad kan det få kosta? Kvalitet Hur bra ska det bli? Ont om persontid 4 2 8 Minska scope Strulig beställare 5 1 5 Andas... 84 85 Typiskt innehåll i en projektplan Sammanfattning projektplanering 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 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 86 87
täckning täckning Statisk testning - dokumentgranskning Ingenjörsprocessen metodik ETSA01 VT14 Jonas Wisbrant 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 täckning på rätt sätt Alla viktiga delar av dokumenten ska läsas 88 89 sprocessen Lästekniker vid individuell granskning Planering Individuell granskning Introduktion smöte Omarbete Uppföljning Ad-hoc - Upp till granskaren ABC-video: Nu ti/on Ö2 - - Checklist-baserad - Stöd av en checklista - Kan t ex ha tagits fram av organisationen - specifikation Test & design: TBD TBD TBD före deadline Roller Moderator Författare före individuell granskning före möte Sekreterare Granskare före omarbete före nästa måndag 24 Förslag: senast fredag 0.99 MS2 Scenario-baserad - Följ ett användningsscenario under granskningen Perspektiv-baserad - Granska som en specifik roll: användare, testare, operatör, utvecklare, etc 90 91
Introduktion Har vi hittat problemen - eller hur många lejon finns det i skogen? Planering Vad kostar det? täckning Individuell granskning smöte Omarbete täckning Lejonen kan vara fel och jägarna kan vara granskare Uppföljning Planering och introduktion:? Hur vet man om det är värt det? Individuell granskning: : 5 sid/h : 4 sid/h Kod: 150 LOC/h (utan kommentarer) Testplan: 4 sid/h Antal personer på ett granskningsmöte: 4-10 personer x?h Omarbete och uppföljning: 92?h 93 - sammanfattning täckning Med två granskare täckning A N = totalt antal fel (som man vill veta) Planering NA = antal fel som granskare A hittar Introduktion Individuell granskning smöte Omarbete Uppföljning NB = antal fel som granskare B hittar Systematisk metod för att identifiera problem i material som inte kan exekveras NAB = antal fel som båda hittar B Andel som granskare A hittar = NAB/NB Tar tid men lönar sig i allmänhet Andel som granskare A hittar = NA/N Under stabila förhållanden kan man uppskatt hur många fel som finns kvar NA/N = NAB/NB --> N = NA* NB/NAB är bra X 94
Projektuppgiften - storyn Utveckla och leverera programvara till ett organiserat garage som förvarar cyklar. - - Installationsmanual Projektuppgiften - forts 95 Uppdrag 96 = electronic lock Barcode printer PC = pincode terminal Fas 1 Specifikation Testplan & testspecifikation srapporter dokument Manual Testrapporter Vi vet att det ska vidareutvecklas av någon annan: - specifikation - Testspecifikation - - Exekverbar applikation Plattformar dokument Good version Extra exit door Bicycle garage Fas 3 Implementation och enhetstest Exit door Fas 4 Aktörer Individual inspection Exekverbar källkod Dokumenterat genomförda systemtest Inspection meeting Inspection protocoll Dokumentmiljö 0.99 Supervisor review Supervisor feedback 1.0 Projekthandledare Projektgrupp 97 QA från IP3 Projektwebb för dokumenten Java/swing för programvaran 0.x 0.9 Testplan Utvecklingsmiljö Fas 2 Entry door specifikation specifikation = barcode reader Operator Arbetsgivaren och beställare vill ha insyn: - - sprotokoll - Testrapporter från systemtest Projektintern granskning inför L3 Faser och leverabler Målmiljö Leverabler 98 Better version 0.0991
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 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 99 100 för projekten - idé att utgår ifrån 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 101 102
Frågor om projekt som sådana? kursprojektets projektplan? kursprojektets kravspecifikation? 103