Projektinhallinta on läpileikkaava teema, joka kulkee koko ohjelmistokehitysprosessin läpi esitutkimuksesta ylläpitoon. Projektinhallinta varmistaa että ohjelmistoprojekti toteutetaan suunnitellusti, aikataulussa, budjetissa ja vaatimusten mukaisesti.
Ohjelmistoprojekti eroaa muista projekteista siinä, että lopputuote on abstrakti ja monimutkainen, vaatimukset voivat muuttua projektin aikana, ja teknologinen kehitys on nopeaa. Näistä syistä ohjelmistoprojektien hallintaan on kehitetty erityisiä menetelmiä ja käytäntöjä.
Projektinhallinta koostuu useista osa-alueista, jotka kaikki ovat tärkeitä projektin onnistumisen kannalta:
Laajuudenhallinta määrittelee mitä projektiin kuuluu ja mitä ei. Se sisältää vaatimusten määrittelyn, työn jakamisen osiin (WBS, Work Breakdown Structure) ja muutosten hallinnan. Laajuuden hallinta estää projektin laajentumisen hallitsemattomasti (scope creep).
Aikatauluhallinta varmistaa että projekti valmistuu sovitussa ajassa. Se sisältää:
Kustannushallinta varmistaa että projekti pysyy budjetissa. Se sisältää:
Laatuhallinta varmistaa että tuotettu ohjelmisto täyttää asetetut laatuvaatimukset. Se sisältää laatusuunnittelun, laadunvarmistuksen ja laadunvalvonnan. Laatustandardeja ovat esimerkiksi ISO 9001 ja CMMI (Capability Maturity Model Integration).
Resurssihallinta varmistaa että projektilla on käytössään tarvittavat resurssit oikeaan aikaan. Resursseja ovat henkilöstö, laitteet, työkalut ja tilat. Resurssihallinta sisältää resurssisuunnittelun, resurssien hankinnan ja resurssien tasapainotuksen.
Riskienhallinta tunnistaa ja hallitsee projektiin liittyviä riskejä. Prosessi sisältää:
Viestintähallinta varmistaa että tieto kulkee tehokkaasti projektin sisällä ja sidosryhmien välillä. Se sisältää viestintäsuunnitelman laatimisen, säännölliset palaverit, raportointikäytännöt ja dokumentaation jakamisen.
Ohjelmistoprojektien hallintaan on kehitetty erilaisia menetelmiä, jotka sopivat eri tyyppisiin projekteihin.
Vesiputousmalli on perinteinen, peräkkäinen prosessimalli, jossa projekti etenee vaihe vaiheelta: esitutkimus → määrittely → suunnittelu → toteutus → testaus → käyttöönotto → ylläpito. Jokainen vaihe valmistuu ennen seuraavaan siirtymistä.
Vesiputousmallin edut:
Vesiputousmallin haitat:
Ketterät menetelmät ovat iteratiivisia ja inkrementaalisia lähestymistapoja, jotka korostavat joustavuutta, asiakasyhteistyötä ja nopeaa reagointia muutoksiin. Ketterät menetelmät perustuvat Agile Manifestoon (2001), joka määrittelee neljä perusarvoa:
Scrum on suosituin ketterä menetelmä. Se perustuu lyhyisiin iteraatioihin (sprintteihin), jotka kestävät tyypillisesti 1-4 viikkoa.
Scrumin roolit:
Scrumin seremoniat:
Scrumin artefaktit:
Kanban visualisoi työnkulun ja rajoittaa keskeneräisen työn määrää (WIP, Work In Progress). Kanban-taululla on sarakkeita (esim. Backlog, To Do, In Progress, Testing, Done), ja tehtävät siirtyvät sarakkeesta toiseen. Kanban ei käytä kiinteitä iteraatioita, vaan työ virtaa jatkuvasti.
XP on ketterä menetelmä, joka korostaa teknisiä käytäntöjä:
Projektinhallinnan dokumentaatio on tärkeää projektin onnistumisen ja seurannan kannalta.
Projektisuunnitelma on keskeisin projektinhallintadokumentti. Se sisältää:
Projektin edistymistä seurataan säännöllisillä raporteilla:
Projektinhallintaan on saatavilla lukuisia työkaluja, jotka helpottavat suunnittelua, seurantaa ja yhteistyötä:
Projektin onnistumista mitataan useilla kriteereillä:
Projektin päätteeksi järjestetään usein projektin päätöspalaveri (post-mortem, lessons learned), jossa arvioidaan mitä onnistui ja mitä voisi parantaa seuraavissa projekteissa.