Kustomoitavan ohjelmiston tuotekehitys ja ylläpito eroavat hyllytuotteena myytävän ohjelmiston kehityksestä ja ylläpidosta. Sen sijaan, että kehittäisi yhtä bulkkituotetta, jonka asiakas ottaa sellaisena kuin se on ja rakentaisi tälle ns. hyllytuotteelle jakelukanavia (puhdas ohjelmistotuote-liiketoiminta), jotta saa skaalautuvaa volyymibisnestä, kehittääkin ohjelmistotuotetta, moniohjelmistoa tai ohjelmistotuote-perhettä, josta on asiakaskohtaisia kustomointeja.
Gemilolla on hyllytuotteeksi sopivia sovelluksia, mutta huomaan, että toimituksemme ovat poikkeuksetta asiakkaalle räätälöityjä kokonaisuuksia. Siksi tuotekehityksen ja ylläpidon on muistettava asiakastuotannoista enemmän kuin hyllytuotteessa tarvitsisi. Asiakaskohtainen räätälöinti voi tarkoittaa esimerkiksi integraatiota, jota ei ole muilla asiakkailla ja se on huomioitava.
Valmis sellaisenaan vs. kustomoitava ohjelmisto
- Hyllytuotteen jatkokehitys on helpompaa, vaikka ns. Legacy-koodia on hyllytuotteessakin eikä vain kustomoitavassa ohjelmistossa.
- Hyllytuotteen valmistajan tuotekehitykseltä on fiksua kuunnella asiakkaita, mutta yleensä omaan tuotteeseen on jo lista ominaisuuksia, jotka halutaan tarjota asiakkaille eikä asiakaspalautteen vuoksi tarvitse hötkyillä, jos kauppa muutenkin käy. Tuotehan on "valmis" ja sellaisena sitä myydään.
- Jos toimittaja päättää vain ylläpitää valmisohjelmistoa luottaen, että paikka markkinoilla pysyy ilman aktiivista kehittämistä, koodiin tehty investointi maksaa itsensä takaisin moninkertaisesti niin kauan kuin asiakkaat ostavat.
- Hyllytuotteen tekninen ylläpito on helpompaa.
- Parhaassa tapauksessa on vain uusin versio, jota päivitetään. Ei ikinä asiakaskohtaisia versioita, joten testaus on helpompaa.
- Jos asiakas on ostanut vanhan tuotteen, jota ei voi päivittää uuteen, tuote on sellainen kuin ostohetkellä eikä siihen ole luvassa muutoksia.
- Jos asiakas on ostanut tuotteen, joka voi päivittyä uuteen, tuote on päivityksen jälkeen samanlainen kaikille asiakkaille.
- Kustomoitavassa ohjelmistotuotteessa huomioidaan, että jokainen kustomointi pysyy toiminnassa eri asiakkaiden kanssa kehitetyistä uutuuksista ja talon omana kehittämismenona tehdyistä muutoksista huolimatta
- ja itse asiassa joskus vain niiden ansiosta (jos asiakas ei tilaa uutta itse, vaan luottaa versiopäivityksien pitävän ohjelmiston ajan tasalla).
- Toisaalta joissakin hyllytuotteissa voi olla niin iso volyymi markkinoilla, että valmisohjelmiston uusin versio kehittyy kustomoitavaa ohjelmistoa nopeammin.
- Jos suunta on oikea asiakkaan kannalta, valmisohjelmisto on kilpailukykyinen vaihtoehto.
- Mitä enemmän on omaan toimintaan liittyviä toiveita ja tarpeita, sen vaikeampaa on valmisohjelmiston täyttää näitä vaatimuksia.
Yhteistyö asiakkaan kanssa
Bulkkituotteessa ei mietitä asiakaskohtaista konfigurointia. Hyllytuote on mikä on, ota tai jätä.
- Asiakas ostaa tuotteen ja saa esittää asiakaspalautetta, mutta todennäköisemmin vain hyväksyy tuotteen sellaisena kuin se on tai vaihtaa toiseen.
- Hyllytuote ei ehkä koskaan muutu asiakkaan toiveiden mukaiseksi, mutta asiakas ymmärtää tämän, koska tietää ostaneensa ns. valmistuotteen, jota ei massatuotteena muutella asiakasta varten.
- Asiakas on toimittajalle tuotekehityksen lisäresurssi, jos palautteet osataan käsitellä oikein yhtiössä. Ikävä kyllä näin ei aina ole. Käytämme itse erästä valmisohjelmistoa, jossa luulin asiakasyhteisössä annetun palautteen ensin vitsiksi, mutta se olikin oikeasti puuttuva ominaisuus, jota asiakkaat toivoivat vuosia - saamatta edes toimittajan vastausta käytyyn julkiseen keskusteluun yhtiön asiakasportaalissa.
- Mitä syvemmälle viety kustomointi (uusia toiminnallisuuksia, uusia näkymiä, uusia komponentteja, vanhojen komponenttien muutoksia, integraatioita, metatieto-rakenteita), sitä lähempänä ollaan kustomoitavan ohjelmiston toimitusprojektissa jo ohjelmistotalon ohjelmointiprojektia eikä valmisohjelmistoa.
- Ns. kevyt kustomointi, jossa tuotteen räätälöinti tarkoittaa esim. brändivärien vaihtamista, asiakaskohtaista menurakennetta, kustomoitua etusivua ja vaikkapa konfiguraatiossa oletusasetusten säätämistä vivusta päälle tai pois, on lähellä valmisohjelmiston toimittamista, mutta vaatii toimittajalta työtä.
Toimittajan tilaajalle räätälöimä ohjelmisto ei skaalaudu bisneksenä samalla tavoin kuin hyllytuote, mutta mallilla voi tehostaa tuotantoprojektia. Se säästää toimittajan aikaa urakoissa, jotka muuten aiheuttaisivat enemmän tuotantokustannuksia. Säästö voi näkyä tilauksen hinnassa asiakkaalle - tai ei.
Kustomoitu valmisohjelmisto vai hyllystä otettu tee se itse -ratkaisu
Joissakin valmisohjelmistoissa halutaan lähestyä kustomoitavaa ratkaisua tarjoamalla erilaisia tee se itse -toimintoja järjestelmän käyttäjälle. Ylläpitäjälle tai käyttäjille on editoreita, wizardeja ja jopa koodausmahdollisuus, jolloin hyllytuote vaihtuukin kustomoitavaksi järjestelmäksi (!) työllistäen asiakasta joskus enemmän kuin asiakas tilatessaan ymmärsi. Näissä ohjelmistoissa käyttöönotto ei onnistu ennen kuin on rakenneltu kokonaisuus itse.
Kuinka valmista tälläinen on? Teknologian kehittäjälle tietysti täysin valmis ohjelmisto, koska he eivät tee muutoksia koodiinsa. Sen sijaan asiakas muuttelee omaa tuotantoaan niissä rajoissa, mitä valmisohjelmiston teknologia sallii. Asiakkaalle lopputulos on ostoksen jälkeen keskeneräinen, kunnes asiakas itse, asiakkaan tietohallinto (sisäinen kustannus) tai hänen alihankkijansa (ohjelmistotalot, IT-konsultit ostopalveluna) ovat hoitaneen homman kuntoon.
Laadukas räätälöity Avaimet käteen -järjestelmätoimitus toimittajalta sisältää valmiin ratkaisun asiakkaalle eikä edellytä asiakkaalta itseltään ohjelmiston kustomointia, vaikka määrittelytyössä ja käyttäjätarinoissa asiakkaalla olisikin merkittävä rooli.
Kun ratkaisevinta on hinta, asiakas hakeutuu halvan hyllytuotteen tilaajaksi. Sen saa yleensä heti käyttöön ja nillä ominaisuuksilla mennään, jotka ovat tarjolla. Osalle täysin riittävä ratkaisu sekin.
Tämä juttu oli kolmiosaisen blogijuttu-sarjani toinen. Ensimmäisessä osassa kirjoitin Gemilon valitsemasta liiketoiminta-mallista ja uusista avauksista ohjelmistoliiketoiminnassa. Kolmannessa osassa on pohdittu, miten kustomoitavan ohjelmiston tuotekehitys ja ylläpito menevät verrattuna ohjelmointiprojektiin, jossa lähdetään liikkeelle ilman ohjelmistotuotetta, jota räätälöidä.