Pino teknisiä kirjoja

Osaaminen on jatkuvaa oppimista

Uskomme menetelmiin, jotka tukevat oppimista, kommunikointia ja järjestelmällistä tiimityöskentelyä. Menetelmiin, jotka auttavat meitä tekemään työmme paremmin, nopeammin ja harhailematta sivupoluilla.

Näillä sivuilla asiantuntijamme jakavat kokemuksiaan ja näkemyksiään eri teknologioista ja menetelmistä.

Artikkelit

Reaktor Twitter

Ketterät eli Agile-menetelmät

Ketterillä menetelmillä parempia tuloksia

Ketteryydestä puhuttaessa on hyvä erottaa yritystason ja liiketoiminnan ketteryys sekä ohjelmistokehityksessä käytetyt Agile- eli ketterät menetelmät. Yritystason ja liiketoiminnan ketteryydellä tarkoitetaan kykyä reagoida nopeasti ja tehokkaasti muutoksiin markkinoilla sekä yrityksen kykyä uudistua ja oppia. Aihepiiriä sivuaa Hermanni Hyytiälä Vanguard ja systeemiajattelu –kirjoituksessaan.

Ohjelmistokehityksessä ketterät menetelmät on vakiintunut termi kuvaamaan joukkoa kehitysprojekteissa käytettäviä menetelmiä. Tämä artikkeli keskittyy näihin.

Ketterissä menetelmissä parhaita tiimityöskentely- ja johtamiskäytäntöjä on koottu helposti käyttöönotettavaan pakettiin. Menetelmät ovat laajalti käytössä sekä Suomessa että maailmalla. Muun muassa Google, Microsoft ja Facebook käyttävät ketteriä menetelmiä omassa ohjelmistokehityksessään.

Palaute ja lisääntynyt ymmärrys parantavat ohjattavuutta

Ohjelmistoprojektissa on aina käytössä rajalliset resurssit. Ketterillä 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ä.

Ohjelmistoprojektin edetessä ymmärrys lisääntyy ja vaatimukset tarkentuvat. Kaikkea ei voi etukäteen tietää. Uusi järjestelmä voi esimerkiksi muuttaa loppukäyttäjien työnkuvaa tavalla, jota on mahdoton ennustaa. Teknologiat ja markkinat voivat muuttua projektin aikana. Ketterät menetelmät on suunniteltu tukemaan ohjelmistokehitystä nimenomaan muuttuvassa ympäristössä, ja ne mahdollistavat nopean reagoimisen parempaan tietoon ja ymmärrykseen vaatimuksista.

Ketteriä 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. Näin saadaan jo aikaisessa vaiheessa ymmärrys riskien vaikutuksista ja halutun toiminnallisuuden toteutusmahdollisuuksista.

Menetelmien tehokkuus perustuu projektin aikana saatavaan välittömään palautteeseen sekä jatkuvaan ohjaukseen ja oppimiseen. Uuteen tietoon ja muutoksiin voidaan reagoida välittömästi, jolloin projekti pysyy oikeilla raiteilla. Toimintatapojen jatkuva kehittäminen on ketteryyden ydin.

Ketterissä menetelmissä käytännön työ tapahtuu asiantuntevissa ja itseorganisoituvissa tiimeissä. Tiimi pyrkii löytämään kehitystyötä haittaavat pullonkaulat ja tehottomuudet ja parantamaan toimintaansa. Johdon tehtävänä on tukea organisaatiota ja tiimejä luomalla puitteet tehokkaalle toiminnalle.

Johdon ja liiketoiminnan edustajien vastuulla on tuoda liiketoiminnallinen näkemys, kirkastaa tuotevisio ja varmistaa säännöllisesti, että kaikilla on yhteinen päämäärä.

Ketterät menetelmät eivät ole valmis resepti, jota voi sellaisenaan noudattaa, vaan ne vaativat aina sovittamista ympäröivään organisaatioon. On tärkeää optimoida koko arvoketjua ja tuotteen elinkaarta, ei pelkkää ohjelmistokehitystä.

Toimiva tuote on edistymisen mittari

Toteutustyön aikana syntyy jatkuvasti valmista, toimivaa ja testattua toiminnallisuutta. Uusi toiminnallisuus esitellään säännöllisesti esimerkiksi tuotteen omistajille, käyttäjille ja muille sidosryhmille. Uusi toiminnallisuus viedään parhaimmillaan tuotantoon välittömästi. Näin saadaan jatkuvasti palautetta, joka perustuu toimivaan ohjelmistoon, ja toimintaa voidaan suunnitella parhaan mahdollisen tiedon pohjalta.

Ketteriä menetelmiä käytettäessä projektin ennustettavuus ja läpinäkyvyys paranevat, koska kaikilla projektin osapuolilla on aina todelliseen faktaan perustuva tieto projektin tilasta. Työntekijöiden sitoutuminen oman työnsä tuloksiin ja laatuun kasvaa: he voivat vaikuttaa siihen, miten asioita tehdään ja näkevät, miten heidän työnsä vaikuttaa kokonaisuuteen.

Reaktor ja ketterät menetelmät

Olemme käyttäneet ketteriä menetelmiä pian kymmenen vuoden ajan. Matkan varrella olemme oppineet paljon.

Pelkän ohjelmistokehityksen optimoinnin sijasta onnistuminen vaatii koko arvoketjun tarkastelua ja optimointia. Ohjelmistosuunnittelun lisäksi yhtä lailla tärkeässä osassa ovat niin konseptointi, määrittely, käyttöliittymäsuunnittelu kuin laadunvarmistuskin. Liiketoiminnan edustajien on oltava kehitystyössä tiiviisti mukana. Kehitystyötä pitää ohjata liiketoiminnan ja käyttäjien tarpeiden pohjalta. Tuotevision on oltava jatkuvasti kirkas, ja kaikkea toimintaa pitää tarkastella ja suunnitella riittävän pitkällä aikavälillä. Kaikkien osa-alueiden saumaton yhteispeli on onnistumisen ydin.

Reaktorille ketteryys on toimintamalli, joka mahdollistaa toiminnan jatkuvan kehittämisen. Tästä Agilessa on loppujen lopuksi kyse – halusta tehdä asiat paremmin.

Timo Lukumaa lähikuvassa

Timo Lukumaa, operatiivinen johtaja

Timolla on 15 vuoden kokemus IT-alan eri tehtävistä, kehittäjästä projektipäällikköön. Häntä kiinnostavat hyvän softan tekemisen lisäksi, miten organisaatiot voivat tuottaa paremmin ohjelmistoja ja luoda uusia menestyviä palveluita. Hänen sydäntään lähellä on myös se, millaisessa työympäristössä ihmiset viihtyvät ja voivat parhaiten kehittyä.