Ketterä kehittäminen - agile developement
Kirjoittanut: Jarkko Uro, L8352
Ketterä kehittäminen on ideaali mallista, jossa prosessi ei ole kiveen hakattu. Prosessi elää tuotannon aikana ja saattaa ottaa jopa hyvin radikaaleja uusia suuntia, jos päädytään yhteistyössä asiakkaan kanssa siihen, että tuote ei ole menossa todellisen käyttäjän kannalta toivottuun suuntaan. Ketterässä kehittämisessä tärkeää onkin, että tilaaja saadaan aktiiviseksi osaksi prosessia myös etenkin kehitysvaiheessa.
Vesiputousmalli
Ketterää kehittämistä voidaan myös määritellä sitä kautta, mitä se ei ole. Ennen ketterän kehittämisen tuotantomenetelmää ohjelmistoprojektit toteutettiin usein vesiputousmallin mukaisesti. Vesiputousmallissa projekti etenee yksiviivaisesti suunnitteluvaiheesta tuotteen luovuttamiseen ja ylläpitoon.
Etenkin suurissa projekteissa vesiputousmalli tuottaa ongelmia. Seuraavat haasteet piinaavat edelleen useita ohjelmistotuotantoyrityksiä:
- Suunnitteludokumentaatio saattaa olla niin monimutkainen, ettei kukaan ole enää täysin tietoinen siitä, mitä ollaan tekemässä. Saattaa esimerkiksi käydä niin, ettei tilaajataho ole ymmärtänyt, mitä sunnitelmiin on kirjattu. Jos taas tilaaja on mukana kehitysvaiheessa, hän pääsee jatkuvasti seuraamaan, minkälaiseksi tilattu tuote on muodostumassa.
- Koska tuotteen tilannut taho ei ole jatkuvasti mukana kehitystyössä, saattaa vuosia kestänyt toteutus ajautua sellaiseen tilaan, ettei kukaan loppuenlopuksi tarvitse tuotetta.
- Pitkissä projekteissa tilaajan tarpeet saattavat muuttua ennen kuin ohjelmisto on edes valmis. Jos taas tilaaja saadaan mukaan ketterän kehityksen ideaalin mukaisesti myös kehitysvaiheeseen, tällaiselta ongelmalta vältytään.
Tuote, joka vastaa todellista tarvetta -- ei ainostaan vaatimusmäärittelydokumentaatiota
Ohjelmistotuotannon suurimpia haasteita on tuottaa sellainen tuote, joka vastaa joko asiakkaan tai sitten käyttäjäkunnan todellisia tarpeita. Ketterässä kehityksessä pyritään vastaamaan tähän haasteeseen.
Ketterän kehityksen manifestin mukaan korostetaan seuraavia seikkoja:
- Yksilöitä ja vuorovaikutusta -- ei niinkään prosesseja ja erilaisia työkaluja.
- Toimiva ohjelmista -- ei niinkään kaikenkattavaa dokumentaatiota.
- Yhteistyötä asiakkaan kanssa -- ei niinkään yksisilmäistä sopimusneuvotteluihin panostamista.
- Muutokseen sopeutumista -- ei niinkää orjallista suunnitelman seuraamista.