Ohjelmistotekniikka - Luento 13 Jouni Lappalainen & Henrik Hedberg



Samankaltaiset tiedostot
Ohjelmistotekniikka - Luento 6

Projektin etenemisen seuranta ja tuloksen arvo laskenta

Ohjelmistoprojektien hallinta Tuloksen arvo menetelmä ja toimintoverkkotekniikka

PROJEKTINHALLINTA

Ohjelmistotekniikka - Luento 12 Jouni Lappalainen

Projektityö

Harjoitustehtävät: Ohjelmistotekniikka syksy 2015 (harjoitustyöraportin deadline ) Harjoitus 1:

Käytännön kokemuksia projektien arvioinnista

Tik Ohjelmistoprojektien Hallinta. Luento 6 Projektin ohjaus TKK

Harjoitustehtävät: Ohjelmistotekniikka kevät 2015 (harjoitustyöraportin deadline ) (Kalenteri-)Viikko 3:

Harjoitustehtävät: Ohjelmistotekniikka syksy 2018 (harjoitustyöraportin deadline ) Harjoitus 1:

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Scrum is Not Enough. Scrum ei riitä. Ari Tanninen & Marko Taipale. Nääsvillen oliopäivä 2009 Tampereen teknillinen yliopisto 9.12.

PROJEKTINHALLINTA

OHJ-3010 Ohjelmistotuotannon perusteet. Ohjelmistoprojektin hallinta

Ohjelmistotekniikka - Luento 2

Ketterä vaatimustenhallinta

TERO TAPIOLA PROJEKTISALKUN KUSTANNUSSEURANNAN JA -ENNUSTEEN KEHITTA MINEN. Diplomityö

Scrumjatkuvan palvelun DWprojektissa-case. Niina Mäkiranta & OP-scrum-tiimi Aureolis Oy

Ketteryys pähkinänkuoressa. Kokopäivän Scrum-kurssin sisältö tislattuna ja tiivistettynä kolmeen varttiin

Työn ositusmalleista. Luennon tavoitteista. Motivointia. Walker Royce, Software Project Management, A Unified Framework

Projektin suunnittelu

Ohjelmistotuotteen hallinnasta

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Laadukas vaatimustenhallinta. Pekka Mäkinen Copyright SoftQA Oy

Kun scrum ei riitä - skaalaa ketterä tuotekehitys SAFe lla Nestori Syynimaa Sovelto Oyj

Scrum-käytännöt ja käyttäjäkokemustyö ohjelmistoalan yrityksessä. Marie-Elise Kontro

Orientaatio ICT-alaan. Projekti

PROJEKTIN SUUNNITTELU JOUNI HUOTARI, PAAVO MOILANEN, ESA SALMIKANGAS

