Kun suunnitellaan projektin toteuttamista, niin eräs tärkeimmistä päätöksistä on se, toteutetaanko projekti vesiputousmallilla (waterfall) tai ketterillä menetelmillä (agile, scrum).
Pääasiassa projektin toteuttamiseen on karkeasti kaksi lähestymistapaa:
- Vesiputousmalli eli ns. perinteinen projektimalli
- Ketterät lähestymistavat, jotka ovat uudempia ja soveltuvat paremmin ohjelmistoprojekteihin
Seuraavaksi käsittelemme kahta edellä mainittua projektien lähestymistapaa tarkemmin. Kumpaa menetelmää projektissa kannattaisi käyttää.
Vesiputousmalli (Waterfall)
Vesiputousmalli soveltuu hyvin tuotantotekniikkaan, rakentamiseen sekä tarkasti ennustettaviin vaihe-vaiheelta eteneviin projekteihin. Vesiputousmalli on jaksotettu selviin eri vaiheisiin, joita ovat vaatimukset, suunnittelu, toteutus, testaus ja ylläpito. Seuraavaan projektin vaiheeseen mennään vasta kun edellinen vaihe on toteutettu.
Ohessa esimerkkejä tilanteista, missa vesiputousmalli toimii hyvin:
- Projektin vaatimukset ovat selvät ja tulevia mahdollisia muutoksia on suhteellisen vähän
- Projektilla on resursseja ja taitoa riittävästi toteuttamiseen
- Organisaatio on tehnyt aiemminkin vastaavia projekteja
- Asiakas luottaa projektiorganisaation kykyihin suorittaa projekti
- Projekti on ennustettava ja selkeä
Vesiputousmallia käyttävässä projektissa on selvät vaiheet, vaatimukset sekä projektin vaatimat teknologiat.
Ketterät menetelmät (Agile)
Ketteriä menetelmiä käyttävä projekti koostuu tiimistä, mikä tekee iteratiivisesti esimerkiksi ohjelmistoprojektia. Ideana on tuottaa arvoa asiakkaalle mahdollisimman nopeasti tietyn syklin välein (esimerkiksi muutamissa viikoissa).
Projekti koostuu 2-4 viikon sykleistä (ns. sprints), minkä tuloksena alusta alkaen on jo nähtävillä osittain valmista ohjelmistoa. Jokaisen syklin alussa sovitaan aina mitä seuraavaksi tehdään. Tämä mahdollistaa helpommin vaatimusten muutokset projektin edetessä.
Ketterät-menetelmät soveltuvat projekteihin kun:
- Organisaatio toivoo tuloksia ja palautetta nopeasti
- Projektin lopputuloksesta ei aluksi ole riittävää kuvaa
- Projektissa intohimoinen tiimi ja asiakas tukena
- Panos/hyöty-suhde vaihtelee projektin edetessä
- Projektissa voidaan yllättäen vaatia jotain erikoisosaamista
Projekti edetessä voidaan seurata helposti ja näyttää konkreettisia tuloksia asiakkaalle. Muutoksia voidaan tehdä sykleissä ja jopa päivittäinkin. Ketterissä projekteissä edellytetään kehitystiimin ja asiakkaan tiivistä yhteistyötä.