Matkalla ideasta ohjelmistoksi: prototyyppi ja Minimum Viable Product eli MVP

2.10.2018 12:00

Aluksi

Ohjelmistokehityksessä onnistunut tuotantoprosessi ja lopputulos eivät suoraan takaa sitä, että luotu tuote on myös kaupallisesti tuottava. Jotta voidaan minimoida tuottavuuteen liittyvät riskit, ohjelmistoa tai sen tärkeimpiä ominaisuuksia on hyödyllistä testata markkinoilla ennen kokonaisen ja lopullisen version luomista. Ilman jonkinlaisen testikappaleen tekoa on myös vaikea hahmottaa tuotantoprosessia, mikä taas voi johtaa resurssien hukkaamiseen jo tuotantovaiheessa. Kuten Jarno viime tekstissään kirjoitti, puutteellinen testaamiseen käytetty aika voi estää ohjelmistoprojektin onnistumisen. Jotta ohjelmiston tärkeimpiä toiminnallisuuksia voidaan testata kaupallisesti, täytyy olla selvillä, mitä ohjelmistolta toivotaan. Vaatimusmäärittelyt auttavat projektin ideasta eteenpäin.

Prototyypin ja MVP:n erot

Prototyyppi on näytekappale tuotteesta. Sen paras piirre on realismin luominen, sillä sen avulla saadaan suuntaviivoja jatkokehitykselle. Prototyyppejä voi tehdä useampia eri vaihtoehtoja suhteellisen pienellä budjetilla ja lyhyessä ajassa, minkä vuoksi ne ovat kustannustehokkaita työkaluja koko ohjelmistokehitysprosessin kannalta. Minimum Viable Product (myöhemmin MVP) on samankaltainen kuin prototyyppi, mutta sen näkökulma on vain hieman erilainen. MVP keskittyy enemmän tuotantoprosessiin ja markkinoihin, prototyyppi vain tuotteeseen. MVP on “viable” eli käytännössä toimiva tuote, kun taas prototyypin ei välttämättä tarvitse olla.

MVP optimoi tuotekehitysprosessia

Ennen kuin uhrataan valtavasti resursseja uuden ohjelmiston kehitykseen, sen visiota kannattaa testata ja katsoa kriittisesti. Palveleeko ohjelmisto tarkoitustaan, ja onko sille kysyntää? Kiinnostuvatko sijoittajat siitä? MVP on tullut käsitteenä tunnetuksi liike-elämän ja ohjelmistokehityksen parista. Esimerkiksi Lean Startup -metodin mukaan startupin olisi hyvä lähteä liikkeelle tuotteesta, joka toteuttaa MVP:n tunnuspiirteet. MVP-malli soveltuukin erityisesti startupeihin, sillä niissä pyritään luomaan jotain mullistavaa ja erilaista, esimerkiksi täysin uusi tuote tai palvelu, joka tulisi pystyä myymään sekä sijoittajille että loppuasiakkaille. MVP:n idea on nopea oppiminen: virheistä pyritään palautumaan nopeasti, ja jokainen palaute synnyttää uuden oppimissyklin. Ideana on myös karsia pois ali- ja ylikehittäminen, millä pyritään tuotannon optimointiin. Tämän kaiken valossa voidaan sanoa MVP:n olevan myös tuotekehitysprosessi, ei pelkkä tuote.

MVP käytännön esimerkkinä

MVP-mallin tarkoitus on toteuttaa tuote sellaisena, jossa sen tärkeimmät ominaisuudet ovat täydessä potentiaalissa, mutta kokonaisuus voi olla muilta osin vajaa. Seuraavaksi kerrottu esimerkki voi kuulostaa yksinkertaiselta, ja käytännön ohjelmistokehityksestä kaukaa haetulta. Joskus arkielämään sidotulla selityksellä idean kuitenkin hahmottaa paremmin.

Alla oleva kuva visualisoi MVP-mallia. Netistä löytyy useita kuvia, jossa oheisen kuvan kaksi ensimmäistä riviä ovat vertauksia, jossa toinen rivi toteuttaa MVP-mallimaisen prosessin. Asia kuitenkin riippuu myös näkökulmasta.

Kuva: https://www.expressiveproductdesign.com/

1. MVP-mallin mukaan tuotetta ei lähdetä rakentamaan kehittämällä erillisiä osioita ja kasaamalla niitä (kuten ensimmäisellä rivillä), vaan hahmotetaan sen käyttötarkoitus, joka jo heti aluksi koostetaan toimivaksi kokonaisuudeksi.

