Osa 3 Projektinhallinnan elinkaari
Luku 5 Projektin elinkaari Johdanto Kaikilla it-organisaatioilla täytyy olla tarkkaan suunniteltu kehys, johon ne voivat sijoittaa prosesseja, toimintaperiaatteita ja toiminnan suuntaviivoja. Ohjelmistokehityksessä tuota kehystä kutsutaan elinkaareksi. Ohjelmistokehityksen elinkaari (SDLC, software development lifecycle) määrittää tietojärjestelmien rakentamiselle toistettavan prosessin, jossa yhdistyvät suuntaviivat, metodologiat ja standardit. Elinkaari tuo arvoa organisaatiolle vastaamalla tiettyihin liiketoiminnan asettamiin tarpeisiin ohjelmistokehitysympäristössä. Elinkaariprosessin käyttöönotto auttaa projektipäälliköitä minimoimaan järjestelmäkehityksen riskejä, vähentämään toiminnan päällekkäisyyksiä ja lisäämään tehokkuutta. Elinkaari kannustaa myös uudelleenkäyttöön, uudelleensuunnitteluun ja, mikä tärkeintä, kustannusten vähentämiseen. Tarkoitus Elinkaaren tarkoitus on määritellä yrityksen ohjelmistokehitysprosessin aktiviteetit ja prosessin suhde eri metodologioihin.
58 5. Projektinhallinnan elinkaari Kirjan tämä osa on suunnattu nykyisille ja tuleville projektipäälliköille käytettäväksi ohjelmistokehitysprojekteissa. Kirjan tässä osassa kuvaillut elinkaari ja prosessit muodostavat yrityksen ohjelmistokehityksen standardimenettelytavat. Tausta Ohjelmistokehityksen elinkaari kulminoituu työssä, jonka projektipäälliköt tekevät määritellessään omalle toiminnalleen parhaita käytäntöjä. Elinkaaren suunnittelutyön tulokset näkyvät yrityksen kyvyssä hyödyntää vahvuuksiaan, kun se ponnistelee tuottaakseen jatkuvasti huippuluokan ohjelmistoja. Ohjelmistokehityksen elinkaari on prosessi, ja yrityksen ohjelmistokehitysorganisaatiot ovat prosessin omistajia. Tavoitteet Ohjelmistokehityksen elinkaaren päätavoitteita ovat yrityksen it-kustannusten laskeminen, tuotantosyklin keston ja tuotteiden markkinoilletuloajan lyhentäminen ja tuotettujen tietojärjestelmien laadun parantaminen. Elinkaari kuvaa yksityiskohtaisesti niitä aktiviteetteja ja menettelytapoja, joita projektitiimi noudattaa uusien ja olemassaolevien tietojärjestelmien ja niiden sovellusten suunnittelussa, rakentamisessa ja käyttöönotossa. Ohjelmistokehityksen elinkaaren muina tavoitteina on vähentää projektien kustannuksia minimoimalla ohjelmistojen uudelleentyöstäminen ja ylläpito lyhentää tuotantosyklin kestoa tarjoamalla käyttöön johdonmukaisen ja toistettavan prosessin parantaa ohjelmistojen laatua tuottamalla ylivertaisia ja asiakkaiden tarpeiden mukaisia ratkaisuja auttaa projektipäälliköitä johtamaan projekteja tehokkaammin tarjota puitteet projektitiimin jäsenten, kehityskumppaneiden ja alihankkijoiden kanssa toimimiselle.
5. Projektinhallinnan elinkaari 59 Kuva 5-1 Ohjelmistokehityksen elinkaari Yleiskuvaus Kuvassa 5-1 on esimerkki ohjelmistokehityksen elinkaaresta. Elinkaari tarjoaa selvästi määritetyn ja toistettavan prosessin ohjelmistojen kehittämistä varten. Yllä oleva prosessikaavio kuvaa projektin vaiheita ja jokaisen vaiheen välietappeja. Kuten kuvasta käy ilmi, vaiheet seuraavat toisiaan ja/tai tapahtuvat samanaikaisesti. Ohjelmistokehityksessä on kuusi vaihetta: 1. Projektisuunnittelu 2. Analysointi 3. Suunnittelu 4. Rakennus 5. Testaus 6. Käyttöönotto
60 5. Projektinhallinnan elinkaari Kolme seuraavaa lisävaihetta suoritetaan samanaikaisesti kuuden edellämainitun kanssa: 1. Testauksen suunnittelu ja valmistelu 2. Koulutuksen suunnittelu 3. Käyttöönoton suunnittelu Testauksen suunnittelu- ja valmisteluvaihe alkaa suunnitteluvaiheen alussa ja loppuu ennen testausvaiheeseen siirtymistä. Koulutuksen suunnitteluvaihe alkaa suunnitteluvaiheen alussa, ja siitä tulee testausvaiheen resurssi. Käyttöönoton suunnittelu- ja valmisteluvaihe alkaa suunnitteluvaiheen alussa ja loppuu ennen käyttöönottovaiheeseen siirtymistä. Kuvassa 5-2 esitetään eri vaiheiden sisältämät aktiviteetit ja niiden väliset suhteet elinkaariprosessissa. Projektikaaviossa esitetään myös jokaisessa vaiheessa aikaansaadut tuotteet. Jokaista edellä mainittua vaihetta käsitellään yksityiskohtaisemmin jäljempänä. Ohjelmistokehityksen elinkaaren lisäksi it-organisaation täytyy valvoa projektinhallinta-, julkistuksen/muutostenhallinta- ja tuotantoympäristöjä. Nämä ovat lisäprosesseja, jotka ovat kiinteästi sidoksissa elinkaareen. Näitä prosesseja ei käsitellä tarkemmin tässä kirjassa, ja niiden hallitsemiseen täytyy kehittää ja laatia erilliset mallit. Elinkaariprosessin hallinta Sidosryhmät Termi sidosryhmä tarkoittaa projektin osapuolia, jotka hyötyvät sen lopputuloksesta. Elinkaariprosessin suunnittelussa, hallinnassa ja toteuttamisessa mukana olevia sidosryhmiä ovat projektipäälliköt ja -tiimit
AKTIVITEETIT Ohjelmistokehityksen elinkaaren aktiviteetit PÄÄVAIH- TEET Projektisuunnittelu Analysointi Suunnittelu Rakentaminen Testaus Käyttöönotto Projektin käynnistäminen ja organisointi Projektin määrittely ja suunnittelu Johdon katselmus ja hyväksyminen Käyttäjävaatimukset Vaatimusanalyysi Laatuvaatimukset Käyttöliittymän suunnittelu Tekninen suunnittelu Laadun todentaminen Testauksen suunnittelu ja valmistelu Käyttöohjeet ja koulutus Käyttöönoton suunnittelu ja valmistelu Ohjelmointi Moduulisuunnittelu Integrointitestaus Hyväksymistestaus Toimipisteiden muunto 5. Projektinhallinnan elinkaari VAIHETUOTTEET Taloudellinen perustelu Käsitteellinen suunnitelma Analysointi Suunnittelu Rakentaminen Projektisuunnittelu Projektisuunnitelma Liiketoimintaprosessin prototyyppi Vaatimusmääritykset: Tietomalli Tapahtumamalli Prosessimali Laatuvaatimukset Koodi Työyksiköt Tietokannan testaus Suunnitteludokumentti: Sovellusarkkitehtuuri Sovellusvirta Tietokantasuunnitelma Käyttöliittymäsuunnitelma Työnkulkukaavio Käyttäjädokumentaatioluonnos Yksikkö/jonotestauksen tulokset Testauksen suunnittelu ja valmistelu Automatisoidun ja manuaalsen testauksen menetelmät Testimalli Testaus Käyttöohjeet ja koulutus Käyttöohjeet Koulutussuunnitelma Koulutusmateriaali Käyttäjädokumentaatio Käyttöönoton suunnittelu Käyttöönotto Muutospyynnöt Muunnokset Testaussuunnitelma Testauksen tulokset Muunnossuunnitelma Muunnettu tieto Tiedonmuunmosprosessit Käyttöönottosuunnitelma Jälkikatselmusdokumentti Kuva 5-2 Ohjelmistokehityksen elinkaaren aktiviteetit ja vaihetuotteet 61
62 5. Projektinhallinnan elinkaari sovelluskehityksestä vastaava johto ylin it-johto it-arkkitehtuurin suunnittelusta ja ohjelmiston elinkaariprosessista vastuussa olevat organisaatiot asiakkaat, kiinnostuneet loppukäyttäjät. Yleisö Ohjelmistokehityksen elinkaaren yleisöä ovat projektipäälliköt edellä kuvatut sidosryhmät yrityksen kaikki sovelluskehitysorganisaatiot yrityksen it-tuesta ja -toiminnoista vastaavat organisaatiot (käyttäjätuki, verkkotukipalvelut) yrityksen koulutusorganisaatio yrityksen ulkoiset kumppanit (konsultit, alihankkijat, valmistajat) ylin ja operatiivinen it-johto. Roolit ja vastuut Elinkaariprosessin käyttöönoton edistämistä ja toimeenpanemista varten perustetaan toteutusryhmä, jonka vastuulla on huolehtia prosessin käyttöönotosta koko yrityksessä. Ryhmän tehtäviin kuuluu elinkaariprosessista tiedottaminen, projektipäälliköiden tukeminen prosessiin liittyvissä kysymyksissä, elinkaariprosessin tehokkuuden seuranta sekä prosessin sisällön ja rakenteen ylläpito. Lisäksi ryhmä lisää elinkaariprosessiin uutta tietoa ja uusia käsitteitä saamansa palautteen pohjalta ja suunnittelee prosessin seuraavia versioita. Tarkistusprosessi Kaikki yrityksen eri it-organisaatioiden työntekijät voivat pyytää muutoksia tai ehdottaa parannuksia prosessiin.
5. Projektinhallinnan elinkaari 63 Vain jatkuvan kehittämisen kautta elinkaariprosessista tulee tehokas ja yritykselle lisäarvoa tuottava. Sidosryhmät kokoontuvat tarvittaessa tarkastelemaan prosessia uudelleen ja joko hyväksyvät tai hylkäävät ehdotetut muutospyynnöt tai antavat luvan tutkia niiden toteuttamista. Hyväksytyt korjaukset lisätään elinkaariprosessin seuraavaan versioon. Yrityksen eri sovelluskehitysorganisaatioiden projektipäälliköistä ja projektitiimien jäsenistä kootaan ryhmiä, joita pyydetään säännöllisesti osallistumaan prosessikatselmuksiin. Uudet julkistukset Julkistuksenhallintaa käytetään tarpeen mukaan, ja julkaisuaikataulu hyväksytään ja julkistetaan. Uusien prosessiversioiden julkaisu koordinoidaan sidosryhmissä. Viestintä Standardikehityksen elinkaaresta (SDL, standard development lifecycle) tiedotetaan koko organisaatiossa, liiketoiminta-alueiden tiimeissä ja yrityksen intranetsivuilla, ja sidosryhmille jaetaan painetut kopiot. Uusista julkistuksista ilmoitetaan sidosyhmille sähköpostitse tai kirjeitse, ja muille tieto välitetään yrityksen sisäisissä lehdissä, tiedotteissa sekä muiden sopiviksi katsottujen viestintämenetetelmien avulla. Osan 3 lukujen rakenne Kirjan tämä osa on jaettu elinkaariprosessin mukaisiin vaiheisiin, joissa tarkastellaan yksityiskohtaisemmin ohjelmistokehityksen elinkaaren eri komponentteja. Jokainen vaihe eli luku sisältää seuraavat kohdat: prosessikaavio: yksityiskohtainen prosessin kulku tarkoitus: vaiheen lyhyt kuvaus tavoitteet: vaiheen päättämiseen vaadittavat avainkomponentit aktiviteetit: vaiheen päättämiseen vaadittavat toimenpiteet roolit: vaiheen toteuttamisessa tarvittavat taidot
64 5. Projektinhallinnan elinkaari resurssit: vaiheen aloittamiseen tarvittavat komponentit tuotteet (vaihetuotteet): vaiheen aktiviteettien tulokset välietapit: tietyt vaiheen päättyessä ja/tai välittömästi vaiheen päätyttyä esiintyvät tapahtumat Vaiheiden tarkistuslistat Vaiheiden tarkistuslistat sisältävät vaiheiden hyväksymiskriteerit, joita käyttämällä voidaan varmistaa, että kaikki aktiviteetit on suoritettu. Tarkistuslistat helpottavat myös vaiheiden läpikäymistä ja katselmointia. Kussakin tarkistuslistassa määritetään tietyn vaiheen hyväksymiskriteerit. Projektipäälliköiden ja -tiimien pitäisi käyttää tarkistuslistoja projektin edistymisen seuraamiseen sekä yksittäisen vaiheen että koko projektin aikana. Näin varmistetaan, että laatukysymykset käsitellään ja ratkaistaan niiden sivuuttamisen tai lykkäämisen sijasta. Tarkistuslistoja tulisi käyttää pohjamäärittelynä, jota voidaan tarkentaa koskemaan projektin tiettyjä kysymyksiä ja tuotteita. Yksittäiset työtuotteet (vaihetuotteet) voivat siirtyä vaiheesta toiseen eri aikoina. Vaiheen katsotaan olevan valmis vasta sitten, kun kaikki työtuotteet ovat siirtyneet eteenpäin ja kaikki avoimet asiat on ratkaistu. Taulukossa 5-1 kuvaillaan tarkistuslistojen sisältämiä kohtia. Taulukko 5-1 Vaiheiden tarkistuslistat Kohta Muutospyynnön numero Julkistuksen numero Vaihetuotteet Kuvaus Tietoa tähän pakettiin liittyvästä muutospyynnöstä Sen julkistuksen nimi, johon tämä paketti liittyy Vaiheen hyväksymis- ja uuden vaiheen aloittamiskriteerit Merkitse jokaisen metodologian määrittämän vaihetuotteen kohdalle, onko se listalla (Kyllä) vai ei (Ei) tai että se ei ole käytettävissä tässä tilanteessa. Jos merkitset Ei tai Ei käytettävissä, selitä, miksi vaiheen katsotaan olevan valmis ilman vaihetuotetta. Kunkin projektin pitäisi lisätä kaikki omat vaihe tuotteensa tarkistuslistaan.
5. Projektinhallinnan elinkaari 65 Taulukko 5-1 Vaiheiden tarkistuslistat (jatkuu) Kohta Laadun tarkistuspisteet Kuvaus Tarvittavat tarkistuspisteet sen varmistamiseksi, että kaikki vaihetuotteet ovat valmiit ja oikeanlaiset. Merkitse, onko laatuvälietappi listalla (Kyllä) vai ei (Ei) tai että se ei ole käytettävissä tässä tilanteessa. Selitä, miksi vaiheen katsotaan olevan valmis ilman välietappia. Vaiheen aloittamiskriteerit tulisi tarkistaa aina ennen jokaista vaihetta. Vaikka edeltävien vaiheiden vaihetuotteet olisikin hyväksytty, tiimin pitäisi uuden vaiheen alussa tarkistaa ne laadun varmistamiseksi. Tämä on erityisen tärkeää käyttöönottovaiheessa, jonka aloittamiseksi vaaditaan kolmen eri vaiheen tuotteet. Kunkin projektin pitäisi lisätä kaikki projektikohtaiset välietapit tarkistuslistaan. Töiden tarkistuslista Avoimet asiat Hyväksyminen Lähettävä tiimi Lähettävä arkkitehti Luettelee projektin eri vaihetuotteet ja henkilön, joka on vastuussa yksittäisen tuotteen valmistamisesta. Valmistumispäivämäärä ja nimikirjaimet ilmaisevat, että tuote on valmis. Dokumenttiviite kertoo vaihetuotteen dokumentaation nimen ja sijainnin. Projektin tulisi lisätä avoimia asioita ja ongelmakohtia tarkastettaviksi sen varmistamiseksi, että ongelma-alueet käsitellään kattavasti. Tähän kohtaan voidaan kirjata avoimet asiat, jotka on otettu esille vaiheen hyväksymisestä neuvoteltaessa. Kun vaatimukset eivät ole täysin toteutuneet mutta yleinen mielipide puoltaa projektin siirtymistä seuraavaan vaihee seen, avoimiksi jääneet kohdat merkitään tähän. Tässä kohdassa pitäisi myös ehdottaa ongelman ratkaisuun määräaikaa ja vastuuhenkilöä. Vaihe on virallisesti hyväksytty vastasitten, kun kaikki osapuolet antavat suostumuksensa järjestelylle. Tässä kohdassa kaikki osapuolet ilmaisevat, että ne hyväksyvät vaiheen päätetyksi onnistuneesti ja että projektin pitäisi siirtyä seuraavaan vaiheeseen. Tiimin vetäjän tai päättyvästä vaiheesta vastuussa oleva päällikön allekirjoitus vahvistaa, että vaihe on valmis. Projektin tai vaiheen arkkitehdin allekirjoitus vahvistaa, että vaihe on valmis.
66 5. Projektinhallinnan elinkaari Taulukko 5-1 Vaiheiden tarkistuslistat (jatkuu) Kohta Vastaanottava tiimi Kuvaus Hyväksyminen ilmaisee, että vastaanottajat ovat saaneet valmiin paketin ja että kaikki avoimet asiat on käsitelty, siirretty edelleen ratkaistaviksi ja kirjattu muistiin ratkaisun tavoiteaikatauluineen. Avoimia asioita voivat olla projektin muut vaiheet, asiakas tai projektin tukija, tai muut järjestelmät, joiden täytyy liittyä uuteen järjestelmään. Vastaanottajilla on tarvittaessa oikeus kieltäytyä hyväksymästä saamaansa pakettia. LLPP - tuotematriisi LLPP-matriisissa (luo, lue, päivitä, poista) ristiintaulukoidaan ohjelmistokehityksen elinkaariprosessin aikana luodut vaihetuotteet. Kuvan 5-3 matriisi havainnollistaa tuotteen ja sen luomisesta, tarkistamisesta ja/tai päivittämisestä vastuussa olevien vaiheiden välistä suhdetta. Jokaisen tuotteen kuvaus löytyy sen vaiheen kohdalta, jonka aikana tuote luotiin. Matriisin avulla tuotteen kulkua voidaan seurata elinkaariprosessin eri vaiheissa.
5. Projektinhallinnan elinkaari 67
68 5. Projektinhallinnan elinkaari