Tiedotimme hiljattain Compilen tämän vuoden reippaasta 61%:n henkilöstökasvusta, jonka myötä saimmekin mukavasti ansaittua näkyvyyttä aiheen tiimoilta (Taloussanomat, Helsingin Uutiset, Insinööri-lehti). Mediassa nostettiin erityisesti esille kokeneille ohjelmistokehittäjille tarjoamamme reilut palkat, ja ajattelinkin avata ajatuksiamme sen takana hieman perusteellisemmin.

Mielestämme hyvän työsuhteen peruspilareihin kuuluu se, että jos kehittäjien osaamiselta ja asenteelta vaaditaan paljon, on siitä myös oltava valmis maksamaan reilu korvaus. Palkka on tärkeä osa työtyytyväisyyttä, mutta yksinään se ei sitä takaa. Kun tavoitteena on tyytyväinen työntekijä, joka mahdollistaa korkean asiakastyytyväisyyden toteutumisen, tulee aikaa ja rahaa käyttää myös osaamisen jatkuvaan kehittämiseen sekä työntekijää tukevan organisaatiokulttuurin luomiseen ja ylläpitämiseen. Tärkeä rooli tässä on myös osaavilla työkavereilla.

Tärkeimpänä yksittäisenä komponenttina kestävälle ohjelmistokehitykselle ja onnistuneille IT-hankkeille on siis inhimillinen kestävyys. Tyytyväiset, sitoutuneet ja osaavat työntekijät mahdollistavat teknisesti kestävien ja pitkällä aikavälillä kustannustehokkaiden ratkaisujen toteuttamisen. Siksi osaamisen tulisi olla sillä tasolla, että ei olla vain hyviä koodaamaan työn alla olevaa, vaan osataan ja halutaan miettiä esimerkiksi teknologioiden ja arkkitehtuurin jatkokehitettävyyttä tulevien vuosien aikana. Tämä taito kehittyy yleensä kokemuksen karttuessa, kun on oppinut (mahdollisesti kantapään kautta) jättämään koodin parempaan kuntoon kuin se oli sen pariin saavuttaessa.

Jokaisen hankkeen pitäisi elää ainakin 5-10 vuotta eteenpäin, sillä jatkokehittäminen on tärkeä osa asiakkaiden liiketoimintaa. Softan ylläpito vaikeutuu huomattavasti ja sen edelleen kehittäminen vie paljon aikaa ja rahaa, mikäli tulevaisuutta ei oteta alusta asti huomioon.

Kerrotaanpa tästäkin aiheesta tositapahtumiin perustuva käytännön esimerkki.

Yksi Compilen devaajista työskenteli projektissa, johon projektin ulkopuolinen yksikkö tuotti palveluita. Aiemmat toimintaympäristöön liittyvät palvelut oli kaikki tehty tietyllä teknologiapinolla, mutta nyt tarvittava uusi palvelu oli toteutettu kokonaan erilaisilla teknologioilla tietokantakerros mukaan lukien. Devaajamme tehtävänä oli automatisoida palveluiden infraa, ja hän ihmetteli ääneen, miksi ympäristöön tuotiin yhtäkkiä kokonaan uusi ratkaisu, joka ei sopinut nykymalliin ollenkaan.

Kun muu järjestelmä alkoi olla valmiina, alkoi uudesta tietokantakerroksesta nousta esiin pahoja suorituskykyongelmia. Konsulttimme selvitellessä asiaa nousi esiin, että uuden palvelun toteuttaneella tiimillä ei ollut syvällistä osaamista valitsemistaan teknologioista, ja näin ollen ongelmien ratkaiseminen jäi konsulttimme tiimin harteille.

Konsulttimme alkoi ahkerammin nostaa epäkohtia esille, jolloin selvisi, ettei asiakkaalla ollut minkäänlaista käsitystä teknisen velan määrästä kyseisessä projektissa eikä suunnitelmaa siihen, mitä tulevaisuudessa tehdään. Ongelmien esille nostaminen sai aikaan sen, että osa palvelusta saatiin tuotua olemassa olevaan arkkitehtuuriin. Pahin pullonkaula, eli valittu tietokanta, jäi kuitenkin palveluun kaikkien riesaksi kuluttamaan huomattavan summan rahaa.

Tässä tapauksessa ongelma rakentui toisen yksikön konsulttien halusta kokeilla uusia ratkaisuja piittaamatta ylläpidettävyydestä ja jatkokehityksestä. Kaikkea ei tietenkään tarvitse tehdä samalla kielellä tai tietyllä tietokantavalinnalla, mutta ei koko pakettia voi yhtäkkiä laittaa uusiksi kantamatta vastuuta sen seurauksista. Asiakas luottaa siihen, että konsultit tuovat heille ne ratkaisut, jotka hyödyttävät heitä paitsi tänään, myös huomenna. Vankkaan osaamiseen liittyy vahvasti ymmärrys siitä, että jonkun muunkin pitäisi pystyä työtä jatkamaan. Monesti tämä ymmärrys syntyy vasta kokemuksen kautta, kun on itse yrittänyt ylläpitää huonolaatuista koodia.

Asiakashankkeiden onnistumiseksi painotamme siis kovaa osaamista. Kun kehittäjien tietotaito on riittävän korkealla tasolla, he pystyvät tekemään teknisesti kestäviä ratkaisuja, jotka puolestaan säästävät huomattavasti resursseja pitkällä aikavälillä. Järkevät tekniset ja taloudelliset ratkaisut mahdollistavat edelleen pienemmän ekologisen jalanjäljen.

Seuraavassa tekstissä käsitellään vielä osaamista sen kehittämisen näkökulmasta. Voit myös palata aiempiin artikkeleihini IT-projektien onnistumisen edellytyksistä: avoimuuden tärkeys ja aito halu auttaa asiakasta.