2. Toisen rivin työnkulku kelpaa MVP-malliksi, jos minimivaatimus on vain päästä liikkumaan paikasta toiseen jollain välineellä.

Ongelman määritys ratkaisee MVP:n työnkulun. Jos halutaan auto, jonka minimivaatimuksiin kuuluisi esimerkiksi istuminen suojassa ja neljä rengasta, ei voida olettaa, että esimerkiksi moottoripyörä toteuttaa MVP:n.

3. Alin rivi kuvaa tässä tapauksessa toteutusta hieman tarkemmin: tehdään aluksi auto, joka toteuttaa auton minimiodotukset. Kolmannen rivin ensimmäinen vaihe on MVP: siinä on neljä rengasta, sillä pääsee paikasta toiseen, ja joku pääsee sen sisälle istumaan.

Tämän vaiheen jälkeen lähdetään optimoimaan ominaisuuksia keräämällä palautetta käyttäjiltä ja markkinoilta. Palautteen ja oppimisen seurauksena syntyy lopputuloksena tyylitelty, käyttäjien tarpeita vastaava ja ominaisuuksiltaan optimoitu auto.

Lopuksi

MVP:n ei ole pakko olla kokonainen, käytettävä tuote. Se voi olla esimerkiksi markkinointi- tai opastusvideo. Tällöin tuotteen ei tarvitse olla kokonaan valmis, sillä video antaa mahdollisuuden hieman siloitella totuutta. Videon kautta voidaan kuitenkin kerätä ja saada palautetta, mikäli sen teossa onnistutaan tuomaan esille tärkein testattava ominaisuus. Kiteytettynä MVP:n tarkoitus on validoida tuotteen oletettu potentiaali pienimmällä mahdollisella toteutuksella.

MVP-mallia ja prototyyppejä voidaan käyttää samojen projektien yhteydessä, jolloin molemmista voidaan hyötyä. Ne eivät siis sulje toisiaan pois. Prototyyppi voi olla todella nopea tehdä, ja se on useimmiten välttämättömyys, jotta projekti etenee. Pienemmissä ohjelmistoprojekteissa pelkkä prototyypin teko voi riittää, jos budjettiin ei sovi markkinatestaus tai sitä ei koeta tarpeelliseksi. Erityisesti suuremmissa projekteissa MVP:llä voi kuitenkin hurmata kuluttajat ja sijoittajat paremmin, sillä se toimii myös käytännössä selkeämmin kuin prototyyppi. MVP kuluttaa resursseja, mutta usein se on projektin kannalta järkevä panostus. Parhaassa tapauksessa MPV minimoi ohjelmistokehityksen kokonaiskustannuksia, ja tuote saadaan nopeammin markkinoille. Jos huomataan, että MVP ei toteuta tavoitteita, ei olla hukattu kaikkia resursseja toimimattomaan ohjelmistoon tai tuotteeseen.

Mielenkiintoisia tarinoita tunnetuiksi tuotteiksi kasvaneista minimum viable producteista löytyy täältä: Chris Bank / 10 Massively Successful Minimum Viable Products





Lähteet

Douglas S. (2018). What’s the difference between a prototype and an MVP? Viitattu 28.9.2018. https://www.justinmind.com/blog/whats-the-difference-between-a-prototype-and-an-mvp/

Duarte A., (2016) 6 steps to plan and develop a successful MVP. Viitattu 28.9.2018. https://cheesecakelabs.com/blog/6-steps-to-plan-develop-mvp/

Duc A.N., Abrahamsson P. (2016) Minimum Viable Product or Multiple Facet Product? The Role of MVP in Software Startups. In: Sharp H., Hall T. (eds) Agile Processes, in Software Engineering, and Extreme Programming. XP 2016. Lecture Notes in Business Information Processing, vol 251. Springer, Cham.

Haapahovi, S. (2017) Mikä on MVP eli Minimum Viable Product? Viitattu 28.9.2018. https://www.haapahovi.fi/mika-on-mvp-eli-minimum-viable-product/

Smith, C. (2016) 8 types of MVP Experiments. Viitattu 28.9.2018. https://medium.com/@carolinekyungae/8-types-of-mvp-experiments-90f9070e145

Jätä yhteydenottopyyntö