Ohjelmistojen ja ohjelmistopohjaisten tuotteiden kehitys on haasteellista. Organisaation johto joutuu optimoimaan toimintaansa monista eri näkökulmista, jotta kehitys rullaa tehokkaasti eteenpäin vailla kitkaa. Sanonnan mukaan “kaikki yritykset ovat ohjelmistoyrityksiä”, joten näihin ongelmiin törmäävät yllättävän monet yritykset eri toimialoilta.
Meidän ydinosaamistamme on asiakaslähtöinen ratkaisu- ja tuotekehitys. Olemme vuosien varrella toteuttaneet satoja kehitysprojekteja ja osallistumme jatkuvasti kymmenien organisaatioiden tuotekehityshankkeisiin, joihin tuomme vankan kokemuksemme tehokkaasta kehitystyöstä.
Näiden projektien tiimellyksessä olemme huomanneet, että lähes kaikki tuotekehityksen ongelmat johtuvat puutteellisesta tai vääränlaisesta johtamisesta. Tuotekehityksen organisointi ei perustu oikeille arvoille eikä sen johtamisessa priorisoida tärkeimpiä näkökulmia. Usein myös kaupalliset ja strategiset näkökulmat tuppaavat hautautumaan teknisten haasteiden tai valtavan ominaisuusviidakon alle.
Miten tuotekehitystä sitten pitäisi johtaa?
Keskeisiä teemoja, joihin kannattaa ohjelmistokehityksen johtamisessa kiinnittää huomiota, ovat tuotekehitystyön tuottavuus, tekninen velka ja laatu – mutta ennen kaikkea tuotteen ja uusien ominaisuuksien asiakkaille tuottama arvo. Lisäksi toimintaympäristön jatkuvat muutokset aiheuttavat omaehtoiselle kehitykselle haasteita ja hidasteita.
Monilla toimialoilla myös lainsäädäntö asettaa yhä vaativampia vaatimuksia kehitykselle. Lisäksi nykyään harvoin kehitetään omaa palvelua tyhjiössä, vaan toimivat integraatiot muihin tuotteisiin ja järjestelmiin ovat välttämättömiä.
Tässä blogissamme tuomme esiin kaksi keskeistä periaatetta, joilla nostat ohjelmistokehitystä seuraavalle tasolle. Eikä tämä suinkaan tähän jää, vaan julkaisemme lähiaikoina jatkoksi vielä kolme hyödyllistä lisävinkkiä.
Johda tuotekehitystä asiakasarvon kautta
Kuten me kaikki jo tiedämme, tuotekehitykseen liittyy kolme tärkeää elementtiä: asiakas, ratkaisu ja yhteinen projekti ratkaisun toteuttamiseksi. Onpa kyse sitten uudesta ratkaisusta tai olemassa olevan ratkaisun parantamisesta, oleellista on aidosti ymmärtää, miten ratkaisu luo arvoa asiakkaalle.
Tämä korostuu etenkin tilanteessa, jossa ratkaisu on vasta hypoteesin tasolla. Tällöin asiakasarvo pystytään löytämään palvelumuotoilun keinoin, käyttäjäkeskeisillä menetelmillä. Näin saadaan kiillotettua kehitteillä olevan ratkaisun oletetut hyödyt kristallinkirkkaiksi ja lopputuotekin vastaa todennäköisemmin aitoon asiakastarpeeseen.
Perinteisesti arvoa ajatellaan syntyvän, kun löydetään kustannussäästöjä tai kasvatetaan yrityksen liikevaihtoa, mutta arvo voi olla jotain aivan muutakin. Julkisella sektorilla asiakasarvo voi liittyä esimerkiksi kansalaisten asioinnin sujuvoittamiseen sähköisen asioinnin avulla. Arvo syntyy siis siitä, että loppukäyttäjän elämä helpottuu.
MVP:n (minimum viable product), eli pienimmän julkaisukelpoisen tuotteen, tekeminen mahdollistaa, että asiakas pääsee aikaisessa vaiheessa testaamaan tuotteen hyötyjä käytännössä ja varmistamaan arvon toteutumisen. Näin aikaa ja rahaa ei tuhrata johonkin, joka ei sitten käytännössä ihan toiminutkaan niin kuin oli ajateltu ja jota loppukäyttäjät eivät tunne tarpeelliseksi.
Kun tuotekehitystä johdetaan asiakasarvon kautta, myös sen onnistuminen on todennäköisempää. Esimerkiksi Amazonin missiona on olla maailman asiakaskeskeisin yritys, ja yhtiön tulokset puhuvat sen puolesta, että panostus asiakkaisiin on todellakin kannattanut.
Optimoi tuotekehityksen läpivirtaus
Pelkästään asiakasarvon tunnistaminen ja ratkaisun hahmottaminen eivät kuitenkaan yksin riitä, vaan onnistuneen kehitysprojektin reseptiin tarvitaan mukaan myös mekanismi, jolla ratkaisu rakennetaan. Hyvin johdettuna tuotekehitys virtaa asiakastarpeen tunnistamisesta tuotantoonvientiin ilman suurempaa kitkaa.
Minkä läpi työ sitten oikeastaan virtaa? Yksinkertaisimmillaan kehitystyön vaiheet ovat projektikanbaneista tutut to-do, in progress ja done, mutta ratkaisujen laajentuessa myös kehitysvaiheet lisääntyvät kuin hyttyset Suomen kesässä. Tällaisessa tilanteessa on tärkeä tunnistaa pullonkaulat, jotka hidastavat virtausta. Yleensä ne liittyvät esimerkiksi:
- Keskeneräiseen työhön: usein tiimeillä on liikaa asioita työn alla
- Odottamiseen: odotetaan lupaa, päätöstä, määrityksiä jne.
- Laatupoikkeamiin tuotoksissa eri työvaiheiden jälkeen
- Epäselviin vastuisiin ja toimintatapoihin
Ketterillä menetelmillä ja lean-ajattelulla optimoidaan virtausta, vähennetään keskeneräisen työn määrää ja poistetaan odottelua. Keskeistä on myös tunnistaa riippuvuudet eri toimijoiden ja tiimien välillä, jotta hommat eivät tyssähdä päällekkäisiin projekteihin tai siihen, että yhteistyökumppanin lomat pääsivät yllättämään Läpivirtauksen optimointiin tarvitaan niin ihmisten johtamista kuin teknologista osaamistakin.
Kun työt soljuvat eteenpäin optimaalisesti, tuotekehityksen kyky luoda julkaisuja paranee huomattavasti. Eräkoot pienenevät ja tuotantoympäristöä voidaan päivittää jopa useita kertoja päivässä ilman suurempaa draamaa.
Kun ominaisuuksia saadaan putken päästä ulos nopealla syklillä, voidaan heti kerätä asiakkailta arvokasta palautetta tai mitata, kuinka tuotetta käytetään. Tämän perusteella voidaan tehdä muutoksia nopeastikin, jos huomataan kriittisiä tarpeita.
Siinä oli kaksi ensimmäistä vinkkiämme, kuinka ohjelmistokehityksestä saadaan tehokkaampaa ja tuottavampaa. Loput vinkit löydät tästä blogitekstistämme.