700 likes | 928 Views
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?.
E N D
010761001 Projektinhallintahttp://www.it.lut.fi/kurssit/04-05/010761001/Luento 4 ja 5Kalle 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ä
Projektintavoitteidenasettaminen Projektin organisointi Projektin osittaminen Aika- suunnittelu Resurssi- suunnittelu Kustannus- suunnittelu Ohjaus- järjestelmän suunnittelu Projektisuunnittelun vaiheet 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 • 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 Määrittely Suunnittelu Toteutus Testaus Vaihe Vaatimus- määrittely Projektin- hallinta Aktiviteetti Vaatimusten keruu Vaatimusten priorisointi Vaatimusten analysointi Tehtävä
Ositus, esimerkki 2 Esitysohjelmisto Tietokanta Määrittelyn tarkennus Kohdetietokannan rakenteen suunnittelu Projektinhallinta Järjestelmätehtävät Kartta Lisätietokannan Projektisuunnitelman Versionhallinta ja Määrittelyn rakenteen suunnittelu laadinta arkistointi tarkennus Kohdetietokantaolion Johtoryhmän palaverit Käyttöohjeen laadinta Karttojen luonti suunnittelu ja Raportointi Hankinnat Symbolien luonti pakkauskuvauksen Projektin Loppuraportin Koulutus Karttaosuuden laadinta laadinta Käyttöönottotuki suunnittelu ja Tietokannan Asennus pakkauskuvauksen 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 Sovellus Tekninen suunnittelu Määrittelyn tarkennus Arkkitehtuurikaavion laadinta Sovellusosuuden suunnittelu Vaatimusten laadinta Koodaus arkkitehtuuriosille Moduulitestaus Tekninen määrittely Projektisuunnitelman tarkennus
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”
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 teht. 1 teht. 4 teht. 7 teht. 2 teht. 5 teht. 3 teht. 6 aika
E 2 F 6 B 7 H 3 C 3 I 9 J 4 A 3 D 5 K 4 Toimintaverkon laskenta • tehtävän vapaa pelivara • kokonaispelivara • kriittinen polku
E 4 F 3 B 9 H 3 C 8 I 9 J 4 A 4 D 9 K 2 Toimintaverkon laskenta • 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ä- tiedot Työmäärä- arviointi Arviointi- menetelmät Toteutuneiden työmäärien raportointi TIETO- PANKKI Vertailu arvioihin Arviointi- menetelmien kehittäminen Vahvistus arvioille Poikkeamia Poikkeamien syiden analysointi EI ON Työmääräarvioiden kehittyminen
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.