Olen työskennellyt järjestelmäkehittäjänä monissa erilaisissa projekteissa työurani aikana, mutta Netumilla pääsin mukaan tähän astisen urani isoimpaan projektiin. Kerron tässä blogissa kokemuksia isosta ja yhteiskunnallisesti merkittävästä julkisen hallinnon projektista kehittäjän näkökulmasta.
Teknologioiden kestettävä aikaa
Projektin käynnistyessä valitaan järjestelmän teknologiat. On aina mielenkiintoista pohtia, millaiset teknologiat sopivat kuhunkin projektiin. Isossa projektissa teknologioiden on kestettävä aikaa, joten valinta painottuu sellaisiin teknologioihin, joiden uskotaan olevan voimissaan vielä useiden vuosien kuluttua. Samalla taataan se, että järjestelmälle on helppo löytää kehittäjiä koko sen elinkaaren ajan.
Liityin mukaan projektiin jo varhaisessa vaiheessa, joten pääsin mukaan rakentamaan järjestelmän perusrakenteita. Monet järjestelmän tulevat toiminnot tulisivat nojaamaan näihin peruspalveluihin, joten oli varsin kiehtovaa miettiä projektin arkkitehtien kanssa ratkaisuja niin, että ne täyttäisivät kaikki tarvittavat vaatimukset myös pitkällä tulevaisuudessa.
Asiantuntemusta monella saralla
Isossa projektissa on yleensä resursseja riittävästi niin, että jokaiselle osa-alueelle voidaan resursoida oman alansa parhaita asiantuntijoita. Esimerkiksi pilvi- ja infraosaaminen on tärkeässä osassa, kun toteutetaan nykyaikaista järjestelmää. Se on kuitenkin varsin laaja osa-alue, joten on hienoa, että meillä on siihen erikoistuneita asiantuntijoita, joilta voi myös itse oppia pilveen liittyviä käytänteitä ja teknologioita.
Olen oppinut projektin aikana paljon mikropalveluista ja pilvipalveluista, mutta myös siitä, kuinka ohjelmistokehitysprosessi toimii isossa projektissa.
Matkan varrella projektiorganisaation ja tiimien rakennetta säädetään useaan kertaan vastaamaan kulloistakin projektin vaihetta. Olen itsekin päässyt mukaan pohtimaan tiimien rakennetta kehittäjän kannalta ja olen kokenut sen varsin mielenkiintoiseksi. Tiimien koostumusta pohdittaessa pyritään aina muodostamaan tasapainoisia kokonaisuuksia, joissa on erilaisia, toisiaan tukevia vahvuuksia.
Melko nopeasti sain myös itse lisää vastuuta Lead Developer -tittelin myötä. Tässä tehtävässäni olen toiminut nöyrällä asenteella, sillä olen hyvin tietoinen siitä, että projektissamme on erittäin lahjakkaita kehittäjiä. Ajattelen kuitenkin niin, että tässä roolissa olen päässyt hyödyntämään omia vahvuuksiani täysimääräisesti ja sitä kautta antamaan täyden panoksen projektin eteen.
Uusia vahvistuksia
Kun projekti pääsi kunnolla vauhtiin ja perustana olevat palvelut oli ainakin alustavasti rakennettu, vauhdittui varsinaisten toimintojen kehittäminen. Tässä vaiheessa tarvitsimme myös lisää työntekijöitä projektiin. Sain olla mukana perehdyttämässä monia uusia kehittäjiä, joista on sittemmin tullut minulle hyviä työkavereita. Perehdytystä varten on kasattu perehdytyssuunnitelma, jotta kaikki uudet tekijät saavat varmasti riittävästi opastusta. Tärkeintä on kuitenkin työn kautta oppiminen ja siinä uuden henkilön oma tiimi on toiminut vahvana tukena uusille tekijöille. On ollut todella hienoa nähdä kuinka kollegat ovat kasvaneet erilaisiin rooleihin, hyödyntäen omia vahvuuksiaan työnteossa.
Jatkuvasti kehittyvän järjestelmän hallinta
Järjestelmän julkaisuratkaisut ovat kehittyneet matkan varrella rutkasti: projektin alkupuolella uusia julkaisuja julkaistiin loppukäyttäjien käyttöön enemmän tai vähemmän säännöllisesti, sen mukaan kun toimintoja valmistui. Tässä oli kuitenkin tiettyjä haasteita, eikä käytäntö tuntunut kovin hallitulta. Niinpä eräs projektimme jäsen teki opinnäytetyönään selvityksen ja ratkaisuehdotuksen säännölliseen julkaisurytmiin siirtymisestä. Se olikin menestyksekäs siirtyminen, sillä julkaisurytmi saatiin säännölliseksi ja hallitummaksi.
Järjestelmän kehittyessä vuosien mittaan sen monimutkaisuus kasvaa. Moni henkilö on ollut mukana projektissa jo useita vuosia tuntien myös sen aikaisempia toimintoja, mikä on hienoa ja arvokasta tietämystä.
Tekniseltä kannalta on pidettävä voimassa tietynlaiset suuntaviivat miten asiat toteutetaan. Kun tekninen toteutus noudattelee samanlaisia käytänteitä eri puolilla järjestelmää, kehittäjien on helppo navigoida ohjelmakoodissa.
Tarvittaessa projektin teknologioita on päivitettävä ja muita teknisiä ratkaisuja edelleenkehitettävä, jotta ne pysyvät ajanmukaisina ja tehokkaina.
Askelittain tuotantoon
Nykyaikaisessa ohjelmistokehityksessä pyritään julkaisemaan uusia toimintoja jatkuvalla rytmillä, mieluummin tiheästi kuin harvoin. Vuosien aikana olemme edenneet hallitusti rakentaen järjestelmää yhä laajemmaksi. Jokaisessa julkaisussa on otettu käyttöön uusia toimintoja ja tehty parannuksia entisiin. Olen erityisen tyytyväinen siitä, että järjestelmän laatu on pysynyt aikataulupaineista huolimatta hyvällä tasolla. Vakavien virhetilanteiden selvittely veisi huomattavan paljon aikaa, joten kehitystyössä on pidettävä paineista huolimatta pää kylmänä.
Elämää tuotannossa
Kun loppukäyttäjillä alkaa olla melko paljon toimintoja käytössä, myös tuki- ja selvitystehtävien määrä väistämättä kasvaa. Näin käy kaikissa järjestelmissä, vaikka laatu olisikin mahdollisimman hyvää. Tuki- ja selvitystehtävät tarjoavat kehittäjille mielenkiintoisia haasteita. On hienoa, kun ongelmatilanteeseen löytää syyn ja osaa kehittää siihen ratkaisun.
Kehitys jatkuu
Olemme saaneet jo hyvin paljon toimintoja loppukäyttäjien käyttöön, mutta työ jatkuu edelleen. Kun suurin paine julkisen puolen toiminnoista alkaa helpottaa, jatkamme mm. erilaisten viranomaispuolen toimintojen ja raportointien kehittämistä.
Projekti tuleekin tarjoamaan mukavaa tekemistä vielä pitkäksi aikaa.
Haluatko lisätietoja? Ota meihin yhteyttä.
Lue myös muita aiheeseen liittyviä blogeja

”Jatkuva release-show ei tunnu kovin upealta” – tietojärjestelmäprojektin julkaisuprosessin kehittäminen

Tekemättömän työn maksimointi on onnistuneen digitalisaatioprojektin avaintekijä

Ketterät periaatteet: enemmän kuin menetelmät

Onnistuneen digipalveluprojektin taustalla on ymmärrys toimintaympäristöstä
