Ketterä ohjelmistokehitys on ohjelmistomaailmassa vilisevä termi, joka paitsi kuulostaa trendikkäältä, tarjoaa myös erinomaiset edellytykset asiakkaan ja ohjelmistotalon yhteistyölle. Toiset suhtautuvat ketterään ohjelmistokehitykseen kuitenkin varauksella, sillä toisinaan mielikuva mallista on villi länsi, jossa ihmiset tekevät mitä haluavat ja jonka lopputulos on nähtävillä sitten ehkä joskus tulevaisuudessa. Tämä ei kuitenkaan voisi olla kauempana todellisuudesta. Ketterä ohjelmistokehitys nimenomaan tehostaa ohjelmistokehityksen prosessia sekä varmistaa asiakkaan kannalta laadukkaamman lopputuloksen.
Perinteisesti ohjelmistokehitys on noudattanut vesiputousmallia, jossa ohjelmiston kehitys- ja tuotantoprosessi etenee kronologisesti tietyssä järjestyksessä, josta ei poiketa. Usein näissä projekteissa määräävinä tekijöinä korostuvat aikataulu ja budjetti, mikä aiheuttaa jo ensimetreiltä haasteita laadukkaalle lopputulokselle. Alussa määritellyt tavoitteet ja toiveet nimittäin muuttuvat lähes poikkeuksetta matkan varrella, mutta muutoksiin on harvoin varattu riittävästi aikaa tai rahaa.
Ketterä ohjelmistokehitys luo tilaa innovaatioille, sillä suunnitelmia voidaan muuttaa joustavammin matkan varrella, kun tavoitteet ja tarpeet kirkastuvat. Jos koko ohjelmistokehitysprojekti määritellään tarkasti vesiputousmallin mukaisesti projektin alussa, on hyvin todennäköistä, että matkan varrella kohdataan ongelmia niin aikataulun kuin budjetinkin osalta.
Ketterä ohjelmistokehitys keskittyy lopputulokseen ja siihen, että asiakas saa mahdollisimman hyvää arvoa rahoilleen. Malli muuttaa huomattavasti asiakkaan roolia, tuoden mahdollisuuden vaikuttaa ohjelmiston kehitysprojektiin aivan uudella tasolla. Ketterässä ohjelmistokehityksessä asiakas ja kehitystiimi ovat aidosti samalla puolella, sillä molempien tavoitteena on luoda mahdollisimman toimiva ohjelmisto. Ketterässä mallissa vältytään turhalta syyttelyltä ja selvittelyltä siitä, ovatko ohjelmistoon tehtävät muutokset uusia tilauksia vai korjauksia, sillä koko ketterä kehitysmalli koostuu lyhyistä kokonaisuuksista, joiden pohjalta muutostilanteisiin on helppo reagoida.
Ketterän ohjelmistokehityksen malli jakaa ohjelmiston kehitysprojektin sprintteihin, jotka ovat yleensä viikosta neljään viikkoon. Jokaisen sprintin aikana valmistuu ennalta sovittu osio projektista, minkä jälkeen katsotaan projektin seuraavat askeleet. Jokaiselle sprintille määritellään erikseen aikataulu ja budjetti, minkä ansiosta malli on nimensä mukaisesti hyvin ketterä ja joustava. Asiakas pääsee vaikuttamaan tiiviisti siihen, mihin käytössä olevat resurssit kohdistetaan, mitkä ohjelmiston toiminnot priorisoidaan ja millainen lopputuloksesta tulee.
Sprinttien ansiosta aikataulu ja budjetti voidaan jakaa joustavasti projektin kannalta olennaisimpiin asioihin, mikä tehostaa koko kehitysprosessia. Sprinttien aikana kehitetyistä pienemmistä kokonaisuuksista muodostuu lopulta valmis ohjelmisto. Ketterä kehitysmalli korostaa sitä, ettei ole yhtä oikeaa tapaa saavuttaa haluttu lopputulos, vaan jokaista projektia tulee katsoa yksilönä.
Yksi ketterän ohjelmistokehityksen parhaimmista puolista asiakkaan kannalta on panostaminen laatuun. Projektin toteutus sprintteinä ja tavoitteiden onnistumisen jatkuva seuranta mahdollistavat sen, että ongelmakohdat huomataan ja niihin pystytään reagoimaan perinteistä mallia nopeammin. Valmis ohjelmisto toimii huomattavasti tehokkaammin, kun mahdolliset ongelmakohdat on osattu huomioida ajoissa.
Loppukäyttäjät vaativat nykyään yhä laadukkaampaa ja toimintavarmempaa lopputuotetta. Ketterä kehitysmalli on omiaan pysymään mukana nykypäivän salamavauhdilla tapahtuvassa teknisessä kehityksessä. Ennen ohjelmistolle saatettiin antaa käytön alkuongelmista huolimatta toinen ja kolmas mahdollisuus, mutta nykyään sen on vakuutettava heti tai käyttäjä siirtyy jo seuraavaan vaihtoehtoon. Perinteisissä kehitysmalleissa testaus jätetään aivan projektin loppuun, eikä aikatauluun ole välttämättä varattu riittävästi aikaa mahdollisille korjaustarpeille. Ketterässä mallissa ohjelmistoa testataan prosessin eri vaiheissa, jolloin moni ongelmakohta on huomattu, korjattu ja kehitetty paremmaksi ennen julkaisua. Näin valmis ohjelmisto on laadukkaampi ja toimintavarmempi perinteiseen jäykkään kehitysmalliin verrattuna.
Useimpia ohjelmistoprojektin tilaajia kiinnostaa luonnollisesti raha: mitä ohjelmistoprojekti maksaa? Kuinka voidaan varmistua, että budjetilla saadaan sellainen ohjelmisto, johon on tarve? Ketterä ohjelmistokehitys tehostaa ohjelmistoprojektin rahankäyttöä olennaiseen. Tiivis yhteistyö asiakkaan kanssa, jatkuva testaus ja selkeät sprintit mahdollistavat sen, että budjetti on mahdollista keskittää koko projektin ajan mahdollisimman olennaisiin asioihin. Tällöin rahaa ei kulu turhien ominaisuuksien hiomiseen, eikä projekti lähde kehittymään väärään suuntaan, jota joudutaan myöhemmin kalliisti korjaamaan.
Ketterä ohjelmistokehitys mahdollistaa ajan, rahan ja muiden resurssien hyödyntämisen juuri siihen osa-alueeseen, joka tuottaa tilaajalle eniten lisäarvoa. Tämän tyyppisessä ohjelmistokehityksessä keskitytään aina korkeimman prioriteetin kehityskohteisiin. Perinteisissä kehitysmalleissa katsotaan projektia enemmän yhtenä palana, jolloin eri osa-alueiden priorisointi jää vähemmälle. Tällöin on vaarana, että ensimmäiseksi tehdään pois helpot toiminnot, kun taas haastavammat ja enemmän riskiä kantavat asiat jäävät roikkumaan tai kiireessä hoidettaviksi projektin loppupuolelle. Haastavimmat osiot tulisi tehdä ensin, jotta tiedetään niiden vaikutus koko ohjelmistoon, aikatauluun, budjettiin ja kokonaisuuteen.
Oletko huomannut, kuinka monella meillä on tapana jättää asiat viime hetkeen? Tuleeko itsekin välillä tehtyä töitä yömyöhään deadlinea edeltävänä iltana, vaikka aikaa asioiden hoitamiselle olisi kyllä ollut aiemminkin? Ketterän ohjelmistokehityksen sprintit jaottavat kiirettä perinteistä mallia paremmin, sillä pieniä kokonaisuuksia valmistuu jatkuvasti. Tämä on tehokkaampi tapa saada valmista verrattuna siihen, että kokonaisuutta koodataan kiireessä vain hetki ennen deadlinea.
Yksi iso ongelma ohjelmistokehityksen projekteissa on avainhenkilöiden vaihtuminen projektin aikana. Vastuuhenkilöiden vaihtuessa jotain tietoa jää aina välittämättä eteenpäin, mikä voi vaikuttaa isostikin projektin onnistumiseen. Ketterän ohjelmistokehityksen sprinttimalli mahdollistaa sen, että vuorovaikutus asiakkaan ja kehitystiimin kanssa on tiiviimpää. Tällöin kokonaisuus on selkeämpi kaikille. Ketterä malli korostaa myös perinteistä mallia enemmän tiimiä, ja usein ketterään kehitystiimiin kuuluukin useita jäseniä. Näin kehitysprojektin kokonaisuus ei jää vain yhden henkilön harteille.
Ketterää kehitysmallia voi hyödyntää ohjelmistokehityksen lisäksi missä tahansa kehitystyössä. Menetelmälle tärkeimpiä avainkohtia ovat laadukas lopputulos, tiivis yhteistyö asiakkaan kanssa sekä mahdollisuus reagoida muutoksiin nopeasti. Nopeus, kommunikaatio ja joustavuus ovat ketterän mallin parhaimpia puolia. Malli sopii erityisen hyvin tilanteisiin, joissa kehityskohteen tarpeet ja vaatimukset eivät ole projektin alussa vielä täysin selkeitä. Ketterä malli on omiaan myös silloin, kun kehityskohdetta halutaan muokata joustavasti matkan varrella kerätyn käyttäjäpalautteen pohjalta.
Ohjelmistoprojekteista puhuttaessa kannattaa pitää mielessä, etteivät ne ole oikeastaan koskaan valmiita. Aina löytyy kehitettävää ja uudistettavaa. Ketterällä mallilla ohjelmiston ensiversio saadaan nopeasti julkaistua, minkä jälkeen sitä voidaan lähteä helposti ja kustannustehokkaasti jatkokehittämään!
Trineria on kehittänyt oman ketterästi skaalautuvan teollisen internetin alustan, Trineria Industrial Platformin.
Nadia Sabour on liittynyt Trinerian tiimiin myynti- ja markkinointijohtajana (CSMO).
Anna-Leena Poukkanen on aloittanut HR-Managerina Trinerialla.
Trineria Oy:n uusi laatujärjestelmä täyttää ISO 9001:2015 -standardin vaatimukset.
Digitaalinen partiolaisaloite on työkalu kehittämisaloitteiden keräämiseen ja käsittelyyn.
Ohjelmistokehityksen hankinta onnistuu helpommin, kun huomioi muutamia asioita heti alussa. Kokosimme kuusi käytännönläheistä askelta yrityksen ostoprosessia helpottamaan.
IteWikin juttusarja esittelee ohjelmistoalan yrityksiä ja ihmisiä niiden takana. Räätälöityjä teollisen Internetin ohjelmistoja kehittävä Trineria tavoittelee 40-60 % vuotuista kasvua.
Otimme Trinerialla OKR-mallin käyttöön, koska halusimme jalkauttaa yrityksen uuden strategian jokapäiväisen työn tasolle.
Justus Sydänmaa on aloittanut Trinerialla Software Developer Traineena.