Sivusto on suunniteltu XHTML & CSS-yhteensopiville selaimille. Suosittelemme selaimen päivittämistä uudempaan versioon.
16.10.2006
Agile-menetelmillä pyritään maksimoimaan ohjelmistoinvestoinnista saatava hyöty.
Timo Lukumaa,
operatiivinen johtaja
Agile-menetelmät kokoavat parhaita tiimityöskentely- ja johtamiskäytäntöjä helposti käyttöönotettavaksi ja toimivaksi paketiksi. Niiden käyttö on kasvanut parissa vuodessa räjähdysmäisesti. Agile-menetelmien käytöstä on olemassa paljon käytännön kokemuksia ja nyt myös tutkimustuloksia, jotka osoittavat niiden toimivuuden (keskustelua esimerkiksi täällä).
Ohjelmistokehitysprojektissa on aina käytössä rajalliset resurssit. Agile-menetelmillä resurssit pyritään suuntaamaan sinne, missä niistä saadaan paras hyöty. Se tarkoittaa panostamista liiketoiminnan kannalta tärkeimpiin ominaisuuksiin, ja toisaalta kaiken turhan tekemisen välttämistä. Tämä edellyttää avointa ja tiivistä kommunikaatiota asiakkaan kanssa. Parhaimmillaan asiakas toimii kuin osana kehitystiimiä.
Agile-menetelmiä käytettäessä ohjelmistoprojektin riskejä pystytään hallitsemaan paremmin kuin perinteisiä menetelmiä käytettäessä. Esimerkiksi liiketoiminnallisesti tärkeimmät ja riskipitoisimmat toiminnallisuudet toteutetaan ensin. Agile-menetelmien tehokkuus perustuu projektin aikana saatavaan välittömään palautteeseen. Uuteen tietoon ja muutoksiin voidaan reagoida nopeasti ja hallitusti.
Kolmas keskeinen piirre Agile-ohjelmistoissa on laatu. Laatua ei voi lisätä ohjelmistoon jälkikäteen, ja kaikkein kustannustehokkainta onkin rakentaa laatua alusta pitäen. Laatu toteutaan käytännössä esimerkiksi testivetoista kehitystä eli TDD:tä hyödyntämällä.
Agile-menetelmissä käytännön työ tapahtuu pienissä, asiantuntevissa ja itseorganisoituvissa tiimeissä, joille annetaan valtaa ja vastuuta tekemisestään. Lähtökohtaisesti ihmiset haluavat tehdä asiat oikein ja olla hyviä työssään. Kokeneet asiantuntijat turhautuvat, jos asioita tehdään tehottomasti tai turhaan, esimerkiksi pelkästään prosessin muotoseikkojen takia. Agile-menetelmissä tiimi itse pyrkii löytämään kehitystyötä haittaavat pullonkaulat ja tehottomuudet ja siten parantamaan toimintaansa. Siksi ne vaativatkin toimiakseen motivoituneet ja kokeneet tekijät.
Agile-menetelmät eivät ole valmis paketti, jonka voi vain ottaa käyttöön, vaan ne vaativat aina sovittamista ympäröivään organisaatioon. Agile-menetelmissä ei optimoida pelkästään ohjelmistokehitystä vaan koko tuotantoketjua. Haasteena on usein se, että yrityksen muu organisaatio on tottunut perinteisiin toimintatapoihin.
Ohjelmistotuotanto on luonteeltaan ennen kaikkea uustuotekehitystä. Perinteisesti ohjelmistotuotantoon on pyritty soveltamaan massatuotannon kaltaisia prosesseja, mutta huonoin tuloksin. Agile-menetelmät eivät ole hopealuoti, joka ratkaisisi ohjelmistotuotannon ongelmat, mutta ne huomioivat ohjelmistokehityksen luonteen perinteisiä menetelmiä paremmin. Lisäksi ne tuovat Lean-ajattelun tavoin toiminnassa olevat tehottomuudet näkyviksi. Näkyvyyden ansiosta toimintaa voidaan parantaa, ja tästä Agilessa on loppujen lopuksi kyse – halusta tehdä asiat paremmin.
Timo Lukumaa, operatiivinen johtaja
Timo on soveltanut Scrum-menetelmää vuodesta 2003 lähtien, ja on yksi Agile-menetelmien Suomen pioneereja.
Agile eli ketterä ohjelmistokehitys on kattotermi, ajattelutapa ja filosofia. Käytännössä Agile-menetelmillä tarkoitetaan Agile-prosesseja, kuten Scrum, XP, Crystal ja FDD sekä XP-käytäntöjä kuten TDD ja Continuous Integration.
Agile-menetelmissä toteutustyö tehdään lyhyissä, 1–4 viikon kehityssykleissä, joissa syntyy valmista, toimivaa ja testattua toiminnallisuutta. Tulokset esitellään joka syklin jälkeen, jolloin ohjelmiston tulevilta käyttäjiltä saadaan palautetta, joka perustuu toimivaan ohjelmistoon eikä paperispekseihin.
Agile-menetelmien tärkeimpiä ominaispiirteitä: