Onnistuneen ohjelmistoprojektin salaisuus

Olemme tänäkin vuonna saaneet lukea useita lehtijuttuja liittyen kohtalaisen epäonnistuneisiin ohjelmistoprojekteihin. Vaikka asialla on vankat toimijat ja piinkovat ammattilaiset, voi projekti siitä huolimatta niin sanotusti kosahtaa. Kasasimme muutamia mietteitä asioista, joihin tulee kiinnittää huomiota aina ohjelmistoprojektiin ryhtyessä.
Valitse kumppani, joka ymmärtää aidosti liiketoimintaanne
Valitse kumppani, joka tietää mitä tarvitsette, ymmärtää sen merkityksen liiketoiminnalle sekä osaa toteuttaa projektin alusta loppuun sujuvasti. Varmista referenssit sekä pyydä tarvittaessa projektitiimin CV. Palveluntarjoajalta voi parhaimmillaan tulla kultaakin kalliimpia ajatuksia ja vinkkejä ohjelmiston kehittämiseen sekä sen toiminnallisuuksiin.
Projektin elinkaari
Projektin alussa on erittäin tärkeää, että asiantuntijat, projektin vetäjä sekä myös mahdolliset toteuttajat, eli koodarit, tutustuvat huolellisesti asiakkaan liiketoimintaan. Jäsentelemme yhdessä asiakkaan kanssa alustavan idean projektiksi, jonka avulla rakennetta ja kustannuksia aletaan hahmottamaan. Mielestämme kaikkia ideoita ei aina ole kannattavaa toteuttaa räätälöitävillä ohjelmistoilla, jonka vuoksi suunnitteleva työvaihe on merkittävässä roolissa onnistumisen kannalta.
Ohjelmistoprojekteissa kuitenkin usein unohtuu suunnitteluvaihe ja tarkat määritelmät, jolloin kustannusarvio lyödään pöytään liian nopeasti ja hatarin tiedoin. Tämän jälkeen aloitetaan aktiivinen koodaaminen ja unohdetaan kertoa asiakkaalle projektin etenemisestä. Tällä tavoin saadaan kyllä ohjelma aikaiseksi, mutta se harvoin ratkaisee asiakkaan alkuperäisen ongelman. Projektissa unohtuu usein se fakta, että suurin osa ohjelmistoprojektin kustannuksista saattaa tulla siitä, kun jo tehtyjä valmiita ominaisuuksia määritellään ja toteutetaan uudelleen.
Projektimallin valinta jämerästä ketterään
Ketterän kehityksen vastakohtana on niin sanottu vesiputousmalli. Tässä mallissa tehdään tarkat määrittelyt, jotka luovutetaan eteenpäin koodareille. Tämän jälkeen koodarit toteuttavat ohjelman juuri kuten määrittelyissä lukee, riippumatta siitä onko se järkevin tapa vai ei. Tämä malli synnyttää lähes poikkeuksetta toimivan ohjelmiston, mutta se ei vastaa lainkaan alkuperäistä tarvetta. Tilanne ei suinkaan johdu koodarien osaamattomuudesta, vaan tarkkojen määrittelyiden tekemisen mahdottomuudesta.
Tarve ketterille menetelmille on syntynyt juuri tästä syystä. Lähes poikkeuksetta, kun valmiin ohjelmiston näkee visuaalisesti, syntyy huomattava määrä uusia ideoita ja/tai huomataan, että alkuperäisen idean kaikki osat eivät käytännössä toimi yhteen. Mikäli ohjelmisto on tässä vaiheessa valmis, on selvää, että menetetyn ajan ja kustannusten määrä on huomattava.
Raakaversiosta lopulliseen toteutukseen
Näitä ns. iteraatiokierroksia voi olla projektissa tarvittaessa useita ja tapaa kutsutaankin nimenomaan ketteräksi kehitykseksi. Ketterän kehityksen työtavat vaativat vahvaa projektin vetämistä paitsi toimittajan myös asiakkaan puolesta.
Olemme Integralilla viime aikoina nimenomaan keskittyneet projektijohtamisen kehittämiseen ja vaadimme myös asiakkailtamme vahvaa osallistumista kehitysprojekteihin. Tämä saattaa kuulostaa oudolta, mutta kokemustemme mukaan ketterät menetelmät säästävät selvää rahaa ja aikaa. Ennen kaikkea haluamme varmistaa sen, että lopputulos on juuri sellainen mitä on tarvittu ja toivottu.
Käyttäjäkokemus ja visuaalisuus
Olemme vastanneet asiakkaidemme tarpeisiin vahvistamalla tiimiämme entisestään niin visuaalisen suunnittelun osaamisella kuin käytettävyyssuunnittelun taidoillakin. Kaikki tämä osaaminen on luonnollisesti mukana jokaisessa ohjelmistoprojektissa.
Otathan yhteyttä, mikäli mielessäsi on idea, joka voisi parantaa asiakaskokemusta tai tehostaa liiketoimintaanne. Lähdetään työstämään projektia yhdessä eteenpäin.
Kirjoittaja on Integralin projekteista vastaava Akseli Sajaniemi