010761001 Projektinhallinta http://www. it. lut 010761001 Projektinhallinta http://www.it.lut.fi/kurssit/04-05/010761001/ Luento 4 ja 5 Kalle Ikkelä kalle.ikkela@lut.fi
Sisältö Projektin suunnittelu Projektin ositus Aikataulutus Resurssointi ja kustannussuunnittelu Raportointi Projektisuunnitelma
Projektin suunnittelu, miksi? ”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
Huonosti suunnitellussa projektissa… Tehtävät ovat jatkuvasti myöhässä On jatkuva kiire ja ylityötarve Joudutaan toimittamaan asioita asiakkaalle keskeneräisinä Tarvittavia resursseja ei ole käytössä oikeaan aikaan Aikatauluja joudutaan muuttamaan tiheästi Törmätään ongelmiin, jotka olisi voinut ennakoida ja ehkäistä
Projektisuunnittelun vaiheet Projektin tavoitteiden asettaminen Aika- suunnittelu Projektin osittaminen organisointi Resurssi- suunnittelu Ohjaus- järjestelmän Kustannus- Projektisuunnitelma
Tavoitteiden asettaminen Projektin reunaehtojen asettaminen Selvitetään projektille tärkeät asiat asiakkaalta esim. erillisen kyselyn avulla Tavoitteet toimivat projektin ohjausvälineenä (esim. ongelmien esiintyessä karsitaanko ominaisuuksia vai lisätäänkö aikaa ja rahaa)
Projektin organisointi Projektiorganisaation muodostaminen, esim. projektipäällikkö, ohjausryhmä, muut henkilöt Yleisten käytännön asioiden selvittäminen
Sisältö Projektin suunnittelu Projektin ositus Aikataulutus Resurssointi ja kustannussuunnittelu Raportointi Projektisuunnitelma
Projektin osittaminen Projektin ositus eli WBS (Work Breakdown Structure) Tavoitteet: Ryhdistää ja selkeyttää projektia Jaetaan projekti vastuukokonaisuuksiin Jaetaan aikataulut osa-aikatauluihin Puitteet kustannusohjaukselle Työlle hierarkinen jäsentely ja koodaus Integroida ajallinen ja taloudellinen suunnittelu ja ohjaus Luoda projektin keskeinen informaatioväline
Kaksitasoinen ositus Aktiviteetti Tehtävä Suurehko kokonaisuus, voidaan jakaa aliaktiviteetteihin Voi kestää jopa koko projektin (esim. projektinhallinta) Tärkeitä tietoja ovat alkuajankohta, loppuajankohta, resurssit, työmäärä ja lopputuotteet Tehtävä Yleensä yhden henkilön suorittama kokonaisuus Kesto tyypillisesti muutamia päiviä, max. 2 viikkoa: Luotettavat arviot Poikkeamat havaitaan nopeasti ja voidaan reagoida niihin Tosin liian pienet tehtävät lisäävät byrokratian määrää
Ositus, esimerkki 1 Vaihe Määrittely Suunnittelu Toteutus Testaus Vaatimus- määrittely Projektin- hallinta Aktiviteetti Vaatimusten keruu Vaatimusten priorisointi Vaatimusten analysointi Tehtävä
Ositus, esimerkki 2 Esitysohjelmisto Tietokanta Projektinhallinta Määrittelyn tarkennus Kohdetietokannan Projektinhallinta Järjestelmätehtävät Kartta rakenteen suunnittelu Lisätietokannan Projektisuunnitelman Versionhallinta ja Määrittelyn rakenteen suunnittelu laadinta arkistointi tarkennus Johtoryhmän palaverit Käyttöohjeen laadinta Karttojen luonti Kohdetietokantaolion Raportointi Hankinnat Symbolien luonti suunnittelu ja Projektin Loppuraportin Koulutus Karttaosuuden pakkauskuvauksen laadinta laadinta Käyttöönottotuki suunnittelu ja Asennus pakkauskuvauksen Tietokannan suorituskykytestit Hyväksymiskoe laadinta Ohjelmointi Ohjelmointi Moduulitestaus Moduulitestaus Testaus Liityntä X-järjestelmään Käyttöliittymä Testisuunnitelman laadinta Protokollan tarkennus Määrittelyn tarkennus Testiympäristön Liityntäosuuden suunnittelu ja Käyttöliittymäproton luonti kokoaminen pakkauskuvauksen laadinta Käyttöliittymäproton arviointi Testitapausten laadinta Ohjelmointi Ikkunoiden viimeistely Järjestelmätestaus Moduulitestaus Koekäyttötestaus Tekninen suunnittelu Sovellus Arkkitehtuurikaavion laadinta Määrittelyn tarkennus Vaatimusten laadinta Sovellusosuuden suunnittelu arkkitehtuuriosille Koodaus Tekninen määrittely Moduulitestaus Projektisuunnitelman tarkennus
Ositus Microsoft Projectilla
Osituksen huomioita 1/2 Kaikkia tehtäviä ei pysty suunnittelemaan etukäteen; ennakoimattomat ongelmat ovat tavallisia Varaa aikaa odottamattomille tehtäville Älä resurssoi ihmisiä 100-prosenttisesti vaan varaa aikaa organisaation yleisiin tehtäviin, poissaoloihin jne. Varaa aikaa myös katselmointeihin ja muihin tarkastuspisteisiin, viranomaisten lupiin, laitteistojen hankkimiseen ja asentamiseen jne.
Osituksen huomioita 2/2 Tarkenna tehtäviä projektin edetessä (yleisaikataulu, 90 päivän aikataulu, viikkoaikataulu) Pyri edistämään yrityksen sisäisen tehtävälistan luomista. Tämä helpottaa projektin suunnittelua huomattavasti.
Sisältö Projektin suunnittelu Projektin ositus Aikataulutus Resurssointi ja kustannussuunnittelu Raportointi Projektisuunnitelma
Projektin aikaohjaus Huomioitavia asioita Myöhästymissakot, esim 0,5% viikossa, max 10% projektin kauppahinnasta Sidotun pääoman korko, esim. investoiduille laitteille, työlle, tilat, koneet jne. Tuotto projektin tuloksista Menetetty tuotto Markkinaetu Maine luotettavana toimittajana
Yleisiä ongelmia aikataulusuunnittelussa Tehtävät kuukausien ja jopa vuosien pituisia Riippuvuudet tehtävien väliltä puuttuvat Pelivaroja ei tunneta Resursseja ei ole merkitty aikatauluun Aikatauluja ei ylläpidetä vaan toimitaan vanhentuneen aikataulun perusteella Aikataulun luettavuus on heikko Aikataulusta puuttuu tehtäviä Henkilöstön asenne aikasuunnitteluun on heikko: ”ei ne aikataulut kuitenkaan pidä paikkaansa”
Työajan jakautuminen (esim.)
Projektiryhmän jäsenen työaika
Projektipäällikön työaika
Aikataululaadinnan tehtävät Laadi tehtäväluettelo Arvioi tehtävien työmäärät ja kestot ja sijoita ne työkaluun paikalleen Selvitä tehtävien suoritusjärjestys ja riippuvuudet Allokoi resurssit tehtäville Viimeistele aikataulu valitsemallasi työkalulla Tarkastele ja analysoi tulosta Hyväksytä aikataulu ja sitoudu sen noudattamiseen ja ylläpitämiseen
Työmäärien arviointi Aikataulutuksen kulmakivi Arvioinnilla tarkoitetaan tehtävän koon, kustannusten, resurssien ja keston määrittämistä Arviointia tarkennetaan koko projektin ajan Alussa arviointi tehdään niin hyvin kuin se on sen hetkisen tietämyksen perusteella mahdollista
Työmääräarvioiden 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ää
Yleissääntöjä Jos arvioit jonkun tehtävän alakanttiin, arvioi seuraava yläkanttiin Pelivaran voi sisällyttää tehtäviin tai laittaa erikseen aikatauluun näkyviin. Asiakas ei kuitenkaan välttämättä hyväksy erikseen näkyviä pelivaroja – toisaalta, työhön kuluu aina vähintään se aika, joka sille on varattu Eri ihmisten tuottavuus vaihtelee jopa 10-20 -kertaisesti: historiatieto arvioiden pitävyydestä henkilöittäin helpottaa arviointia
Tehtävän kesto kesto = työmäärä / resurssimäärä esim: tehtävän työmäärä 10 työpäivää 1 resurssi käyttää ajastaan 65% ajastaan tehtävän kesto on 10 / 0,65 = 15,38 työpäivää jos pyöristät 15 päiväksi, pyöristä seuraava ylöspäin jos pyöristät 16 päiväksi, pyöristä seuraava alaspäin
Toimintoverkko aika teht. 1 teht. 4 teht. 7 teht. 2 teht. 5 teht. 3
Toimintaverkon laskenta 3 B 7 E 2 F 6 H C I 9 J 4 D 5 K tehtävän vapaa pelivara kokonaispelivara kriittinen polku
Toimintaverkon laskenta 4 B 9 E F 3 H C 8 I J D K 2 tehtävän vapaa pelivara kokonaispelivara kriittinen polku
Arviointimenetelmiä RAHI ja MUTU Tehtävien arviointi Ryhmässä 2-N ihmisen ”sokkotyönä” Vaihejaon hyödyntäminen (esim. 20% suunnitteluvaiheelle) Nyrkkisäännöt (esim. dokumentointi 3 sivua / päivä) Matemaattiset mallit, joissa otetaan huomioon kokemus ja tehtävien vaikeus
Menetelmiä projektin koon arviointiin Koodirivien lukumäärä (LOC, SLOC, KLOC) Kolmen arvon malli Toimintopisteanalyysi (FPA) Cocomo (Constructive cost model) Historiatieto on tärkeää! Saako projektin aina se, joka arvioi eniten pieleen?
Koodirivien lukumäärä Arvoissa vaihteluita eri ohjelmointikielten välillä Arvo riippuu myös ohjelmoijasta --> yrityksen sisäiset ohjeet auttavat arvioinnissa Ohjelmistojen loogisten lausekkeiden laskeminen läheistä sukua Dokumentointisivujen lukumäärääkin voidaan käyttää mittarina
Toimintopisteanalyysi Albrecht 1979 kehityksestä lähtöisin Nykyisin noin 35 murretta IFPUG 4.0 laajimmin levinnyt, etenkin USA:ssa, Experience 3.0 eniten käytetty Suomessa, Mark II Englannissa Menetelmää kehittäviä organisaatioita, mm. UKSMA (www.uksma.co.uk) ja FISMA (http://www.sttf.fi/html/fisma.html)
Toimintopisteanalyysi Tarkastelee ohjelman tietojenkäsittelyn laajuutta ja teknistä monimutkaisuutta Tässä esimerkissä käsitellään IFPUG-menetelmää: Tietojenkäsittelyn laajuus UFP Tekninen kompleksisuus TCF Toimintopisteet FP=UFP*TCF Toimintopisteet muutetaan tilastollisen tiedon mukaan tietyillä kertoimilla työmääriksi Lisäksi tehdään projektin tilanneanalyysi Auttaa myös sovelluksen toiminnallisuuden ja kompleksisuuden läpikäynnissä
Kolmen arvion malli Maximum likelihood -estimaati p+4a+o / 6 , missä p= pessimistinen arvio, a=todennäköinen arvio, o=optimistinen arvio Esim. jos projektin työmääräksi arvioidaan optimistisesti 10 viikkoa, todennäköisenä pidetään 12 viikkoa ja pessimistinen arvio on 20 viikkoa, saadaan projektin kestoksi 13 viikkoa
Cocomo Barry Boehmin laajoihin tutkimuksiin ohjelmistotyön tuottavuutten vaikuttavista tekijöistä perustuva menetelmät osoitteesta http://sunset.usc.edu/research/COCOMOII löytyy kaikenlaista materiaalia kyseisestä mallista KLOC (KLinesOfCode)-> COCOMO->työpanos MM (htkk) ja kalenteriaika T(kk) Cocomon kertoimet kansainvälisesti kerättyä tilastotietoa kattaen koko projektin vaatimusmäärittelystä testaukseen, kehittyneemmässä versiossa (Intermediate, Detailed) voidaan painottaa erilaisilla vaikeusasteilla
Basic Cocomo Helppo tehtävä MM=2.4*KLOC1.05 Tdev=2.5*MM0.38 Normaali tehtävä MM=3.0*KLOC1.12 Tdev=2.5*MM0.35 Vaikea tehtävä MM=3.6*KLOC1.20 Tdev=2.5*MM0.32 Esimerkkiohjelmisto, jossa tuotetaan palvelu matkapuhelinverkkoon, 35 000 riviä koodia : jos luokitellaan normaaliksi, KLOC=35-> MM=160 htkk, T=15 kk jos luokitellaan vaikeaksi, KLOC=35 ->MM=257htkk, T= 15 kk *) Mallissa työmäärä kasvaa ohjelmiston koon funktiona, mutta tuottavuus ei juurikaan laske projektin koon kasvaessa
Intermediate Cocomo Projektin vaativuutta arvioidaan basic mallin karkean vaikeusastejaottelun lisäksi tuotetta, henkilöstöä, kehitysympäristöä ja projektia kuvaavien kustannuskertoimien avulla. Kukin näistä tekijöistä arvioidaan 6-arvoisella asteikolla: hyvin alhainen, alhainen, normaali, korkea, hyvin korkea ja erittäin korkea Normaali homma nMM=3.0*KLOC1.12 Tdev=2.5*MM0.35 Vaikea homma nMM=3.6*KLOC1.20 Tdev=2.5*MM0.32 Esimerkkiohjelmisto: Seuraavat tekijät otetaan huomioon: tuotteen monimutkaisuus korkea 1.17, sovellusalueen tuntemus alhainen 1.13, -> tällöin normaalin homman MM=1.13*1.17*160=211 htkk, T=16kk ja vaikean homman MM=1.13*1.17*257=339 htkk, T=16 kk
Cocomo-mallin arviointia Käytännössä on todettu tuottavan työmääräarviot noin 20% tarkkuudella Mallia on erityisesti hyvä käyttää projektien jälkiarviointiin vertaamalla mallin ennustamaa tulosta projektin toteumaan On olemassa vielä Detailed Cocomo, jossa käytetään erilaisia kustannuskertoimia ohjelmiston eri osissa Mallin toteuttavia ohjelmistoja on kaupallisesti saatavissa, arvioiden perustana yrityskohtaisesti kalibroidut (historiatieto) tietokannat
Yhteenveto työmäärien arviointimenetelmistä Yksinkertaisimmat menetelmät perustuvat arvaukseen, joko projektin tekijöiden, asiantuntijoiden tai esimerkiksi kilpailijan antamaan tarjoukseen Kehittyneemmät menetelmät perustuvat historiatietojen hyväksikäyttöön Kannattaa käyttää useampia menetelmiä paremman lopputuloksen saamiseksi Arvioista ei tulisi tehdä kovin tiukkoja, sillä arviot ovat helposti liian optimistisia
Työmääräarvioiden kehittyminen tiedot arviointi Arviointi- menetelmät Toteutuneiden työmäärien raportointi Vertailu arvioihin menetelmien kehittäminen Vahvistus arvioille Poikkeamien syiden analysointi Poikkeamia ON EI TIETO- PANKKI
Ganttin kaavio aikataulujen havainnollistajana
Projektin keston lyhentäminen Selvitä kriittiset tehtäväketjut Tarkista kriittisen polun tehtävien loogiset riippuvuudet Etsi tehtävät, joita voisi lyhentää Tarkastele resurssivarauksia ja mahdollisia muutoksia Voiko joitain tehtäviä lyhentää ilman lisäkustannuksia? (työtehokkuus) Kriittisten tehtävien resurssointi
Aikataulun seuranta ja ylläpito Edistymistietojen keruu tehtävittäin Mitkä tehtävät ovat valmiina Mitä on aloitettu (esim. aloitettu, keskellä, melkein valmis) Mitä ei vielä ole aloitettu Aikataulun päivitys Poikkeamien tunnistaminen Päätöksen teko ja tarvittavat korjaustoimenpiteet
Sisältö Projektin suunnittelu Projektin ositus Aikataulutus Resurssointi ja kustannussuunnittelu Raportointi Projektisuunnitelma
Projektin resurssisuunnittelu Koneet ja laitteet (materiaalit) Henkilöt (omat ja ulkopuoliset) Ohjelmistot ja patentit Raha
Projektin kustannussuunnittelu Henkilökustannukset Alihankintakustannukset Laitteistot ja ohjelmistot Koulutukset Matkakustannukset Muut kustannukset
Kustannusten seuranta Seuranta viikottaista Tuntiraportointi suuressa roolissa
Perinteinen kumulatiivinen kustannusseuranta Lisäksi on arvioitava, onko kaikki ko. ajalle suunnitellut tehtävät tehty, jotta tiedetään, ollaanko budjetissa vai ei.
Fixed price -projekti Kokonaisurakka (fixed price AKA black box) Kiinteähintainen projekti Tilaaja voi valita edullisimman Kuitenkin jos työmäärät on arvioitu alakanttiin, voi olla toimittajalle erittäin huono Tilaajan ei tarvitse valvoa kustannusten toteutumista: yksinkertaistaa projektin hallintoa Toimittajalla motivaatio tehokkaaseen työhön Projektin määrittely- ja sopimusvaiheet saattavat venyä
Cost plus -projekti Laskutustyö (cost plus AKA time and material) Veloitetaan sopimuksen mukainen tuntihinta tehdyistä työtunneista Toimittajan riskiä ei ole Mahdollistaa projektin nopean käynnistymisen Projekti saattaa kuitenkin venyä, koska ei ole motivaatiota nopeaan suorittamiseen Käytännössä maineen vuoksi kuitenkin pyritään mahdollisimman hyvään tulokseen
Muita sopimusmuotoja Laskutustyö + kannustepalkkio Palkkiona sovittu % esim. ajan mukaan Laskutustyö + houkutuspalkkio Kustannusalituksesta tietty % toimittajalle Kiinteä sopimus + laskutustyö Osa projektin kustannuksista kiinteä, osa laskutuksena Kiinteä sopimus + bonus Valmistuminen ennen sopimuspvm -> bonus
Projektin ohjausjärjestelmän suunnittelu Viestintää ja raportointia tarpeet: Projektiryhmän sisällä Projektin johtoryhmälle Projekti ulkoinen asiakas ja rahoittajat Projekti linjajohto ja hallinto Projekti osaprojektit osaprojektin osat Projekti viranomaiset Projekti tiedotusvälineet
Sisältö Projektin suunnittelu Projektin ositus Aikataulutus Resurssointi ja kustannussuunnittelu Raportointi Projektisuunnitelma
Esimerkki raportoinnista Eräässä moniprojektiorganisaatiossa projektien edistymisestä tuli mapillinen edistymisraportteja. Kukin projekti liitti raportteihin niitä seikkoja, jotka koettiin tärkeiksi. Päätöksentekohetkellä raporteista ei tuntunut löytyvän oleellisia asioita. Raportointi päätettiin yhdenmukaistaa tekemällä raporttipohja. Etusivulle laitettiin lyhyt yhteenveto tilanteesta ja poikkeamista.
Projektin viestintäsuunnitelma Mikä on viestin tavoite? Kenelle viesti kohdistuu? Mikä on oikea viestintäväline? Milloin on paras ajankohta? Kuka vastaa viestinnästä? Kuka viestii? Miten varmistetaan viestin perille meno ja palaute?
Projektidokumentointi Minimissään: Projektisuunnitelma Määrittelydokumentti Suunnitteludokumentti Testausraportti Loppuraportti Usein kirjataan myös muita tärkeitä asioita projektista ja sen tuloksista
Sisältö Projektin suunnittelu Projektin ositus Aikataulutus Resurssointi ja kustannussuunnittelu Raportointi Projektisuunnitelma
Projektisuunnitelman koko KESKISUURET ISOT PROJEKTIT PROJEKTIT PIENET PROJEKTIT PROJEKTIKORTTI Projekti: Proj. no: Tekstiä: PROJEKTISUUNNITELMA PROJEKTI- SUUNNITELMA PROJEKTIKORTTI LIITTEINEEN
Projektisuunnitelman sisältö Määrittelyt (johdanto ja tausta, projektin tulostavoitteet, rajaus ja liittymät) Organisaatio (projektiryhmä, johtoryhmä, yhteyshenkilöt) Toteutussuunnitelma (ositus ja toteutusvaiheet, aikataulu, tehtäväluettelo, resurssisuunnitelma, riskien kartoitus) Budjetti (projektibudjetti, kustannusseuranta) Ohjaussuunnitelma (kokoussuunnitelma, tiedottaminen, valvonta ja raportointi, koulutussuunnitelma, laadunvarmistus) Pelin s. 98
1. Projektin määrittelyt Johdanto ja tausta Miksi projekti perustettiin? Mitä tutkimuksia ja selvityksiä on olemassa? Mikä on kohteen nykytilanne? Projektin tulostavoitteet Määritellään projektin tavoitteet ja tehtävä Määrätään aika-, kustannus- ja tuotantotavoitteet sekä laatu Rajaus ja liittymät Rajataan projektin pelikenttä ja kuvataan liittymät muihin projekteihin tai tehtäviin
2. Organisaatio Henkilöluettelo tai organisaatiokaavio Henkilön nimi ja yritys/yksikkö Vastuualueet pääpiirteissään Aikavaraus ja kuormitus projektille Sähköpostiosoite Puhelinnumero Lisäksi voidaan tehdä erillinen lista, johon merkitään henkilöiden lomat ja muut ennalta suunnitellut poissaolot
3. Toteutussuunnitelma Tehtäväluettelot, työmääräarviot, aikataulut, välitarkastuspisteet, resurssisuunnitelmat. Tähän laitetaan yleensä vain yhteenvedot, tarkemmat suunnitelmat tehdään usein projektinhallintaohjelmistolla Riskien ja ongelmien kartoituksen tulokset Projektin toimituslista: mitä toimitetaan missäkin projektin vaiheessa
4. Budjetti Budjettiarvio ja perusteet arviosta Miten kustannusseuranta suoritetaan Maksuaikataulu, mikäli sitä ei ole jo puitesopimuksessa määritelty Mahdolliset ulkopuoliset rahoituslähteet ja rahoituksen maksuperusteet (esim. Tekes) Kustannusraportointijärjestelmän esittely, mikäli tarpeen
5. Ohjaussuunnitelma Miten tiedotetaan projektista eri sidosryhmille (projektiryhmä, ohjausryhmä, alihankkijat) Projektin raportointitavat ja ajankohdat
Projektisuunnitelman katselmointi ja hyväksyntä Projektisuunnitelma voidaan ensin katselmoida projektin sisäisesti: projektin henkilöstö sitoutuu suunnitelmiin Lopullisessa katselmoinnissa on mukana asiakkaan edustajan lisäksi esim. kokenut projektipäällikkö Katselmoinnissa voidaan käyttää apuna tarkistuslistaa Projektin johtoryhmä hyväksyy projektisuunnitelman
Projektisuunnitelman hyväksynnän jälkeiset tehtävät Suunnitelman toteutumisen seuranta Suunnitelman päivittäminen sopivin väliajoin, esim. jokaisessa suuremmassa tarkistuspisteessä tai parin kuukauden välein Projektin raameihin liittyvät muutokset on raportoitava projektin johtoryhmälle ja hyväksytettävä ne.