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:

  1. Tärkein asia projektin onnistumisessa on löytää oikeat ihmiset – projektiryhmän ihmisten on pystyttävä toimimaan tehokkaasti yhdessä henkilökohtaisella tasolla. Huippuluokan tekninen osaaminen on turhaa, jos työskentely muiden ihmisten kanssa ei toimi. Usein paperilla tehtäviä kilpailutuksia huomattavasti parempia tuloksia saa esimerkiksi tekemällä pieniä koeprojekteja yhdessä eri yritysten ja eri henkilöiden kanssa.
  2. Ohjelmistohankintojen johtamisessa on kyse aina ihmisten johtamisesta, ei dokumenttien tai sopimusten johtamisessa.  Ihmisiä pitää johtaa samalla tavalla riippumatta siitä, ovatko ihmiset oman yrityksen asiantuntijoita vai toimittajan teknisiä henkilöitä. Jos toimittajan ihmisiä johtaa huonoilla käytännöllä, esimerkiksi painostamalla, uhkailemalla ja haukkumalla, kärsii aina projektin lopputulos ja sitä kautta lopulta ostajayrityksen oma liiketoiminta.
  3. Projektin alussa pitää ymmärtää ja hyväksyä, että se, mitä lopulta todella tarkalleen ottaen tarvitaan, selviää vasta projektin aikana. Projektilla pitää tietysti olla selkeät tavoitteet ja idea, mitä ollaan tekemässä, mutta tarkkoja toiminnallisuuksia ei voi lyödä lukkoon etukäteen. Projektin alussa ohjelmiston vaatimuksista  ns. tärkeimpään  ”must-have” -kategoriaa pitäisi kuulua enintään 30-40%  kaikista vaatimuksista – muiden vaatimusten pitää voida joustaa projektin aikana.
  4. Projektin aikana ostajan tärkein, ja samalla vaikein tehtävä, on koko ajan miettiä, mitä asioita toteutettavasta ohjelmistosta voidaan jättää pois. Uusia ideoita tulee koko ajan joka suunnasta ja nämä ideat ovat usein todella hyviä ja todella tärkeitä. Varsinkin jos ne tulevat organisaatiosta ylhäältä päin, niihin on todella vaikeaa sanoa ei. Ohjelmiston ensimmäisen toteutettavan version sisältö pitää kuitenkin rajata mahdollisimman pieneksi, ja uudet ideat pitää aikatauluttaa tuleviin versioihin. Tiukka keskittyminen tärkeimpiin asioihin tuo huipputuloksia, mutta ”kaikki on tärkeää ja kaikki pitää tehdä heti” -asenne johtaa väistämättä epäonnistumiseen.

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.
View Arnetech on LinkedIn@jussiahtikari

Kirjoittanut Vieraskynä

Softanvoima kirjoittaa elämästä. Kaikesta tärkeästä.

Jätä vastaus

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *