Projektitoiminta JOTU 26.10.2015 (uusintayritys) 26.10.2015 TTY TIE-02300/Kari Systä 1
Ajankohtaista Tämän viikon viikkoharjoituksissa piirrellään taas: ottakaa kone mukaan Keskiviikon viimeistä harjoituskertaa (4-6) kokeillaan viimeistä kertaa tällä viikolla. Jos edelleen liian vähän osallistujia, harjoituskerta lopetetaan Harjoitustyön toisen vaiheen ohjeet ovat näkyvissä: https://mooc.tut.fi/courses/12/pages/harjoitustyon-toinen-valipalautus 26.10.2015 TTY TIE-02300/Kari 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 26.10.2015 TTY TIE-02300/Kari Systä 3
Projektin hallinta vai sallinta Tehokkuus Optimi riippuu tilanteesta - projektista - asiakkaasta - kehittäjäporukasta Luova kaaos Byrokratia-kaaos Alhainen motivaatio Sekamelska Kontrollin ja valvonnan määrä 26.10.2015 TTY TIE-02300/Kari Systä 4
Hanke vs. projekti vs. prosessi Usein softaa tehdään projekteina Projektit viedään usein läpi prosesseina Vesiputous, ketterä yms. päätetään ennen projektin alkua On olemassa myös muita projekteja kuin kehitysprojekteja Jos projektit kuuluvat samaan kokonaisuuteen, kutsutaan niitä hankkeeksi Muista: Case VR Usean projektin kokonaisuutta kutsutaan projektisalkuksi Silloin kun organisaatio tai sidosryhmä hallitsee projekteja yhdessä TTY TIE-02300/Kari Systä 26.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 syksyllä 2015 DI-tutkinnon suorittaminen Komponenttivaraston kiertonopeuden kasvattaminen 26.10.2015 TTY TIE-02300/Kari 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 26.10.2015 TTY TIE-02300/Kari Systä 7
Ohjelmistoprosessi: Historia (teoriassa) TTY TIE-02300/Kari Systä 26.10.2015 8 Lean Startup., DevOps?
Vesiputous vs. ketterä projektinhallintanäkökulma Vesiputous Tarkat suunnitelmat Tarkka valvonta Kurinalainen toiminta Ketterä Tarkat suunnitelmat vain seuraavasta askeleesta Yhteinen visio ja asiakaspalaute Tiimityö, yhteisvastuu Mallista riippumatta Sopimus rahasta, resursseista ja tuloksista Kommunikaation väline projektin sisällä ja ulkopuolelle Johtamisen väline 26.10.2015 TTY TIE-02300/Kari Systä 9
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 26.10.2015 TTY TIE-02300/Kari Systä 11
Projektityyppejä Esitutkimusprojekti, määrittelyprojekti, toteutusprojekti Muita projektityyppejä käyttöönottoprojekti koulutusprojekti hankintaprojekti laatujärjestelmän kehitysprojekti. ohjelmistoprojektiin voi liittyä myös laitteistoprojekti. 26.10.2015 TTY TIE-02300/Kari Systä 12
Ohjelmiston rakentaminen projektina Asiakas - toimittaja Tarvitaan yhteisymmärrys siitä mitä halutaan Mitä se maksaa Koska se on valmis Asiakas ymmärrettävä laajasti Sisäinen Varsinaisen asiakkaan edustaja (esim. markkinointi) Asiakkaalle projekti on usein osa isompaa kokonaisuutta (hanketta) Ohjelmiston lisäksi laite, liiketoimintamuutos, Elinkaari: esiselvitys, määrittely, toteutus, testaus, käyttöönotto, ylläpito, käytöstä poisto Tämä kurssi on suunniteltu (myös) tuleville asiakkaille Kertausta 2. luennolta 26.10.2015 TTY TIE-02300/Kari Systä 13
Eri tapoja organisoida kehitys Kännyfirma Ohjelmistofirma Tekee itse oman käyttöliittymänsä Tekee laiteajurit omaan rautaansa Sovittaa kolmannen osapuolen tekemän käyttöjärjestelmän omiin tarpeisiinsa Omien resurssien puutteessa vuokraa ohjelmistofirman ihmisiä auttamaan varusohjelmien tekemisessä Ostaa avaimet käteen projektina henkilöstöhallinnon järjestelmän Ohjelmistotuotteiden myynti Räätälöityjen projektien myynti Ohjelmistotyön myynti Kertausta 2. luennolta 26.10.2015 TTY TIE-02300/Kari Systä 14
Muita haasteita Tuote vs asiakaskohtainen Sopivuus asiakkaan tarpeisiin Kehittämisen ja ylläpidon kustannukset Dilemma. Kummalla rikastut: teet kerran ja myyt miljoona kopiota vai tekemällä monta projektia? Eri toimintatavat Hajautettu kehitys Resurssit ja asiantuntemus voivat olla hajallaan Kustannusten vuoksi halutaan siirtää työtä halvan kustannuksen maihin. Monessa yrityksessä edustus asiakkaan luona, loput esim. Intiassa Kertausta 2. luennolta 26.10.2015 TTY TIE-02300/Kari Systä 15
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)? Kertausta 2. luennolta 26.10.2015 TTY TIE-02300/Kari Systä 16
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 26.10.2015 TTY TIE-02300/Kari Systä 17
Projektiorganisaatio 26.10.2015 TTY TIE-02300/Kari Systä 18
TTY TIE-02300/Kari Systä 19 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
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)? Kertausta 2. luennolta 26.10.2015 TTY TIE-02300/Kari Systä 20
Kustannukset Mahdoton alue Projektisuunnittelun haaste Mahdoton alue Kalenteriaika 26.10.2015 TTY TIE-02300/Kari Systä 21
Projektit ovat erilaisia 5 26.10.2015 TTY TIE-02300/Kari Systä 22
Usein vielä vaikeampaa Kompromissikolmio (Iron triangle) Ominaisuudet Aika Hinta 26.10.2015 TTY TIE-02300/Kari Systä 23
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 26.10.2015 TTY TIE-02300/Kari Systä 24
PÄIVÄN VÄLIPALA 26.10.2015 TTY TIE-02300/Kari Systä 25
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. 26.10.2015 TTY TIE-02300/Kari Systä 26
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. 26.10.2015 TTY TIE-02300/Kari Systä 27
1628 26.10.2015 TTY TIE-02300/Kari Systä 28
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 26.10.2015 TTY TIE-02300/Kari Systä 29
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 26.10.2015 TTY TIE-02300/Kari Systä 30
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? 26.10.2015 TTY TIE-02300/Kari Systä 31
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 26.10.2015 TTY TIE-02300/Kari Systä 32
Tavoitteiden tarkentaminen Asiakasvaatimukset selvät? Omat tavoitteet Tavoiteltu voitto? Uudet asiakkuudet? Oman organisaation osaamisen kehittäminen? Aineeton pääoma 26.10.2015 TTY TIE-02300/Kari Systä 33
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 26.10.2015 TTY TIE-02300/Kari Systä 34
Ne riskit usein unohtuu 26.10.2015 TTY TIE-02300/Kari Systä 35
Riskeistä usein mietitään Riskin todennäköisyys Riskin vakavuus Riskien toteutumisen ehkäisy Riskien toteutuessa mitä tehdään 26.10.2015 TTY TIE-02300/Kari Systä 36
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 26.10.2015 TTY TIE-02300/Kari Systä 37
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 26.10.2015 TTY TIE-02300/Kari Systä 38
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 26.10.2015 TTY TIE-02300/Kari Systä 39
Tukitoimintojen suunnittelu Dokumentointi Laadunvarmistus Tuotteenhallinta Myynti ja markkinointi IT-support Osa organisointia 26.10.2015 TTY TIE-02300/Kari Systä 40
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 26.10.2015 TTY TIE-02300/Kari Systä 41
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 26.10.2015 TTY TIE-02300/Kari Systä 42
Gantt kaaviot (lähde: http://www.matchware.com) 26.10.2015 TTY TIE-02300/Kari Systä 43
Toinen versio (Lähde: http://orgmode.org) 26.10.2015 TTY TIE-02300/Kari Systä 44
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 26.10.2015 TTY TIE-02300/Kari Systä 45
Timeboxing Projektin osittainen kiinteän mittainen aikasiivu, jolla on omat deadlinensä, vaihetuotteensa ja resurssinsa TB1 TB2 TB3 Riskinhallintametodi Nopea palaute Jäykistää vaatimustenhallintaa TTY TIE-02300/Kari Systä 26.10.2015 46
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) 7. Työmäärien arviointi Projektibudjetti, kassavirtalaskelma 26.10.2015 TTY TIE-02300/Kari Systä 47
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ää 26.10.2015 TTY TIE-02300/Kari Systä 48
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 26.10.2015 TTY TIE-02300/Kari Systä 49
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 26.10.2015 TTY TIE-02300/Kari Systä 50
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 26.10.2015 TTY TIE-02300/Kari Systä 51
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 26.10.2015 TTY TIE-02300/Kari Systä 52
Projektisuunnittelussa lisäksi Mietitään mitä voidaan oppia edellisistä projekteista Esimerkiksi tällä kurssilla Viime syksyn loppupalaveri Viime syksyn kaiku-palaute 26.10.2015 TTY TIE-02300/Kari Systä 53
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 26.10.2015 TTY TIE-02300/Kari Systä 54
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 26.10.2015 TTY TIE-02300/Kari Systä 55