Blogi | Cinia

Tech Radar: Ohjelmistokehityksen teknologiat Cinian projekteissa

Kirjoittanut Cinia Oy | 27.4.2022 9:26
Mitä teknologioita Cinian ohjelmistokehittäjät ja testaajat käyttävät? Rakennamme ratkaisuja räätälin otteella, mutta yhteisiä piirteitäkin projekteista löytyy. Tech Radar -kysely kartoitti, mitkä backend-, frontend- ja testausteknologiat korostuvat Cinian ohjelmistohankkeissa juuri nyt. 

Kyselyyn vastasi yhteensä 29 ohjelmistoratkaisujen projektitiimiä. Tiedot on kerätty loppuvuonna 2021, ja vertailemme tuloksia myös edelliseen kyselyyn, joka kuvasi vuotta 2019. On tyypillistä, että projektit hyödyntävät yhtä aikaa rinnakkaisia teknologioita, kuten useita eri frontend-työkaluja. Tämä on hyvä ottaa huomioon lukuja tulkitessa. 

Backend: Java ja Spring hallitsevat, nousussa myös Python, Typescript, Kotlin ja Node

Backend-ohjelmointiteknologioista Javan ja Springin käyttö on lisääntynyt merkittävästi vuoden 2019 tilanteeseen verrattuna. Kun niitä aiemmin hyödynsi yhteensä 45 % projekteista, on lukema nyt jo 72 %.

Cinialla aiemmin pienemmässä roolissa olleet ohjelmointikielet Kotlin, Node, Typescript ja Python ovat kasvattaneet osuuttaan. Kukin niistä sai useita mainintoja eri projekteista.

C#:n ja C++:n käyttö on puolestaan vähentynyt selvästi. Muita backend-teknologioita, joita tavattiin vain harvakseltaan, olivat mm. Camel, Go, Kafka, .NET Core sekä Java EE.

 

PostgreSQL jatkaa nousuaan, alustaratkaisut siirtyvät kohti pilveä

Kysyimme projektitiimeiltä myös tietokantateknologioista ja alustaratkaisuista, joiden raameissa ne tekevät ohjelmistokehitystä. 

Relaatiotietokantojen osuus on hieman suurempi kuin edellisessä kyselyssä. PostgreSQL piti kärkipaikkaa (63 % projekteista), kun sitä oli aiemmin hyödyntänyt hieman alle puolet tiimeistä. Toisaalta MongoDB:n osuus on myös aiempaa suurempi (23 %). Se kertoo NoSQL-tietokantojen käytön kasvusta.

Mainintoja sai myös joukko muita tietokantateknologioita (mm. Redis, Azure, H2, ElasticSearch ja MariaDB). Huomiota herättävän pieni osuus on Oraclella, joka oli jonon hännillä AWS Auroran kanssa. Oraclen käyttö ei ole ollut järin suurta ennenkään, mutta on selvästi yhä hiipumaan päin.

 

Pilvipalveluiden hyödyntäminen on jatkanut tasaista kasvuaan. Yli puolessa Cinian projekteista kehitystyötä tehdään julkipilviympäristössä. Yleisin pilviympäristö on AWS, joka on käytössä 34%:ssa projekteista. Merkittävä osuus on myös Azurella (18%). 

Noin neljännes Cinian projekteista toteutetaan yhä asiakkaiden on-premise -ympäristöihin. Taustalla ovat silloin yksittäisiin järjestelmiin kohdistuvat asiakasvaatimukset. Trendi on kuitenkin selkeästi sama kuin markkinassa yleisestikin: työkuormia siirretään yhä enemmän omilta palvelimilta pilviympäristöihin.

 

Frontend: React on vahvistanut asemaansa

Tyypitettyjen kielien käyttö on kasvanut frontend-kehittämisessä selvästi. Typescript ja Javascript olivat mukana aiemmin vain yksittäisissä hankkeissa, kun nyt niitä hyödyntää noin joka toinen tiimi (Typescriptiä 56 %, Javascriptiä 48 % projekteista).

React on ollut jo pidemmän aikaa frontend-devaajan tärkeä työväline. Sen rooli on laajentunut entisestään, sillä nyt Reactia käyttää jo kaksi kolmesta projektista. Reactin kasvu kertoo samalla siitä, että yksi projekti käyttää useampia frontend-teknologioita kerrallaan. 

Myös Material UI ja Angular saivat Tech Radar -kyselyssä useampia mainintoja.

 

Automaatiotestauksen teknologiat yhä tärkeämpiä

Teemme paljon yhteiskunnan kannalta kriittisten järjestelmien ohjelmistokehitystä. Monipuolinen testaaminen onkin alue, johon paneudumme ohjelmistoprojekteissa huolella.

Automaatiotestauksen osuus projekteissa on kasvanut. Varsinkin Robot Framework kuluu käytössä: 86 % projekteista hyödyntää sitä testiprosessien rakentamisessa ja testien ajamisessa. Kasvu aiemman kyselyn tulokseen (60 %) verrattuna kertoo tietoisesta työstä. Manuaalisen testaamisen sijaan olemme halunneet vahvistaa järjestelmien kestävyyttä automaatiotestausta lisäämällä. Muut automaatiotestauksen työkalut, kuten AutoIT, täydentävät palettia.

Kuormitustestaus on yhä useammin osa ohjelmistoratkaisujen kehitystä. Sitä tekee säännöllisesti jo kaksi kolmesta Cinian projektitiimistä. Käytetyin teknologia on Jmeter. Myös Locustin käyttö on noussut kahdessa vuodessa läheltä nollaa jopa 40 %:iin.

 

Pidempiä projekteja, enemmän yhteistyötä

Asiakkaille toimitettavien ohjelmistohankkeiden kesto on pidentynyt aiemmasta. Tulokset kertovat, ettei Cinialla tehdä käytännössä lainkaan lyhyitä, alle kolmen kuukauden ohjelmistokehitysprojekteja, vaan keskimääräinen pituus hankkeelle on yli kaksi vuotta. 

Osa asiakasprojekteista on muuttunut jatkuvaksi kehityskumppanuudeksi. Luottamus näkyy myös korkeana asiakastyytyväisyytenä.

Projektitiimien koko on kasvanut. Tätä kehitystä olemmekin Cinialla halunneet vahvistaa, sillä kollegojen tuki parantaa työssä viihtymistä

  • Pienten tiimien osuus (1–3 hlöä) on laskenut 30 %:iin. 
  • Saman asiakkuuden ympärillä tekee säännöllisesti töitä tyypillisimmin 3–4 henkilön tiimi (nyt 20 %, aiemmin 12%) tai 5–8 henkilön tiimi (nyt 14 %, aiemmin 4 %). 
  • Asiantuntijoiden määrä ja tiimin kokoonpano voi vaihdella projektin aikana. Suurimpiin projekteihin on osallistunut kaikkiaan parikymmentä henkilöä hankkeen eri vaiheissa.


Käytännössä kaikki projektit toteutetaan ketterillä menetelmillä. Onko viitekehys sitten scrum, scrum-ban, kanban, SAFe tai yhdistelmämalli, se riippuu asiakkaan tarpeista. Sekin kertoo siitä, että taivumme moneen.

Innostutko projekteista, joissa pääset tuottamaan laadukasta koodia ja vaikutat tiimisi kanssa arkkitehtuuriin alusta loppuun? Ymmärrätkö hyvin asiakkaiden liiketoiminnan tarpeita ja haluat toteuttaa ne uskaliaasti ja perustellen oikeilla teknisillä ratkaisuilla? 

Katso avoimet työpaikat ja liity joukkoon!