Projektitoiminta JOTU 23.09.2013 19.10.2015 JOTU2015/K.Systä 1
Muistutus kontaktihenkilöistä Viikkoharjoitukset tero.ahtee@tut.fi Harjoitustyöt marko.leppanen@tut.fi Oma assari Luennot ja kurssin suorittaminen yleensä kari.systa@tut.fi 19.10.2015 JOTU2015/K.Systä 2
Tämän (ja seuraavan) kerran aiheita Mikä ja miksi projekti Projektiorganisaatio ja sidosryhmät Ohjelmistoprojektin kulku Projektin suunnittelu Ositus Osallistujat Työmäärän arviointi Aikataulutus Riskien hallinta Projektin seuranta 19.10.2015 JOTU2015/K.Systä 3
Projektin hallinta vai sallinta Tehokkuus Luova kaaos Sekamelska Byrogratia-kaaos Alhainen motivaatio Kontrollin ja valvonnan määrä 19.10.2015 JOTU2015/K.Systä 4
Hanke vs. projekti vs. prosessi Usein softaa tehdään projekteina Projektit viedään usein läpi prosesseina On olemassa myös muita projekteja kuin kehitysprojekteja Jos projektit kuuluvat samaan kokonaisuuteen, kutsutaan niitä hankkeeksi Usean projektin kokonaisuutta kutsutaan joskus projektisalkuksi JOTU2015/K.Systä 19.10.2015 5
Projekti Projektiin liittyy lähtötilanne, syy käynnistämiselle ja tavoitetila Yksi määritelmä: Projekti on kertaluontoinen, toisiinsa liittyvien tehtävien ja aktiviteettien muodostama kokonaisuus, jolla on suunnitelmallinen toteutus (=tavoitteet, aikataulu, resurssit, kustannukset). Projektiin liittyy organisaatio, joka yleensä poikkeaa linjaorganisaatiosta johto osallistujat sidosryhmät... Ovatko projekteja? Johdatus ohjelmistotuotannon -kurssi syys 2013 DI-tutkinnon suorittaminen Komponenttivaraston kiertonopeuden kasvattaminen 19.10.2015 JOTU2015/K.Systä 6
Softaprojekti On myös projekti Vakiintuneiden projektikäytäntöjen soveltaminen ohjelmistoihin ei aina ole itsestään selvää Erityiskoulutettuja ammattilaisia Usein johto ja asiakkaat eivät ymmärrä työn sisältöä Paljon kommunikointitarvetta Käsitys oikeasta tavasta on muuttunut aikojen kuluessa 19.10.2015 JOTU2015/K.Systä 7
Ohjelmistoprosessi: Historia (teoriassa) JOTU2015/K.Systä 19.10.2015 8
Vesiputous vs. ketterä Tarkat suunnitelmat Tarkka valvonta Kurinalainen toiminta Tarkat suunnitelmat vain seuraavasta askeleesta Yhteinen visio ja asiakaspalaute Tiimityö, yhteisvastuu Projektin hallinta / suunnitelma mallista huolimatta Sopimus rahasta, resursseista ja tuloksista Kommunikaation väline projektin sisällä ja ulkopuolelle Johtamisen väline 19.10.2015 JOTU2015/K.Systä 9
Prosessi: Historia (todellisuudessa) Rakenteiset menetelmät Olio-ohjelmointi Prosessi: Iteratiivinen kehitys CMM, Spice, ISO9001 Ketterät menetelmät Koodaa ja korjaa 1970 1980 1990 2000 Näkyvimmät trendit...2011: ketteryys (agility) Scrum työkalut Global SW Development (GSD) Lean Outsourcing Näkyvimmät trendit...2015: Lean Start-up Continuous Delivery DevOps JOTU2015/K.Systä 19.10.2015 10
Kiva löytö: (Ken Schwaber: Agile project managemet) Far from agreement Anarchy Complicated Complex Close to agreement Simple Complicated Close to certainty Far from certainty 19.10.2015 JOTU2015/K.Systä 11
Projektityyppejä Esitutkimusprojekti, määrittelyprojekti toteutusprojekti Jako aliprojekteiksi Suurissa projekteissa jako aliprojekteihin (yksi nyrkkisääntö: jos projekti on yli viisi henkilötyövuotta ja kestää yli vuoden, hankaluuksia on varmasti odotettavissa). Muita projektityyppejä käyttöönottoprojekti koulutusprojekti hankintaprojekti laatujärjestelmän kehitysprojekti. ohjelmistoprojektiin voi liittyä myös laitteistoprojekti. Asiakas- vs. tuotekehitysprojekti: Verrattuna asiakaskohtaisen ohjelmiston tuottamiseen, ohjelmiston tuotteistaminen on moninkertainen urakka. Massatuotteessa vikojen seuraukset voivat olla erittäin kalliita. 19.10.2015 JOTU2015/K.Systä 12
Keskeisiä projektin suureita Projektin tuotos Laajuus (scope) Lopputuloksen laatu Täyttääkö tarpeen, onko oikeasti hyödyllinen Usein vaikeasti mitattavissa Kalenteriaika Ihmiset ("resurssit") Mitä tapahtuu, kun yhtä joudutaan muuttamaan (trade-offs)? 19.10.2015 JOTU2015/K.Systä 13
Projektin suunnittelu Hyvin suunniteltu on puoliksi tehty Jokainen tietää omat vastuunsa projektissa Jokainen tuntee projektin tavoitteet Tiedetään, kuinka projektia seurataan ja etenemisestä raportoidaan Pystytään vertaamaan edistymistä suunnitelmiin ja sitä kautta arvioimaan projektin lopetusajankohta ja lopullinen hinta 19.10.2015 JOTU2015/K.Systä 14
Projektiorganisaatio 19.10.2015 JOTU2015/K.Systä 15
JOTU2015/K.Systä 16 Ohjaus Projekti Projektin valmistelu Projektiehdotus Projektin asettaminen Projektikuvaus Projektin suunnittelu Ohjausryhmä Projektisuunnitelman hyväksyminen Seuranta ja ohjaus Tuotosten hyväksyminen Projektisuunnitelma Seurantaraportit Ohjaus Muutosehdotukset Päivitetty projektisuunnnitelma Projektin tuotokset Projektin läpivienti Projektin päättäminen Loppuraportti
Kustannukset Mahdoton alue Projektisuunnittelun haaste Mahdoton alue Kalenteriaika 19.10.2015 JOTU2015/K.Systä 17
Projektit ovat erilaisia 5 19.10.2015 JOTU2015/K.Systä 18
Usein vielä vaikeampaa Kompromissikolmio (Iron triangle) Ominaisuudet Aika Hinta 19.10.2015 JOTU2015/K.Systä 19
Projektisuunnitelma Projektisuunnitelma, dokumenttirunkoja kannatta etsiä Loppuraportti, dokumenttirunko ISO 10006:1997 Quality management - Guidelines to quality in project management SFS-ISO, 21500:2012 ISOT PROJEKTIT KESKISUURET PROJEKTIT PIENET PROJEKTIT PROJEKTIKORTTI Projekti: Proj. no: Tekstiä: PROJEKTISUUNNITELMA PROJEKTISUUNNITELMA PROJEKTIKORTTI LIITTEINEEN 19.10.2015 JOTU2015/K.Systä 20
Projektisuunnitelma: MIKSI? Projektin ohjauksen ja seurannan apuväline, joka samalla toimii "sopimuksena" ja tiedonvälittäjänä eri sidosryhmien kesken. Tavoitteet Tehtävät ja aikataulu Organisointi ja vastuut Toimintatavat, työvälineet Raha Riskit 19.10.2015 JOTU2015/K.Systä 21
Projektin suunnittelu 1. Organisointi; osallistujien työpanoksen kartoittaminen sekä aikataulutus Tavoitteiden tarkentaminen Riskien analysointi, millä edellytyksillä projekti voi toteutua. Teknologioiden ja työmenetelmien valinta Tukitoimintojen suunnittelu Vaiheistaminen ja osittaminen (WBS) Työmäärien arviointi Projektibudjetti, kassavirtalaskelma 19.10.2015 JOTU2015/K.Systä 22
Organisointi Kuka on projektin vetäjä, tuoteomistaja yms, tarvitaanko pääarkkitehti Mistä saadaan tekijät? Ovatko tekijät vapaana? Pitääkö rekrytoida? Alihankitaanko? Esimerkiksi tällä kurssilla Mistä assarit? 19.10.2015 JOTU2015/K.Systä 23
Projektin suunnittelu Organisointi; osallistujien työpanoksen kartoittaminen sekä aikataulutus 2. Tavoitteiden tarkentaminen Riskien analysointi, millä edellytyksillä projekti voi toteutua. Teknologioiden ja työmenetelmien valinta Tukitoimintojen suunnittelu Vaiheistaminen ja osittaminen (WBS) Työmäärien arviointi Projektibudjetti, kassavirtalaskelma 19.10.2015 JOTU2015/K.Systä 24
Tavoitteiden tarkentaminen Asiakasvaatimukset selvät? Omat tavoitteet Tavoiteltu voitto? Uudet asiakkuudet? Oman organisaation osaamisen kehittäminen? Aineeton pääoma 19.10.2015 JOTU2015/K.Systä 25
Projektin suunnittelu Organisointi; osallistujien työpanoksen kartoittaminen sekä aikataulutus Tavoitteiden tarkentaminen 3. Riskien analysointi, millä edellytyksillä projekti voi toteutua. Teknologioiden ja työmenetelmien valinta Tukitoimintojen suunnittelu Vaiheistaminen ja osittaminen (WBS) Työmäärien arviointi Projektibudjetti, kassavirtalaskelma 19.10.2015 JOTU2015/K.Systä 26
Ne riskit usein unohtuu 19.10.2015 JOTU2015/K.Systä 27
Riskeistä usein mietitään Riskin todennäköisyys Riskin vakavuus Riskien toteutumisen ehkäisy Riskien toteutuessa mitä tehdään 19.10.2015 JOTU2015/K.Systä 28
Projektin suunnittelu Organisointi; osallistujien työpanoksen kartoittaminen sekä aikataulutus Tavoitteiden tarkentaminen Riskien analysointi, millä edellytyksillä projekti voi toteutua. 4. Teknologioiden ja työmenetelmien valinta Tukitoimintojen suunnittelu Vaiheistaminen ja osittaminen (WBS) Työmäärien arviointi Projektibudjetti, kassavirtalaskelma 19.10.2015 JOTU2015/K.Systä 29
Teknologioiden ja työmenetelmien valinta Alusta ja ohjelmointikieli Työkalut (kääntäjät, testaus, versionhallinta, projektinhallinta) Vesiputous, Scrum vai joku muu Esimerkiksi tällä kurssilla mietittiin elokuussa Canvas vai joku muu Webbi-sivu Käytetäänkö MagicDrawta onko lisenssi kunnossa 19.10.2015 JOTU2015/K.Systä 30
Projektin suunnittelu Organisointi; osallistujien työpanoksen kartoittaminen sekä aikataulutus Tavoitteiden tarkentaminen Riskien analysointi, millä edellytyksillä projekti voi toteutua. Teknologioiden ja työmenetelmien valinta 5. Tukitoimintojen suunnittelu Vaiheistaminen ja osittaminen (WBS) Työmäärien arviointi Projektibudjetti, kassavirtalaskelma 19.10.2015 JOTU2015/K.Systä 31
Tukitoimintojen suunnittelu Dokumentointi Laadunvarmistus Tuotteenhallinta Myynti ja markkinointi IT-support Osa organisointia 19.10.2015 JOTU2015/K.Systä 32
Projektin suunnittelu Organisointi; osallistujien työpanoksen kartoittaminen sekä aikataulutus Tavoitteiden tarkentaminen Riskien analysointi, millä edellytyksillä projekti voi toteutua. Teknologioiden ja työmenetelmien valinta Tukitoimintojen suunnittelu 6. Vaiheistaminen ja osittaminen (WBS = Work Breakdown Structure) Työmäärien arviointi Projektibudjetti, kassavirtalaskelma 19.10.2015 JOTU2015/K.Systä 33
Vaiheistaminen ja osittaminen Millaisia riippuvuussuhteita työtehtävillä on? Ajallisia Kommunikaatiotarpeita Onko hyödyksi tai tarpeen toimittaa osissa? Millainen on järkevä työnjako ottaen huomioon Osaaminen ja kokemus Kommunikaatiotarve Aikataulu Budjetti 19.10.2015 JOTU2015/K.Systä 34
Gantt kaaviot (lähde: http://www.matchware.com) 19.10.2015 JOTU2015/K.Systä 35
Toinen versio (Lähde: http://orgmode.org) 19.10.2015 JOTU2015/K.Systä 36
Vaiheistaminen ketterissä Tapahtuu usein vähitellen, esimerkiksi joka sprintin alussa Isossa projektissa saattaa silti olla toimituksia (release) etc, Toimittaja tutkimus tot tot tot tot tarjous määr. test demo test demo test demo test käyt.otto määr. demo demo demo käyt.otto tarjous tarjouspyyntö Asiakas 19.10.2015 JOTU2015/K.Systä 37
Timeboxing Projektin osittainen kiinteän mittainen aikasiivu, jolla on omat deadlinensä, vaihetuotteensa ja resurssinsa TB1 TB2 TB3 Riskinhallintametodi Nopea palaute Jäykistää vaatimustenhallintaa JOTU2015/K.Systä 19.10.2015 38
Projektin suunnittelu Organisointi; osallistujien työpanoksen kartoittaminen sekä aikataulutus Tavoitteiden tarkentaminen Riskien analysointi, millä edellytyksillä projekti voi toteutua. Teknologioiden ja työmenetelmien valinta Tukitoimintojen suunnittelu Vaiheistaminen ja osittaminen (WBS) Työmäärien arviointi Projektibudjetti, kassavirtalaskelma 19.10.2015 JOTU2015/K.Systä 39
Työmäärän arvioinnin ongelmia Projektin vaatimukset muuttuvat Projektin tavoite ja sisältö on heikosti määritelty Projektin organisaatio, määräykset, lait tai tilajärjestelyt muuttuvat Arvioiden tekijät ovat kokemattomia Arviointi on tehty liian suurina kokonaisuuksina Käytössä ei ole historiatietoa Henkilöstö vaihtuu Johto sanelee työmääräarviot Projektin johtaminen ei ole jämäkkää 19.10.2015 JOTU2015/K.Systä 40
Työmäärän arvioinnin menetelmät (näistä lisää kurssilla ohjelmistotuotannon menetelmät) valistunut arvio kokemukseen perustuva COCOMO (Constructive Cost Model, 1981) ja COCOMO II Koodirivien määrä, kustannuskertoimet Tuloksena ihanteellinen kalenteriaika Toimintopisteet (FPA - Function Point Analysis) Kolmen arvion malli Pessimistinen, todennäköinen ja optimistinen arvio Ketterät - Planning poker 19.10.2015 JOTU2015/K.Systä 41
Projektin suunnittelu Organisointi; osallistujien työpanoksen kartoittaminen sekä aikataulutus Tavoitteiden tarkentaminen Riskien analysointi, millä edellytyksillä projekti voi toteutua. Teknologioiden ja työmenetelmien valinta Tukitoimintojen suunnittelu Vaiheistaminen ja osittaminen (WBS) Työmäärien arviointi 8. Projektibudjetti, kassavirtalaskelma 19.10.2015 JOTU2015/K.Systä 42
Muutama sana kustannuksista esimerkin kautta (luvut v. 2007 kalvoista) 10 hengen ohjelmistotalo Päätoiminen johtaja, ei sihteeriä Muut tekevät laskutettavaa työtä 75% työajasta Vaihtuvuus n. 1 hlö / vuosi Palkat ja henkilösivukustannukset 1.6 * 3 k * 12 kk = ~58k Otetaan huomioon vuokrat, laitteiden poistot, leasingautot, konttorikustannukset jne... kertomalla summa 1.5:llä => ~86k Yhteensä 10 henkeä => menopuolella ~860k 19.10.2015 JOTU2015/K.Systä 43
jatkoa Laskutettavia tunteja voi arvioida tulevan vuoden aikana yhdeksälle työtekijälle. Vaihtuvuuden ja sairaslomien yms. huomioon ottamiseksi käytetään kertoimena kuitenkin lukua 8: 8*1700*0.75 = noin 10000 laskutettavaa tuntia. Työtunnin hinnaksi tulee siis ~86 ja päivähinnaksi 650. Henkilötyövuosi maksaa ~150k 19.10.2015 JOTU2015/K.Systä 44
Projektisuunnittelussa lisäksi Mietitään mitä voidaan oppia edellisistä projekteista Esimerkiksi tällä kurssilla Viime syksyn loppupalaveri Viime syksyn kaiku-palaute 19.10.2015 JOTU2015/K.Systä 45
PÄIVÄN VÄLIPALA 19.10.2015 JOTU2015/K.Systä 46
Syitä erään suuren projektin epäonnistumiseen 1/2 Järjestelmän ominaisuuksia ja kokoa ei pystytty mitenkään arvioimaan suunnitteluvaiheessa Järjestelmästä tuli huomattavasti suurempi kuin oli alunperin suunniteltu Järjestelmään tehtiin projektin aikana jatkuvasti muutoksia: uusia piirteitä lisättiin ja vanhoja muutettiin Koordinointi osaprojektien välillä oli lähes olematonta Projektin loppupuolella vallitsi tavaton kiire. 19.10.2015 JOTU2015/K.Systä 47
Syitä erään suuren projektin epäonnistumiseen 2/2 Projektin loppupuolella projektipäällikkö sairastui ja hänen tilalleen tuli verraten kokematon henkilö Järjestelmässä oli useita piirteitä, joita ei oltu kokeiltu aikaisemmissa vastaavissa tuotteissa Järjestelmätestauksessa todettiin, että järjestelmä on liian epästabiili käyttöönotettavaksi. Projekti oli kuitenkin jo myöhässä ja paine asiakkaan taholta oli kova, joten järjestelmä otettiin tästä huolimatta käyttöön Jälkikäteen pystyttiin arvioimaan, että järjestelmän rakenne oli sellainen, ettei se olisi mitenkään voinut toimia:... paarlastia olisi tarvittu niin paljon, että alemmat tykkiportit olisivat joutuneet veden alle. Lähde; Curt Borgenstam: Why the Wasa Capsized. 19.10.2015 JOTU2015/K.Systä 48
1628 19.10.2015 JOTU2015/K.Systä 49
Perinteinen Ketterät vs ja projektin hallinta Hyvät suunnitelmat Tarkka hallinto ja seuranta Ketterät Yksilöitä ja vuorovaikutusta enemmän kuin prosesseja ja työkaluja Toimivaa sovellusta enemmän kuin kokonaisvaltaista dokumentaatiota Asiakasyhteistyötä enemmän kuin sopimusneuvotteluita Muutokseen reagoimista enemmän kuin suunnitelman noudattamista. Projektipäällikkö Product owner scrum master 19.10.2015 JOTU2015/K.Systä 50
Ketterät ja projektinhallinta Muistettava Resurssien- ja rahankäyttöä on kuitenkin suunniteltava ja seurattava Projektiin kuuluu muutakin kuin se softan tekeminen Varsinaiset haasteet syntyvät projekteissa jotka ovat suurempia kuin yksi Scrum-tiimi Toisaalta Oikein tehty ketterä projekti tarjoaa paremman näkyvyyden edistymiseen kuin perinteinen Tuoteomistaja (Product owner) on tärkeä henkilö Jonka osaaminen usein ratkaisee projektin onnistumisen 19.10.2015 JOTU2015/K.Systä 51
TTL-julkaisusarja, Tietojärjestelmän hankinta - Ohjelmistotoimittajan ja -ratkaisun valinta. Helsinki 2005, Talentum 19.10.2015 JOTU2015/K.Systä 52
A p ot t i 19.10.2015 JOTU2015/K.Systä 53
Yhteenveto Prosessi/vaihejakomalli tarkoittaa Kommunikointia Koordinointia (pelisääntöjä) Ei vaiheet ja tehtävät Määrittely, suunnittelu, toteutus, testaus, Vesiputous vs. ketterä Projektisuunnittelussa valitaan ja otetaan prosessi/vaihejakomalli huomioon Miten elevantti syödään? Paloina 19.10.2015 JOTU2015/K.Systä 54
Tämän (ja seuraavan) kerran aiheita Mikä ja miksi projekti Projektiorganisaatio ja sidosryhmät Ohjelmistoprojektin kulku Projektin suunnittelu Ositus Osallistujat Työmäärän arviointi Aikataulutus Riskien hallinta Projektin seuranta 19.10.2015 JOTU2015/K.Systä 55