Lisää koodareita –Ja muita keinoja varmistaa kasvu
Kiitos, kun luet blogiani! Mikäli sinulla tulee kysyttävää tai kaipaat apua ketterän toimintatavan edistämisessä, ota rohkeasti yhteyttä.
Kuva: Chainarong Prasertthai
Ohjelmistokehittäjien kysyntä on niin suurta, että koodaripula hidastaa suomalaisten ohjelmistoyritysten kasvua. Tästä kertoi muun muassa Talouselämä perjantaina 22.4.2022. Ohjelmistokehitys on usein ulkoistettu siihen erikoistuneille yrityksille, sillä in-house-koodareiden rekrytointi ja talossa pitäminen on jo pitkään ollut haastavaa. Todennäköisesti siis yritys jos toinenkin tuskailee parhaillaan koodaripulan vuoksi kasvun kanssa.
Toki koodaripula on ihan aitoa. Ohjelmistokehittäjiä tarvitaan huomattavasti enemmän kuin aiemmin yritysten päätettyä digitalisoida palveluita pandemian vauhdittamina. Haluan silti nähdä tilanteeseen myös muita ratkaisuja kuin pelkkä rekrytointi. Esitän tässä muutamia näkökulmia, miten tilannetta voi mielestäni helpottaa. Tavoitteena on saada enemmän aikaan nykyisten koodarien avulla tai jos rekrytoit täysin uutta tiimiä, pienemmällä tiimillä. – Ja toki, näitä näkemyksiä saa kommentoida ja kyseenalaistaa ihan vapaasti 😉
Järkeistetään koodareilla teetettävää työtä
Seuraavat ehdottamani toimenpiteet keskittyvät järkeistämään ja vähentämään tehtäviä, joihin tarvitsemme nimenomaan koodareita. Jotta kasvu on mahdollista, tarjoan tapoja vähentää koodarien töitä tehostamalla toimintaa, siirtämällä töitä toisille ammattilaisille ja automatisoimalla tekemistä.
Kokemukseni verkkokauppojen ja muiden sähköisten palveluiden kehityksen puolelta on osoittanut, että koodareilla teetetään valtavasti työtä, jonka voisi tehdä joku muu tai joka olisi mahdollista automatisoida. Siksi uskon vahvasti seuraaviin vaihtoehtoihin.
1. Hyödynnä palvelumuotoilua
Kehitä ja validoi palvelu erilaisten protojen avulla mahdollisimman toteutusvalmiiksi ennen kuin siirrät sen ohjelmistokehitykseen.
Moni kehitysorganisaatio toimii edelleenkin niin, että koodarit kehittävät uudet ominaisuudet tai palvelut liiketoiminnan toiveiden perusteella. Ratkaisujen todellinen vastaavuus asiakkaiden tarpeisiin tulee testattua vasta, kun ne julkaistaan. Pahimmassa tapauksessa runsaasti kehitysresursseja käytetään johonkin ominaisuuteen, joka on sisäisten asiantuntijoiden mielestä tärkeä, mutta asiakas ei sitä arvosta eli ominaisuus olisi kannattanut jättää toteuttamatta. Tätäkin on tullut nähtyä valitettavan paljon.
Rakennettaessa isoja kokonaisuuksia, kannattaa ne ensin pilkkoa pienempiin osiin, jotta validoinnit eivät blokkaa kehitystä. Tämän kokonaisuuden organisoijana hyvä projektipäällikkö on kullanarvoinen.
2. Panosta kehitystikettien laatuun
Varmista, että tikettien kirjoittaja kykenee kirjoittamaan riittävän kattavan kuvauksen, miten jokin ominaisuus toteutetaan. Valmiin tiketin pitäisi sisältää selkeät visuaaliset, rakenteelliset ja toiminnalliset määrittelyt. Toki työstöprosessiin kuuluu myös koodarien osallistamista. Kuitenkin, jos tiketit on kirjoitettu huolella yhteistyössä liiketoiminnan kanssa, on koodarien nopeampaa toteuttaa ne ja lopputulos vastaa todennäköisemmin odotuksia.
3. Anna koodareille työrauha
Huolehdi, että koodaritiimistä on nimetty yhteyshenkilö, jonka kanssa pääosa viestittelystä tapahtuu. Usein tämä on team lead. Sovi myös pelisäännöt, milloin ja miten muun tiimin kanssa viestitään. Näin tiimi saa työskennellä ilman jatkuvia häiriöitä ja saa enemmän aikaiseksi. Toki tärkeää on mahdollistaa vuorovaikutus. Kuitenkin, mikäli jatkuva viestittely käydään suoraan kehittäjien kanssa, keskeytyy heidän työnsä toistuvasti. Jokainen meistä tietää kokemuksesta, että työteho laskee merkittävästi toistuvien keskeytysten vuoksi.
4. Ota käyttöön design-järjestelmä ja vähennä koodaustarvetta pitkällä aikavälillä
Design-järjestelmä muun muassa mahdollistaa sähköisten palveluiden kaikkien visuaalisten elementtien, myös fonttien määrittelyn koodeineen kaikkineen. Esimerkkinä vaikka ”Lisää ostoskoriin” -nappi. Design-järjestelmään määritellään napin koko, väri ja fontti eri ympäristöissä. Myös koodi tallennetaan järjestelmään. Verkkokauppaa rakennettaessa napin kohdalla pyydetään noutamaan tarvittavat tiedot design-järjestelmästä. Myöhemmin, jos napin väriä halutaan vaihtaa, riittää, että muutokset tehdään design-järjestelmään ja väri muuttuu kerralla kaikissa kanavissa, jotka järjestelmään on linkitetty. Ja mikä parasta, muutokseen kuluu vain vähän aikaa ja sen pystyy tekemään designer koodarin sijaan.
OK. Totuuden nimissä on pakko myöntää, että design-järjestelmän käyttöönotto usein lisää hetkeksi koodaustarvetta. Toisaalta käyttöönoton jälkeen se automatisoi niin paljon, että ihmettelet, miksei järjestelmää tullut harkittua aiemmin. Mikäli aloitatte nyt uuden sähköisen palvelun rakentamisen, kannattaa design-järjestelmä ottaa alusta saakka mukaan. Tällöin lisätyötä ei tule juurikaan, mutta hyödyt ❤️. Suosittelen tutustumaan design-järjestelmiin.
5. Varmista koodareiden osaamisen jatkuva kehittyminen
Koodareista puhutaan usein massana. Yksilöiden välillä on kuitenkin valtavia eroja. Halvalla ei saa hyvää valitettavasti pätee tässäkin. Yksi hyvä koodari voi saada päivässä saman verran aikaan kuin kolme kokemattomampaa. Tai pahimmassa tapauksessa sen yhden hyvän aika menee niiden kolmen koodia korjatessa. Jostain toki aina täytyy aloittaa.
Hyvä ohjelmistokehittäjä osaa ottaa huomioon riippuvuudet, kirjoittaa mahdollisimman yksinkertaista koodia ja automatisoi mahdollisuuksien mukaan. Vertaisarviointi ja yhteiskehittäminen ovat hyviä mahdollisuuksia tällaisen osaamisen siirtämiseen. Myös agile coach pystyy vauhdittamaan osaamisen kehittymisprosessia. Kun huolehdit, että kehittäjät ehtivät jakaa osaamistaan ja oppia yhdessä säännöllisesti, lopputuloksen laatu paranee koko ajan ja koodin korjailuun tarvittava aikaa vähenee.
Löysitkö jotain kokeiltavaa?
Toivottavasti esittämäni näkökulmat herättivät miettimään, että tilanteessa voi miettiä muitakin ratkaisuja rekrytoinnin rinnalla. Voi olla, että keinot olivat jo sinulle tuttuja. Jos näin, suosittelen silti tarkastelemaan, olisiko vielä jollain saralla jotain, mitä voisi tehdä eri tavalla.
Oletko eri mieltä? Tai puuttuiko listastani mielestäsi tärkein näkökulma? Kerro ihmeessä.