Katselmoinnit. review) Katselmoinnit (review( Mitä ovat katselmoinnit? Katselmoinnin määritelmä (IEEE 1988)

PROJEKTINHALLINTA. Käyttäjälähtöinen suunnittelu

10 v. työkokemus teknologiaprojekteista, tiiminvedosta ja agile menetelmistä.

Tik Ohjelmistoprojektien Hallinta. Luento 4 Työmäärien arviointi

Viikko

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI

Työmäärän arviointi. Vaihtoehtoja. Sami Kollanus TJTA330 Ohjelmistotuotanto

Työmäärän arviointi. Vaihtoehtoja. Arviointiprosessi. Sami Kollanus TJTA330 Ohjelmistotuotanto

Tutkittua tietoa. Tutkittua tietoa 1

Globaalisti Hajautettu Ohjelmistokehitys Mitä, Miksi & Miten? Maria Paasivaara

Scrumin käyttö ketterässä sovelluskehityksessä

Ohjelmistoprojekteista. Datanomiopiskelijat 2.vuosi

IPMA C sertifiointivalmennus

KÄYTETTÄVYYSTESTAUS OSANA KETTERÄÄ KEHITYSTÄ

Lakki. Lisää ot sik k o osoit t am alla. Nöyrästi vain lakki kourassa... Jussi Vänskä Espotel Oy. vierailuluentosarja OTM kurssi 2010

Kokemuksia eri projektityyppien haasteista/sudenkuopista toimittajayhteistyön näkökulmasta. Pekka

Yrittäjäkasvatuksen polku - sivusto. Yksityiskohtainen suunnittelu Huhtikuu 2018

Ketterä projektinhallinta

Johdantoluento. Ohjelmien ylläpito

Ahlmanin ammattiopisto, Tampere :24 33/2015 (1. jakso) Viikkotuntimäärä: 23

Severa 3 ominaisuudet

Ohjelmistojen suunnittelu

Harjoitus 2: Projektin etenemisen seuranta ja päätöksenteko

Estimointityökalut. Pekka Forselius, Senior Advisor Finnish Software Measurement Association FiSMA ry

Ahlmanin ammattiopisto, Tampere :43 36/2015 (1. jakso) Viikkotuntimäärä: 7

SYSTEEMIJOHTAMINEN! Sami Lilja! itsmf Finland 2014! Oct ! Kalastajatorppa, Helsinki! Reaktor 2014

1. Oppimisen ja opettamisen haasteet

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI, ESA SALMIKANGAS

PROJEKTI- PÄÄLLIKÖSTÄ PRODUCT OWNERIKSI MEERI CEDERSTRÖM

Maanvuokrausjärjestelmä Mvj. Projektitarpeen ja tavoitteiden kuvaus

Webforum Project Käyttö- ja Hallinnointiopas versio 15.2

Webforum Project Käyttö- ja Hallinnointiopas versio 15.4

Miten tehdä onnistunut projektisuunnitelma 10 vinkkiä

Ohjelmistoprojektien hallinta Vaihejakomallit

Millainen on onnistunut ICT-projekti?

JIRA (& muut Atlassian -työkalut) Insta Response -tuotekehityksessä

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

JHS XXX ICT-palvelujen kehittäminen: Laadunvarmistus Liite 2: Tarkistuslistoja

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi

Ohjelmistotuotanto. Luento

KOODAAKO PROJEKTIPÄÄLLIKKÖ?

Yrityksen informaatio- ja toimintoprosessien optimointi

Rakentamisen hinta. Palvelun ylläpito: Palvelun ylläpitohinta/kk Palvelun ylläpidon aikaisen jatkokehityksen tuntihinta

Ahlmanin ammattiopisto, Tampere :11 33/2015 (1. jakso) Viikkotuntimäärä: 25

Ahlmanin ammattiopisto, Tampere :56 36/2015 (1. jakso) Viikkotuntimäärä: 7

Projektinhallintapäivä , Tampere Poimintoja koulutusnäkökulmasta

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

Prosessiajattelu. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessikuvaus - CMMI. Sami Kollanus TJTA330 Ohjelmistotuotanto 3.4.

Projektisuunnitelma. (välipalautukseen muokattu versio) Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Project group Tete Work-time Attendance Software

Organisaatioiden mahdollisuus osallistua ja vaikuttaa Finnan kehittämiseen. Heli Kautonen, palvelupäällikkö , Finnan 2.

Lähtökohtana projektin ja projektistrategian määrittely

Onnistunut ohjelmistoprojekti

IIZT4020 Projektitoiminta

T Loppukatselmus

statbeatmobile PROJECT REVIEW iteration 1

RIIKKA RAUTAVAARA KUSTANNUSKÄYRÄN HYÖDYNTÄMINEN RAKENNUS- HANKKEEN AIKATAULUTARKASTELUSSA

Pohdiskelujen aiheita study group työskentelyyyn Luento 1:

Prosessiajattelu. Organisaation prosessikuvaus - CMMI. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessien määritys CMMI käytänteet

Siirtyminen ketterien menetelmien maailmaan! Maarit Laanti 24 October 2013!

$$$ Raha ratkaisee. $$$ Raha ratkaisee. Ohjelmistotuote. Ohjelmistotekniikan määritelmä

Projektin suunnittelu

Allu-tapahtumanhallintajärjestelmä

CS-C2130 / CS-C2140 / CS-E4910 Software Project 1 / 2 / 3 ja Accenture Luento

Projektin suunnittelu. CMMI-käytänteet. Projektin suunnittelu CMMI-käytänteet

OppiScrum opintojen läpäisyasteen ja oppimisen omistajuuden edistäjänä

Projektitoiminta JOTU JOTU2015/K.Systä 1

Onnistunut SAP-projekti laadunvarmistuksen keinoin

Projektin tilan tarkasteleminen ja raportoiminen

Projektityö

Transkriptio:

Ohjelmistotekniikka - Luento 13 Jouni Lappalainen & Henrik Hedberg Hajautettu versionhallinta Git työkalulla - Henrik Hedberg Luku 27: Projektin aikataulun kiinnittäminen - työnositus (WBS) - aikataulutustekniikat ja ansaitun arvon arvio - Scrum projektin hallinnassa

Soveltuvat lait ja pohdiskelun aiheita 1. Henkilöiden lisääminen myöhässä olevaan projektiin aiheuttaa vain lisää myöhästymistä / no 36, Brooks 1975 Milloin tuo edellä esitetty Brooksin laki ei välttämättä pidä paikkaansa? Van Genuchten ja Hatton esittelevät paperissaan uuden mittarin, ohjelmiston hyöty (software mileage). Mitä sillä tarkoitetaan ja mihin sitä voidaan käyttää?? Mitä yhteistä näet ansaitun arvon arviossa ja Scrumin Burndown arviossa?

27. Projektin aikataulun kiinnittäminen työn osittaminen - WBS WBS (work breakdown structure) on puurakenne, joka kuvaa esim. projektin tai sopimuksen vaatiman työpanoksen. Tällöin kuvataan lopputulos ja sen jakaminen hallittaviin komponentteihin (järjestelmät, osajärjestelmät, komponentit, tehtävät, osatehtävät, työpakkaukset) Tehtävät (tai osatehtävät) ovat yhdelle henkilölle ositettavissa oleva rajattu työkokonaisuus, josta henkilö selviää 2-3 viikossa

http://www.criticaltools.com/wbschartprosoftware.htm

Projektin vastuiden määrittely Responsibility Assignment Matrix (RAM) Projektin vastuiden määrittelyn pohjana ovat projektin tehtävien määritys WBS (work breakdown structure) siihen liittyvät työmääräarviot käytettävissä olevat resurssit osaaminen työpanos vastuu Lopputuloksena on Responsibility Assignment Matrix (RAM) 5

Projektin aikataulutus Tietty tehtävä toteutetaan aktiviteetilla Aktiviteettiin liittyy alkamisajankohta, päättymisajankohta tekijät, käytettävä työpanos vaihetuotteet (deliverables) Aktiviteettien päättymisajankohtia sanotaan etapeiksi (milestones) Etappi on saavutettu, kun aktiviteetin vaihetuotteet on hyväksytty projektisuunnitelman määrittämällä tavalla (esim. projektikatselmuksessa) Aktiviteetti 1 Aktiviteetti 2 Aktiviteetti 3 Aktiviteetti 4...

Esimerkki aikataulutuksesta (Gantt-kaavio) Aktiviteetti" viikko 30" viikko 31" viikko 32" viikko 33" viikko 34" viikko 35" Aktiviteetti 1 Aktiviteetti 2 Aktiviteetti 3 Aktiviteetti 4 Aktiviteetti 5 Aktiviteetti 6 Aktiviteetti 7 Tarkasteluajankohta

Työmääräarvion tarkentuminen 4*x esitutkimus 2*x määrittely 1.5*x moduulisuunnittelu toteutus 0.67*x 0.5*x 0.25*x Boehm 1984

Työpanos ja tuotteen toimitus asiakkaalle Effort Cost E d Impossible region E a = m (t 4 d /ta 4 ) E a = effort in person-months t d = nominal delivery time for schedule t o = optimal development time (in terms of cost) t a = actual delivery time desired E o T min = 0.75T d t d t o development time Ohjelmiston arvioitu koko on 33.000 LOC ja projektin vaatima työpanos 12 henkilötyövuotta. Jos tiimin koko on 8 henkilöä, projekti valmistuu noin 1.3 vuodessa Jos toimitusaikaa jatketaan 1.75 vuoteen, tarvittava työpanos laskee niin, että tiimin koko voidaan pienentää 4 henkilöön Pressman 2005 9

Earned Value Management (EVM) (Earned Value Analysis, EVA) Projektin hallinta ansaitun arvon perusteella Ansaittu arvo (Earned value) mittaa kehitystä arvioidaan projektin valmiusastetta suorittamalla määrämuotoista analyysiä aikataulutettujen tehtävien suoritusasteesta Pressman 2005 10

Miten ansaittu arvo lasketaan... Työn budjetoitu kustannus (budgeted cost of work scheduled, BCWS) on määritelty jokaiselle aikataulun tehtävälle BCWS i on suunniteltu työpanos tehtävälle i. tietyllä ajan hetkellä voidaan laskea arvo BCWS, joka on niiden tehtävien BCWS i arvojen summa, joiden pitäisi olla suunnitelmien (aikataulun) mukaan olla valmiina käytetään myös termiä PV (planned value) Valmiiden tehtävien budjetti (budget at completion, BAC) määritellään kaikkien tehtävien BCWS i arvojen summana. BAC = (BCWS k ) kaikille tehtäville k Pressman 2005 11

Ansaitun arvon laskenta CPI = EV / AC SPI = EV / PV PV BAC kustannukset AC SV CV EV aika Lipke & Henderson 2006

Miten ansaittu arvo lasketaan... Seuraavaksi lasketaan suoritetun työn budjetoidut kustannukset (budgeted cost of work performed, BCWP). BCWP on kaikkien valmiiden tehtävien BCWS arvojen summa tietyllä ajan hetkellä. käytetään myös termiä EV (earned value) the distinction between the BCWS and the BCWP is that the former represents the budget of the activities that were planned to be completed and the latter represents the budget of the activities that actually were completed. [WIL99] BCWS, BAC ja BCWP arvojen perusteella voidaan laskea : Aikataulupohjainen suorituskyky (Schedule performance index, SPI) = BCWP/BCWS tai EV/PV (hyvä, jos > 1) Aikataulupoikkeama (Schedule variance, SV) = BCWP BCWS SPI kuvaa resurssien käytön tehokkuutta. Pressman 2005 13

Miten ansaittu arvo lasketaan... Arvioitu valmiusaste (Percent scheduled for completion) = BCWS/BAC = (PV /BAC) mikä prosenttiosuus tulisi olla valmiina hetkellä t. Todellinen valmiusaste (Percent complete) = BCWP/ BAC = (EV/BAC) mikä osuus todella on valmiina hetkellä t. Todellinen työkustannus (Actual cost of work performed, ACWP = AC), todellinen työkustannus tehtävistä, jotka ovat valmiina tietyllä hetkellä. Sen jälkeen voidaan laskea kustannuspohjainen suorituskyky (Cost performance index, CPI) = BCWP/ACWP = EV/AC Kustannuspoikkeama (Cost variance, CV) = BCWP ACWP Pressman 2005 14

Scrum projektin hallinnassa ja työmäärän arvioinnissa, ongelmakohdat,... Sprintin suunnittelu - tavoite - tiimin jäsenet ja sitoutuminen - työlista ja sen tarkentaminen tehtäviksi - aika ja paikka päivittäiselle scrumille - sprintin demopäivä Missä järjestyksessä työlistan tehtävät suoritetaan? Miten sprintin vauhti (velocity) arvioidaan (story points)? Montako sprinttiä? Päivittäin 30 päivää Listalla Tehtävänä Tehty Seinätaulun käyttö työpanoksen arviointi sprintin työlistalle Montako tiimiä? Onko sprinttien välillä välipäiviä? Miten hyväksymistestaus järjestetään? Entä retrospective review? Uusi toteutettu ominaisuus Tuotteen työlista (backlog): - asiakkaan haluamat ominaisuudet Sprintin demo (katselmointi) sidosryhmä (asiakas, scrum master tuotteen omistaja, tiimi) osallistuu

Työmäärän arviointi ketterissä menetelmissä Tuotteen työlistan vaatimusten tarkentuminen Tuotteen työlistassa aluksi karkea työmääräarvio kullekin vaatimukselle. Vaatimuksen siirtyessä lähemmäksi listan kärkeä, sitä tarkennetaan ja samalla työmääräarvio tarkentuu. Vaatimuksen tai sen osan siirtyessä sprintin työlistaan se ositetaan tehtäviksi (tehtävän koko 4-16 tuntia) Vaatimuksen työmäärä voidaan arvioida suunnittelupokerin avulla jokaisella osallistujalla on korttipakka, jossa jokaisella kortilla on mahdollinen työmääräarvio (esim. 0,1,2,3,5,8,... (Fibonaccin sarjan mukaan) ja lisäksi 1 2,?, kahvikuppi) arvioitava vaatimus esitellään osallistujille jokainen valitsee kortin, joka vastaa hänen näkemystään työmäärästä, ja kortit näytetään yhtä aikaa yleisestä linjasta poikkeavien arvioiden esittäjät saavat puolustaa näkemystään arviointiprosessia toistetaan, kunnes päästään yhteisymmärrykseen Haikala & Mikkonen, 2011 16

Missä järjestyksessä työlistan tehtävät suoritetaan? Miten sprintin vauhti (velocity) arvioidaan (story points)? Montako sprinttiä? Tuotteelta halutut ominaisuudet (perustuvat käyttäjäkertomuksiin (user stories)) järjestetään tärkeysjärjestykseen ja tehdään suunnitelma, missä tuoteversiossa ne toteutetaan tärkeys >= 100: ominaisuudet aina versioon 1.0 tärkeys 50-99: ominaisuudet mielellään versioon 1.0 tärkeys 25-49: ominaisuudet tarvitaan, mutta riittää toteuttaa ne versiossa 1.1 tärkeys < 25: ei tarvitse toteuttaa Ominaisuuksien vaatima työmäärä on arvioitu Fibonacci sarjan mukaisesti. Sprintille tarvitaan myös mittari, jossa on otettu mukaan henkilöiden sitoutumisaste (lomat, toisten tiimien auttaminen, tietokoneongelmat jne.). Tätä sanotaan sprintin vauhdiksi (velocity). Se saadaan kertomalla ns. focus factor arvolla (tavallisesti noin 70%) työpäiväarvio. Näin saadaan uusi mittari story point. Jos sprintin pituus on kiinnitetty 3 viikkoon eli 15 työpäivään ja tiimiin kuuluu 6 henkilöä. Silloin sprintin pituus on 90 työpäivää. Jos kuitenkin focus factor on vain 50%, saadaan sprintin vauhdiksi 45 story pointtia (= paljonko yhdessä sprintissä voidaan tehdä). Tärkeys 130 120 115 110 100 95 80 70 60 50 35 20 20 10 Nimi banaani kiivi papaija meloni sitruuna omena appelsiini rusina sipuli mustikka puolukka......... Tärkeys 130 120 115 110 100 95 80 70 60 50 35 20 20 10 Nimi banaani kiivi papaija meloni sitruuna omena appelsiini rusina sipuli mustikka puolukka......... Arvio 13 8 21 8 21 13 8 8 13 13 5......... Sprintti 1 Sprintti 2 Sprintti 3 Sprintti 4 Kniberg H., 2006 / www.crisp.se

Optimaalinen tiimin koko on 5-9 henkilöä. Montako tiimiä? Onko sprinttien välillä välipäiviä? Miten hyväksymistestaus järjestetään? Entä retrospective review? Jos eri tiimit tekevät työtä yhteisen tuotteen eteen, tiimien työn yhteensovittamista voidaan edistää Scrum-of-Scrums kokouksilla. Eri tiimien scrum masterit pitävät kerran viikossa noin puolen tunnin palaverin. Maanantai 9-10 Sprint 1 demo 10-11 Sprint 1 retrospective 13-16 Sprint 2 suunnittelu huono parempi Maanantai 9-10 Sprint 1 demo 10-11 Sprint 1 retrospective Tiistai 9-13 Sprint 2 suunnittelu paras Perjantai 9-10 Sprint 1 demo 10-11 Sprint 1 retrospective Lauantai Sunnuntai Maanantai 9-13 Sprint 2 suunnittelu Kniberg H., 2006 / www.crisp.se

Miten hyväksymistestaus järjestetään? 1.0.1 loppukäyttäjät Vaihtoehto 1 1.0 Hyväksymistestaus 1.1 Hyväksymistestaus 1.0.0 virheitä 1.0.1 1.1.0 Sprint 1 Sprint 2 Vaihtoehto 2 Sprint 1 Julkistus Sprint 2 Julkistus Vaihtoehto 3 1.0.0 virheitä 1.0.1 1.1.0 Sprint 1 Sprint 2 Kniberg H., 2006 www.crisp.se

Listalla Tehtävänä Tehty Burndown-arvio Suunnittelemattomat Seuraava sprintti Seinätaulun käyttö Kniberg H., 2006 / www.crisp.se

Listalla Tehtävänä Tehty 70 Burndown-arvio Liikaa suunnittelemattomia töitä Työtä jäljellä (story points) 60 50 40 30 20 10 29 30 31 1 2 5 6 7 8 9 12 13 14 15 16 Tammi Helmikuu 2006 Sprintille varatut työt saadaan tehtyä etuajassa. Otetaan lisää seuraavan sprintin työlistasta. Suunnittelemattomat Seuraava sprintti Seinätaulun käyttö Kniberg H., 2006 / www.crisp.se

Soveltuvat lait ja pohdiskelun aiheita Henkilöiden lisääminen myöhässä olevaan projektiin aiheuttaa vain lisää myöhästymistä / no 36, Brooks 1975 laki perustuu OS/360 käyttöjärjestelmäprojektissa saatuihin kokemuksiin lakia voidaan soveltaa suuriin projekteihin, jossa osallistujilta vaaditaan sovellusalueen tietämystä miksi näin on? uusien henkilöiden koulutus projektin töiden jakaminen uudelleen (re-partitioning) vaikuttaa rikkovasti projektiin kommunikointikustannukset kasvavat (n 2 )

Soveltuvat lait ja pohdiskelun aiheita Milloin tuo edellä esitetty Brooksin laki ei välttämättä pidä paikkaansa? Van Genuchten ja Hatton esittelevät paperissaan uuden mittarin, ohjelmiston hyöty (software mileage). Mitä sillä tarkoitetaan ja mihin sitä voidaan käyttää?? Mitä yhteistä näet ansaitun arvon arviossa ja Scrumin Burndown arviossa? Van Genuchten M. and Hatton L., Software Mileage, IEEE Software, vol 28, no 5, 2011, pp. 24-26