Ohjelmistoprojekteista ja niiden onnistumisesta on tehty vuosien varrella useita tutkimuksia ja tulokset ovat karua luettavaa: suurin osa projekteista epäonnistuu pahasti. Kustannukset ylittyvät moninkertaisesti, aikataulut eivät pidä ja lopputulosten laatu on heikkoa. Loppukäyttäjät, jotka lopulta uusia ohjelmistoja työssään tarvitsevat, eivät ole tyytyväisiä tuloksiin. Usein toteutetut ohjelmistot pikemminkin hankaloittavat ja hidastavat työntekoa, kuin auttavat sitä.
Ohjelmistojen ostajat miettivät paljon mistä ongelmat johtuvat ja miten niitä voisi välttää. Käsistä karanneet kustannukset ja muut ongelmat ovat hyvin merkittävä ongelma ohjelmistojen tilaajille – ylittyneet kustannukset vaikeuttavat budjetointia ja huonot lopputulokset hankaloittavat liiketoiminnan pyörittämistä. Yleensä syypää ongelmiin löytyy helposti: surkeat ohjelmistotalot, jotka eivät pidä lupauksiaan, jotka jatkuvasti ylittävät aikataulunsa ja budjettinsa, ja jotka eivät ymmärrä yhtään miten helppokäyttöinen ohjelmisto rakennetaan.
Ratkaisu ongelmiin on myös perinteisesti helppo: kiinteähintaiset sopimukset ja tiukat sanktiot myöhästymisistä ja virheistä. Ostaja kirjoittaa tarkat määrittelyt mitä halutaan, laittaa liitteeksi tiukat sopimusehdot isoine sanktioineen, pyytää tarjoukset eri yrityksiltä ja käy lopuksi vielä muutaman tinkimiskierroksen. Lopulta jostain löytyy toimittaja, joka lupaa tehdä huippulaatua nopeasti ja halvalla ja kiinteään hintaan. Ja jos toimittaja jostain syystä ei onnistuisi, on ostajan oma sielusta turvattu: kiinteän hinnan vuoksi riski jää toimittajalle, ja jos aikataulu ei pidä, niin toimittaja maksaa isot myöhästymissanktiot. Kun tarjouspyyntödokumentteihin vielä piilotetaan sopivasti muutamia epämääräisyyksiä, voi ostaja vaatia samaan kiinteään hintaan vielä lisäominaisuuksia mitä matkan varrella tulee vastaan. Ohjelmistotoimittajat eivät tästä tietysti pidä, mutta kun kilpailu on kovaa, aina löytyy joku yritys, joka suostuu ehtoihin. Joten ostajan kannalta kaikki hyvin?
Ehkä olisi kuitenkin syytä ottaa pari askelta taaksepäin, ja miettiä, miksi ohjelmistoja yleensäkin ostetaan ja tuotetaan: taustalla on aina joku liiketoiminnallinen tarve. Yritys, joka tilaa uuden ohjelmiston, tarvitsee sitä oman liiketoimintansa pyörittämiseen. Yleensä ohjelmistohankinnan taustalla on joko tarve nykyisen toiminnan tehostamiseen (ohjelmistoilla voidaan esimerkiksi automatisoida hidasta manuaalista työtä), tai uuden liiketoiminnan rakentaminen (ohjelmistot mahdollistavat uusien asioiden tarjoamisen asiakkaille). Oli syy mikä tahansa, nykyisessä digitaalisessa maailmassa hyvin toimivat ohjelmistot ovat yrityksen elinehto. Erinomaiset ohjelmistot tarjoavat yrityksille merkittävän kilpailuedun, huonot taas pikemminkin hankaloittavat kun auttavat yrityksen toimintaa.
Miten sitten varmistetaan, että uusi ohjelmisto oikeasti palvelee liiketoimintaa? Tärkein asia uutta ohjelmistoprojektia käynnistettäessä on ymmärtää, että se, minkälaista ohjelmistoa tarkalleen ottaen yrityksen liiketoiminta tarvitsee, selviää vasta matkan varrella. Onnistuneimmat ohjelmistotoimitukset eivät ole talonrakennusprojekteja, joissa tehdään ensin tarkat piirustukset ja sitten rakennetaan piirustusten mukainen talo. Ne ovat oppimisprojekteja, joissa joukko ihmisiä yhdessä miettii ja kokeilee erilaisia ratkaisuja ja projektin aikana erilaisten kokeiluiden jälkeen oppii, mikä ratkaisu on liiketoiminnan kannalta paras.
Ohjelmistojen ostamisen kannalta tämä tarkoittaa sitä, että projektia ja ohjelmistotoimituksia suunniteltaessa sopimusten sijaan tärkeimmäksi asiaksi pitää nostaa ihmisten välinen yhteistyö ja ihmisten johtaminen.
Todella erinomaisen ohjelmiston toteuttaminen on äärimmäisen vaikeaa ja monimutkaista. Toimituksessa pitää ymmärrä syvällisesti liiketoiminnan tavoitteet, asiakasyrityksen vanhat toimintatavat, uusien toimintatapojen kehittäminen, käytettävyyteen liittyvät asiat, tekniikan tuomat rajoitteet ja mahdollisuudet, ja monet muut asiat. Yksikään ihminen ei pysty yksin hallitsemaan tätä kaikkea. Onnistumiseen vaaditaan valtava määrä eri ihmisten välistä kommunikointia ja yhteistä pohtimista ja ratkaisujen hakemista. Jos tämä ei onnistu, niin lopputulos ei juurikaan palvele ostajayrityksen liiketoimintaa. Jos lopputulos ei palvele liiketoimintaa, niin kiinteähintaiset sopimukset ja sanktiot eivät ostajaa paljon lämmitä.
Onnistuneen projektien ostamisessa seuraavat käytännön seikat ovat avainasemassa:
Entä sitten kiinteähintaiset sopimukset ja sopimussanktiot? Ja kilpailuttaminen? Pitääkö ostajan kantaa kaikki riski, eikö toimittajilla ole mitään riskiä ja vastuuta onnistumisesta?
Ostajan pitää kilpailuttaa toimittajat. Ostajan pitää tehdä tiukat sopimukset, jotka varmistavat, että toimittajat hoitavat työnsä. Onnistuneimpaan lopputulokseen pääsee kuitenkin usein kilpailuttamalla sitä, mikä yritys tarjoaa parhaat tekijät järkevimpään hintaan, ei sitä, mikä yritys lupaa toteuttaa tietyt ominaisuudet kiinteään hintaan. Ostajan etuna on saada projektiin parhaat ihmiset ja varmistaa, että he tekevät tehokkaasti töitä yhdessä. Kilpailutuksen ja sopimusten pitää keskittyä tähän. Ihmiset varmistavat projektin onnistumisen, eivät sopimukset ja dokumentit.
Jussi Ahtikari
CTO
Virta Ltd.
@jussiahtikari