Vesiputous lässyn lässyn
Viime aikoihin asti ohjelmistokehitystä on tehty lähinnä vesiputousmallilla, jossa projekti ensin määritellään, sitten suunnitellaan, sitten toteutetaan, testataan ja luovutetaan asiakkaalle. Malli on raskas ja epäkäytännöllinen. Koska asiakas on mukana vain alussa ja lopussa, hänellä ei ole kontrollia projektiin, ja alun määrittelyssä tehtyjä virheitä ei voida enää korjata.

Kuulostaako tutulta? Kaikkihan haukkuvat nykyään vesiputousmallia, ja scrum on päivän sana.
Mutta ollaanpas nyt rehellisiä. Kuka on nähnyt vesiputousmallia oikeasti käytettävän jossain isossa projektissa? Siis ikinä? Softakehitystä aidosti ilman minkäänlaisia iteraatioita, ilman suunnitelmien korjaamista toteutuksen aikana ja ilman asiakkaan osallistumista kesken projektin?
Missä yhteydessä sellaista voisi oikeastaan edes tehdä? Eihän siitä tulisi mitään.
Totuus onkin, että vesiputousmallia ei ole tarkoitettukaan toteuttettavaksi. Se on oikeastaan referenssimalli, joka listaa asiat joita pitää jossain vaiheessa projektia tehdä.
Vesiputousmallin esitteli Winston W. Royce vuonna 1970 artikkelissaan Managing the development of large software systems. Yllä oleva klassinen vesiputouskaavio on samasta artikkelista. Heti kuvan jälkeen seuraava lause on “I believe in this concept, but the implementation described above is risky and invites failure.”
Loppuosan artikkelistaan Royce käyttääkin sen selittämiseen, miksi tämä hänen olkinukeksi luomansa prosessimalli ei ole realistinen ja miten asiat oikeastaan pitäisi tehdä. Kuvaus sisältää iteraatiota ja asiakkaan aktiivista osallistamista joka vaiheessa. Ja myös melko raskaan dokumentaation, ei hän varsinaisesti ketterää mallia kuvaa.
Miksi vesiputousmallia sitten on esitelty vuosikymmeniä ohjelmistokehityksen vakiomallina, jos se ei ole edes tarkoitettu käytettäväksi sellaisenaan? Hyvä kysymys. Ehkä mallien toteuttamista ei otettu niin kirjaimellisesti, vaan oli tarkoitus osata soveltaa? Sitä voi olla vaikea ymmärtää, mutta äänestettiinhän joskus Kekkostakin. Se oli eri maailma.
Vastaavaan tapaan taloustieteessäkin käytetän yksinkertaistettuja malleja, joissa tehdään epätosiksi tiedettyjä oletuksia. Kaikki mallit ovat vääriä, mutta jotkut ovat hyödyllisiä. Kysymys ei olekaan siitä, kuvaako vesiputousmalli tai vaikka scrum softaprojektin tekemistä “oikein”, vaan siitä, auttaako malli meitä kiinnittämään huomiota oleellisiin kohtiin. Ja tässä vesiputousmalli on huono: se mahdollistaa jatkamisen tyytyväisenä eteenpäin aivan väärään suuntaan.
Oli miten oli, ketteriä menetelmiä ei ehkä kannattaisi enää markkinoida sillä, miten vesiputousmalli ei vastaa todellisuutta. Se olkinukke alkaa olla poltettu loppuun. Parempi puhua niiden hyödyistä sen sijaan.
Aiheesta enemmän myös täällä
Yhteystiedot
Ota yhteys ja kysy Codenton palveluista! Puhelin 040-729 2733, info[at]codento.comTagit
aamiaistilaisuus agile ajankohtaista amazon arkkitehtuuri avoin lähdekoodi aws c CAP cvs ec2 eucalyptus futurologia git google hadoop hajautetut järjestelmät java kirjat konsultointi mapreduce näin meillä ohjelmistotuotanto ohjelmointi ohjelmointikielet pilvi projektit python rekrytointi s3 scala scrum skaalautuvuuden abc skaalautuvuus startup subversion suorituskyky tapahtumat tiedostojen synkronisointi tietokanta vaatimusmäärittely verkkopalvelut versionhallinta virtualisointi välimuistiArkisto
- helmikuu 2012
- tammikuu 2012
- joulukuu 2011
- marraskuu 2011
- lokakuu 2011
- huhtikuu 2011
- maaliskuu 2011
- helmikuu 2011
- tammikuu 2011
- joulukuu 2010
- marraskuu 2010
- lokakuu 2010
- syyskuu 2010
- elokuu 2010
- heinäkuu 2010
- kesäkuu 2010
- toukokuu 2010
- huhtikuu 2010
- maaliskuu 2010
- helmikuu 2010
- tammikuu 2010
- joulukuu 2009




