Blogi

Keskinkertaisia verkkopalveluita

Joonas Pajunen Bisnes Teknologia

Ohjelmistokehittäjä haluaa kirjoittaa nokkelaa ja täsmällistä koodia, joka mielellään täyttää alalla hyväksi havaitut kriteerit ja noudattaa niin sanottuja parhaita toimintatapoja. Ulkoasun suunnittelija ja taittaja pyrkivät kauniiseen ja vaikuttavaan lopputulokseen; viilaavat värejä ja pyöristävät pikseleitä. Liiketoiminta tahtoo ne hienoimmat toiminnallisuudet, joilla voitetaan kilpailijat tai päästään ainakin tasoihin. Yleisesti ottaen ohjelmistoprojektin omistaja tai rahoittaja haluaa lähtökohtaisesti rahoilleen vastinetta.

Joskus kuitenkin viimeistelemätön koodi, kiva leiska ja oleellisimmat toiminnot voivat lähtökohtaisesti riittää. Vaihtoehtosesti kauniin koodin, mielenräjäyttävän ulkoasun ja lentäjällekin riittävien vipujen ja nappuloiden toteutukseen ja suunnitteluun voi helposti kulua moninkertaisesti aikaa ja tietysti siten myös rahaa. On toki huomioitava, että nopeuden ollessa tärkeintä, saattaa tehdylle työlle kertyä teknistä velkaa. Velkaa kertyy ohjelmistoa rakennettaessa lähes aina, ja on tärkeää, että sen kertyminen tiedostetaan. On myös oleellista muistaa, että tekemiseen käytetty aika ei ole suoraan verrannollinen saavutetun työn laatuun, vaan saavutettu hyöty vähenee vaivannäön kasvaessa. Asioiden parantelu ja pakonomainen viilaaminen tulee siis lopettaa ajoissa. Ennenaikainen optimointi on monesti turhaa. Keskinkertaisesta projektista tai toiminnallisuudesta voi tehdä myöhemmin ensiluokkaisen. Mukaan voi saada jopa käyttäjäpalautetta.

Teknisen velan hallinnoinnissa on tärkeintä sen ottamisen tiedostaminen. Velan ottaminen sovelluskehityksessä ei ole yhtä selkeää kuin valuutan lainaaminen velaksi, vaan se tapahtuu erilaisten “helppojen” ratkaisujen ja oikopolkujen muodossa. Velan voisi ehkä kiteyttää siten, että kehittäjä tietää kuinka jokin asia kuuluisi tehdä, mutta aikataulullisista tai budjetäärisistä syistä oikookin kyseisen asian teossa. Tällaisia voi olla esimerkiksi toiminnallisuuksien dokumentointi, automaattisten testien kirjoitus, niin sanottu copy-paste tai kovakoodaus. Velan sivuuttaminen saattaa ajan myötä luoda siitä sovelluksessa asuvan mörön, jonka kanssa työskentelemistä kaikki pelkäävät.

Joissain tapauksissa keskinkertaisesti toteutettu verkkopalvelu on hyvä alku. Nopeasti rakennettu, viimeistelemätön palvelu tai yksittäinen ominaisuus ei todennäköisesti poissulje sen kehittämistä ensiluokkaiseksi. Monesti on jopa huomattu, että keskinkertainen voittaa. Tällöin on jäänyt aikaa ja rahaa suunnata kallisarvoiset resurssit tärkeämpiin asioihin.