OhjelmistokehitysElinkaaren hallinta

Ohjelmiston elinkaari: mitä tapahtuu hankintapäätöksen jälkeen

Ohjelmisto ei ole kertaostos, vaan pitkä suhde, joka jatkuu käyttöönoton jälkeen vähintäänkin vuosia. Tässä oppaassa käydään läpi koko elinkaari ulkoistuspäätöksestä siihen hetkeen, kun järjestelmä joko uudistuu yrityksen mukana tai tulee tiensä päähän.

Henkilöt istuvat neuvottelupöydän ääressä päättämässä valinnoista.
Onni Keiskoski, Marketing Coordinator

Oh­jel­mis­ton han­kin­nan ja elin­kaa­ren vai­heet, jot­ka on hy­vä tie­dos­taa toi­mit­ta­jaa va­li­tes­sa

Oh­jel­mis­ton elin­kaa­ri voi­daan ja­kaa kar­keas­ti kuu­teen vai­hee­seen:

1. Ul­kois­tus­pää­tös

2. Han­kin­ta ja kil­pai­lu­tus

3. Käyt­töön­ot­to

4. Yl­lä­pi­to

5. Ke­hi­tys ja tek­ni­nen vel­ka

6. Uu­dis­ta­mi­nen tai ir­tau­tu­mi­nen

Kak­si en­sim­mäis­tä vai­het­ta ovat yri­tys­ten pää­tök­sen­teos­sa yleen­sä par­hai­ten tie­dos­sa. Nel­jä vii­meis­tä jää­vät usein vä­hem­mäl­le huo­miol­le, vaik­ka juu­ri niis­sä syn­ty­vät suu­rim­mat kus­tan­nuk­set ja ris­kit.

Ul­kois­tus­pää­tös: va­lin­ta jo­ta har­voin teh­dään sys­te­maat­ti­ses­ti

Mo­ni yri­tys pää­tyy ul­kois­ta­maan oh­jel­mis­to­ke­hi­tyk­sen il­man, et­tä vaih­toeh­toa, oman ke­hi­tys­tii­min ra­ken­ta­mis­ta, on oi­keas­ti pun­nit­tu rin­nal­la. Pää­tös syn­tyy usein re­surs­si­ti­lan­teen tai ai­ka­tau­lu­pai­neen pe­rus­teel­la, ei pit­kän ai­ka­vä­lin ana­lyy­sin.

Ta­lous­tie­tees­sä ul­kois­tus­pää­tös­tä ar­vioi­daan yleen­sä sil­lä, kuin­ka pal­jon yh­teis­työ vaa­tii val­von­taa ja koor­di­noin­tia suh­tees­sa sii­tä saa­ta­vaan hyö­tyyn. Jos toi­mit­ta­ja­suh­de vaa­tii jat­ku­vaa tark­kai­lua ja yk­si­tyis­koh­tais­ta oh­jaus­ta, ul­kois­ta­mi­sen hyö­ty pie­ne­nee. Jos toi­mit­ta­ja pys­tyy toi­mi­maan it­se­näi­ses­ti sel­keän ta­voit­teen suun­taan, ul­kois­ta­mi­nen kan­nat­taa yleen­sä pa­rem­min.

Käy­tän­nös­sä tä­mä tar­koit­taa, et­tä ul­kois­tus­pää­tös­tä kan­nat­taa ar­vioi­da yh­tä huo­lel­li­ses­ti kuin mi­tä ta­han­sa muu­ta in­ves­toin­tia. Ky­sy­mys ei ole vain sii­tä, on­ko yri­tyk­sel­lä osaa­mis­ta si­säl­lä, vaan myös sii­tä, kuin­ka pal­jon toi­mit­ta­jaa pi­tää val­voa ja oh­ja­ta ha­lu­tun tu­lok­sen saa­vut­ta­mi­sek­si.

Han­kin­ta ja kil­pai­lu­tus: mi­tä tar­jous­ver­tai­lu ei ker­ro

Kun ul­kois­tus­pää­tös on teh­ty, edes­sä on toi­mit­ta­jan ja rat­kai­sun va­lin­ta.

Ylei­sin on­gel­ma ei ole vää­rän toi­mit­ta­jan va­lin­ta, vaan se, et­tä tar­jouk­sia ei voi ai­dos­ti ver­ra­ta kes­ke­nään. Jos han­kin­nan koh­det­ta ei ole mää­ri­tel­ty riit­tä­vän tar­kas­ti, jo­kai­nen toi­mit­ta­ja tul­kit­see tar­peen omal­la ta­val­laan. Tar­jous­ten hin­tae­ro voi täl­löin ker­toa enem­män tul­kin­tae­rois­ta kuin toi­mit­ta­jien te­hok­kuu­des­ta. Hal­vin tar­jous on usein se, jos­sa on ym­mär­ret­ty vä­hi­ten – tai jos­sa on tie­toi­ses­ti jä­tet­ty eni­ten pois.

Han­kin­nan val­mis­te­luun: tar­peen kir­kas­ta­mi­seen, ta­voit­tei­den aset­ta­mi­seen ja rea­lis­ti­sen bud­je­tin mää­rit­te­lyyn kan­nat­taa va­ra­ta oma ai­kan­sa. Olem­me koon­neet nä­mä läh­tö­koh­dat eril­li­seen ar­tik­ke­liin: Ota nä­mä asiat huo­mioon oh­jel­mis­to­pal­ve­lun han­kin­nas­sa.

Käyt­töön­ot­to: vai­he jos­sa on­gel­mat en­sin nä­ky­vät

Käyt­töön­ot­to on het­ki, jol­loin suun­ni­tel­mat koh­taa­vat to­del­li­suu­den. Puut­teel­li­set vaa­ti­mus­mää­rit­te­lyt, in­te­graa­tio-on­gel­mat ja käyt­tä­jien to­tu­tut työ­ta­vat nouse­vat esiin juu­ri täs­sä vai­hees­sa.

Käyt­töön­ot­to ei ole vain tek­ni­nen suo­ri­tus. Se on myös pal­ve­lu­muo­toi­lun ky­sy­mys: mi­ten käyt­tä­jät ote­taan mu­kaan, mi­ten muu­tos vies­ti­tään ja mi­ten uusi työ­ta­pa juur­tuu osak­si ar­jen pro­ses­se­ja. Ku­kaan toi­mit­ta­ja ei ha­lua mark­ki­noi­da het­keä, jol­loin oma työ näyt­tää kes­ke­ne­räi­sel­tä, jo­ten juu­ri tä­hän vai­hee­seen kan­nat­taa va­ra­ta enem­män ai­kaa ja re­surs­se­ja kuin mi­tä tar­jous­vai­hees­sa yleen­sä ole­te­taan.

In­te­graa­tiot: koh­ta jos­sa käyt­töön­ot­to useim­mi­ten ve­nyy

Har­va jär­jes­tel­mä toi­mii yk­sin. In­te­graa­tioil­la tar­koi­te­taan eri so­vel­lus­ten, jär­jes­tel­mien tai tie­to­läh­tei­den yh­dis­tä­mis­tä toi­siin­sa ja nii­den vä­lis­tä vuo­ro­vai­ku­tus­ta. Ne mah­dol­lis­ta­vat tie­don ja­ka­mi­sen ja uu­den­lais­ten omi­nai­suuk­sien tar­joa­mi­sen lop­pu­käyt­tä­jil­le il­man, et­tä kaik­kea tar­vit­see ra­ken­taa alus­ta as­ti it­se.

In­te­graa­tiot ovat sa­mal­la se koh­ta, jos­sa ai­ka­tau­lut tyy­pil­li­ses­ti pet­tä­vät. Syy on har­voin oman toi­mit­ta­jan osaa­mi­ses­sa: in­te­graa­tio riip­puu ai­na toi­ses­ta os­a­puo­les­ta, jon­ka ra­ja­pin­ta, do­ku­men­taa­tio ja vas­taus­no­peus ei­vät ole hank­keen hal­lin­nas­sa.

Os­ta­jan kan­nal­ta kol­me asi­aa rat­kai­see, su­juu­ko in­te­graa­tio vai ei:

1. Mää­rit­te­ly en­nen to­teu­tus­ta. En­nen in­te­graa­tion to­teu­tus­ta sel­vi­te­tään, mi­tä tie­to­ja ja toi­min­to­ja ha­lu­taan in­tegroi­da ja mi­ten.

2. Ra­ja­pin­to­jen do­ku­men­taa­tion ta­so. Do­ku­men­toi­dut ra­ja­pin­nat hel­pot­ta­vat to­teu­tus­ta ja an­ta­vat jo al­ku­vai­hees­sa hy­vän yleis­ku­van sii­tä, mi­kä on yli­pää­tään mah­dol­lis­ta. Jos vas­ta­puo­len ra­ja­pin­taa ei ole do­ku­men­toi­tu, työ­mää­rä­ar­vio on ai­na epä­var­ma.

3. Do­ku­men­toin­ti ja tes­tit myös oman to­teu­tuk­sen osal­ta. Käy­te­tyt ra­ja­pin­nat ja in­te­graa­tio­pis­teet kan­nat­taa do­ku­men­toi­da ja niil­le kan­nat­taa teh­dä au­to­maat­ti­ses­ti ajet­ta­vat tes­tit. Täl­löin käyt­töön­o­ton jäl­keen syn­ty­vät häi­riöt ha­vai­taan hä­ly­tys­ten avul­la en­nen kuin käyt­tä­jä huo­maa ne.

Tä­mä kol­mas koh­ta ei ole vain tek­ni­nen yk­si­tyis­koh­ta. Do­ku­men­toi­mat­to­mat in­te­graa­tio­pis­teet ovat yk­si ylei­sim­mis­tä syis­tä sii­hen, mik­si jär­jes­tel­mäs­tä on myö­hem­min vai­kea ir­tau­tua: tie­to sii­tä, mi­tä jär­jes­tel­mä oi­keas­taan kes­kus­te­lee ym­pä­ris­tön­sä kans­sa, on vain yh­den toi­mit­ta­jan tii­min muis­tis­sa.

Yl­lä­pi­to: nä­ky­mä­tön bud­jet­ti­ri­vi

Kun jär­jes­tel­mä on käy­tös­sä, al­kaa yl­lä­pi­to. Yl­lä­pi­dol­la var­mis­te­taan, et­tä tuo­te tai pal­ve­lu py­syy toi­min­ta­ky­kyi­se­nä, op­ti­moi­tu­na ja tie­to­tur­val­li­se­na. Käy­tän­nös­sä se kat­taa laa­jem­man jou­kon teh­tä­viä kuin os­ta­ja usein olet­taa:

  • in­fra­struk­tuu­rin tar­joa­mi­nen ja yl­lä­pi­to
  • so­vel­lus­ten yl­lä­pi­to ja käyt­tä­jä­tu­ki
  • var­muus­ko­pioin­ti ja pa­lau­tus­ten tes­taa­mi­nen
  • suo­ri­tus­ky­vyn seu­ran­ta ja op­ti­moin­ti
  • luo­tet­ta­vuu­den seu­ran­ta ja yl­lä­pi­to
  • tie­to­tur­va­päi­vi­tyk­set ja riip­pu­vuuk­sien päi­vit­tä­mi­nen
  • jat­ku­van in­tegroin­nin ja toi­mi­tuk­sen pro­ses­sien au­to­ma­ti­soin­ti
  • pie­net muu­tok­set muut­tu­viin tar­pei­siin

Kaik­ki nä­mä mak­sa­vat, ja ne mak­sa­vat jo­ka vuo­si. Sil­ti yl­lä­pi­to jää usein han­kin­ta­pää­tök­sen var­joon: bud­je­toin­ti kes­kit­tyy ke­hi­tys­hin­taan, ja yl­lä­pi­to las­ke­taan vas­ta myö­hem­min, eril­li­se­nä ja usein aliar­vioi­tu­na erä­nä. To­del­li­suu­des­sa yl­lä­pi­to on jat­ku­va, vuo­sit­tain tois­tu­va ku­lue­rä, jo­ka ker­tyy ko­ko jär­jes­tel­män elin­kaa­ren ajan.

Toi­mi­vas­ta yl­lä­pi­dos­ta saa­ta­va hyö­ty on kui­ten­kin kon­kreet­ti­nen. Hy­vin hoi­det­tu yl­lä­pi­to las­kee uusien omi­nai­suuk­sien li­sää­mi­sen kus­tan­nus­ta, kos­ka poh­ja py­syy muu­tos­kel­poi­se­na. Se myös vä­hen­tää häi­riöis­tä ai­heu­tu­via kat­ko­ja ja nii­den lii­ke­toi­min­ta­vai­ku­tuk­sia. Huo­nos­ti hoi­det­tu yl­lä­pi­to te­kee päin­vas­toin: jo­kai­nen uusi omi­nai­suus mak­saa hie­man enem­män kuin edel­li­nen.

Toi­nen huo­mioi­ta­va asia on yl­lä­pi­to­so­pi­muk­sen hin­nan­ke­hi­tys. Jos so­pi­mus­ta ei kil­pai­lu­te­ta uu­del­leen, hin­ta voi nous­ta vuo­si vuo­del­ta il­man sel­ke­ää pe­rus­tet­ta. Tä­hän kan­nat­taa va­rau­tua jo so­pi­mus­vai­hees­sa so­pi­mal­la hin­noit­te­lu­pe­ri­aat­teis­ta ja tar­kis­tus­vä­leis­tä etu­kä­teen.

Kan­nat­taa myös tar­kis­taa, mi­tä so­vit­tu yl­lä­pi­to to­sia­sias­sa si­säl­tää. Ero "vi­ko­jen kor­jaa­mi­sen" ja yl­lä ku­va­tun ko­ko­nai­suu­den vä­lil­lä on kus­tan­nuk­sis­sa mer­kit­tä­vä, ei­kä se ai­na käy tar­jouk­ses­ta yk­si­se­lit­tei­ses­ti il­mi.

Tek­ni­nen vel­ka: syy mik­si pie­ni­kin muu­tos muut­tuu kal­liik­si

Jo­kai­nen oh­jel­mis­to ke­hit­tyy ajan myö­tä. Jo­kai­nen ai­ka­tau­lu­pai­neen al­la teh­ty no­pea rat­kai­su, jo­ka vaa­tii myö­hem­min kor­jaus­ta, syn­nyt­tää "vel­kaa" koo­diin.

Kä­si­te on tut­tu oh­jel­mis­to­ke­hit­tä­jil­le, mut­ta har­voin avat­tu lii­ke­toi­min­ta­päät­tä­jäl­le. Käy­tän­nös­sä tek­ni­nen vel­ka nä­kyy os­ta­jal­le yh­te­nä oi­ree­na: muu­tok­set, jot­ka ai­em­min oli­vat no­pei­ta ja edul­li­sia, muut­tu­vat vuo­sien var­rel­la hi­taam­mik­si ja kal­liim­mik­si. Syy ei usein­kaan ole huo­no ke­hit­tä­jä, vaan ker­ty­neet pi­ka­rat­kai­sut tai van­hen­tu­neet rat­kai­sut, joi­ta ei kos­kaan ole eh­dit­ty kor­ja­ta.

Tek­ni­nen vel­ka ei ole au­to­maat­ti­ses­ti huo­no asia. Jos­kus se on tie­toi­nen ja pe­rus­tel­tu va­lin­ta, esi­mer­kik­si kun tuo­te pi­tää saa­da mark­ki­noil­le no­peas­ti. On­gel­ma syn­tyy sil­loin, kun vel­kaa ei tun­nis­te­ta ei­kä sii­tä ker­ro­ta. Os­ta­jan kan­nat­taa ky­syä suo­raan, mi­ten tek­nis­tä vel­kaa seu­ra­taan ja ra­por­toi­daan osa­na yl­lä­pi­toa.

Uu­dis­ta­mi­nen tai ir­tau­tu­mi­nen: kak­si mah­dol­lis­ta pol­kua

Par­haas­sa ta­pauk­ses­sa oh­jel­mis­to ke­hit­tyy ja kas­vaa yri­tyk­sen mu­ka­na, jol­loin van­hen­tu­nei­ta osia kor­va­taan si­tä mu­kaa kun tar­ve syn­tyy ei­kä muu­tos kos­kaan kas­va eril­li­sek­si hank­keek­si. Toi­ses­sa ta­pauk­ses­sa muu­tos tu­lee ker­ta­ry­säyk­sel­lä: edes­sä on toi­mit­ta­jan vaih­to, uu­del­leen­ra­ken­nus tai siir­ty­mä toi­seen rat­kai­suun.

Kum­pi pol­ku to­teu­tuu, ei ole sat­tu­maa. Osa lau­kai­si­jois­ta on oman hal­lin­nan ul­ko­puo­lel­la: alus­tan tu­ki päät­tyy, toi­mit­ta­ja myy­dään, sään­te­ly muut­tuu. Osa on ko­ko­naan omis­sa kä­sis­sä: tek­ni­sen ve­lan ta­so, do­ku­men­taa­tion kun­to, oi­keu­det läh­de­koo­diin ja ark­ki­teh­tuu­rin muu­tos­ky­ky.

Sa­mat toi­met, joil­la ir­tau­tu­mi­seen va­rau­du­taan, vä­hen­tä­vät sen to­den­nä­köi­syyt­tä.

Jul­kis­hal­lin­non tar­kas­tuk­sis­sa on ha­vait­tu ta­pauk­sia, jois­sa van­has­ta jär­jes­tel­mäs­tä ei ole voi­tu ir­tau­tua, kos­ka läh­de­koo­din oi­keu­det ovat jää­neet ko­ko­naan toi­mit­ta­jal­le. Täl­löin yl­lä­pi­toa ei ole voi­tu edes kil­pai­lut­taa, ja ti­laa­ja on käy­tän­nös­sä jää­nyt yh­den toi­mit­ta­jan va­raan. Tä­mä ei ole poik­keus vaan tun­net­tu ris­ki, jo­ka voi­daan vält­tää so­pi­mal­la oi­keuk­sis­ta ja do­ku­men­taa­tios­ta jo han­kin­ta­vai­hees­sa.

Oi­keu­det ovat kui­ten­kin vain puo­let asias­ta. Vaik­ka läh­de­koo­di oli­si ti­laa­jan omai­suut­ta, ir­tau­tu­mi­nen voi ol­la haas­ta­vaa, jos do­ku­men­taa­tio­ta ei ole tai in­te­graa­tio­pis­tei­tä ei ole ku­vat­tu. Uusi toi­mit­ta­ja jou­tuu täl­löin sel­vit­tä­mään jär­jes­tel­män toi­min­ta­lo­gii­kan koo­dis­ta kä­sin, ja se mak­saa. Täs­tä syys­tä do­ku­men­taa­tio­vaa­ti­mus kan­nat­taa kir­ja­ta so­pi­muk­seen yh­tä täs­mäl­li­ses­ti kuin oi­keu­det­kin, ja mie­lui­ten niin, et­tä do­ku­men­taa­tio päi­vit­tyy yl­lä­pi­don yh­tey­des­sä ei­kä vas­ta yh­teis­työn päät­tyes­sä.

Ir­tau­tu­mi­sen to­del­li­nen hin­ta ei ole vain mah­dol­li­nen so­pi­mus­sak­ko. Sii­hen kuu­luu tie­don ja do­ku­men­taa­tion siir­to, uu­den toi­mit­ta­jan pe­reh­dy­tys ja usein myös rin­nak­kais­käyt­tö­jak­so, jon­ka ai­ka­na mo­lem­mat jär­jes­tel­mät pyö­ri­vät yh­tä ai­kaa. Nä­mä kus­tan­nuk­set jää­vät hel­pos­ti huo­maa­mat­ta, kun­nes ti­lan­ne on jo kä­sil­lä.

Mik­si ko­ko ket­ju kan­nat­taa näh­dä yh­te­nä ko­ko­nai­suu­te­na

Nä­mä vai­heet ei­vät ole toi­sis­taan ir­ral­li­sia. Ul­kois­tus­pää­tök­sen ai­ka­na teh­dyt va­lin­nat vai­kut­ta­vat sii­hen, mil­lai­sek­si yl­lä­pi­to muo­dos­tuu. Käyt­töö­no­tos­sa syn­ty­neet in­te­graa­tiot ja nii­den do­ku­men­taa­tio mää­rit­tä­vät, kuin­ka hel­pos­ti jär­jes­tel­mää voi myö­hem­min ke­hit­tää. Yl­lä­pi­don ai­ka­na syn­tyy tek­nis­tä vel­kaa, jos ai­ka­tau­lu­pai­neet oh­jaa­vat pää­tök­siä. Ker­ty­nyt vel­ka puo­les­taan mää­rit­tää, kuin­ka help­poa tai vai­ke­aa ir­tau­tu­mi­nen lo­pul­ta on.

Kun ko­ko ket­ju näh­dään yh­te­nä ko­ko­nai­suu­te­na, mo­ni myö­hem­min kal­lis yl­lä­tys voi­daan en­na­koi­da jo han­kin­ta­vai­hees­sa. Tä­mä ei tar­koi­ta, et­tä kaik­kea pi­täi­si osa­ta etu­kä­teen. Se tar­koit­taa, et­tä oi­keat ky­sy­myk­set kan­nat­taa esit­tää ajois­sa, ei vas­ta sil­loin kun on­gel­ma on jo edes­sä.

Mi­tä kan­nat­taa sel­vit­tää en­nen so­pi­muk­sen al­le­kir­joit­ta­mis­ta

Muu­ta­ma ky­sy­mys, jo­ka kan­nat­taa käy­dä lä­pi jo en­nen kuin so­pi­mus al­le­kir­joi­te­taan:

Ku­ka omis­taa läh­de­koo­din ja do­ku­men­taa­tion? Tä­mä rat­kai­see, kuin­ka va­paas­ti jär­jes­tel­mää voi myö­hem­min ke­hit­tää tai siir­tää toi­sel­le toi­mit­ta­jal­le.

Mi­tä yl­lä­pi­to tar­kal­leen si­säl­tää? Kat­taa­ko se pel­kän vir­hei­den kor­jauk­sen vai myös in­fra­struk­tuu­rin, var­muus­ko­pioin­nin pa­lau­tus­tes­tauk­si­neen, tie­to­tur­va­päi­vi­tyk­set ja suo­ri­tus­ky­vyn seu­ran­nan?

Mi­ten yl­lä­pi­don hin­noit­te­lu ke­hit­tyy ajan myö­tä? So­pi­muk­ses­ta kan­nat­taa löy­tyä sel­keät pe­ri­aat­teet hin­nan­ko­ro­tuk­sil­le, ei vain läh­tö­hin­ta.

Mi­hin jär­jes­tel­miin in­tegroi­du­taan ja ku­ka vas­taa nii­den ra­ja­pin­nois­ta? Jos in­te­graa­tion toi­nen pää on kol­man­nen os­a­puo­len hal­lus­sa, kan­nat­taa so­pia etu­kä­teen, ke­nen vas­tuul­la vii­väs­tyk­set ja muu­tok­set ovat.

Mi­ten tek­ni­ses­tä ve­las­ta ra­por­toi­daan? Jos toi­mit­ta­ja ei osaa vas­ta­ta tä­hän ky­sy­myk­seen, se on it­ses­sään tie­to.

Mi­tä ir­tau­tu­mi­nen käy­tän­nös­sä vaa­ti­si? Tie­don­siir­to, do­ku­men­taa­tio ja mah­dol­li­nen rin­nak­kais­käyt­tö kan­nat­taa käy­dä lä­pi pe­ri­aat­teen ta­sol­la jo en­nen kuin nii­tä tar­vi­taan.

Näi­hin ky­sy­myk­siin vas­taa­mi­nen ei ta­kaa on­gel­ma­ton­ta han­ket­ta. Se kui­ten­kin siir­tää useim­mat isot yl­lä­tyk­set sin­ne, mis­sä nii­hin on vie­lä help­po vai­kut­taa: neu­vot­te­lu­pöy­tään, ei kol­me vuot­ta myö­hem­min syn­ty­nee­seen krii­siin.

Tar­vit­set­ko apua?

Mie­tit­kö yl­lä­pi­don kus­tan­nuk­sia, in­te­graa­tioi­ta tai toi­mit­ta­ja­riip­pu­vuut­ta omas­sa jär­jes­tel­mäs­sä­si? Kes­kus­te­lem­me mie­lel­läm­me ti­lan­tees­tan­ne.

Varaa aika tapaamiseen

Pe­reh­dy li­sää

Oh­jeet oh­jel­mis­to­pal­ve­lun han­kin­taan

Koos­tim­me muis­ti­lis­tan yri­tyk­sil­le, jot­ka ovat oh­jel­mis­to­toi­mit­ta­jan va­lin­nan edes­sä.

Katso muistilista
Oh­jel­mis­to­ke­hi­tys­pal­ve­lum­me

Tu­tus­tu, mi­ten voim­me aut­taa si­nua ra­ken­ta­maan ja yl­lä­pi­tä­mään jär­jes­tel­miä­si.

Ohjelmistokehitys
Tu­tus­tu di­gi­kar­toi­tuk­seen

Pe­reh­dy, mi­ten voit läh­teä kans­sam­me ket­te­räs­ti liik­keel­le.

Digikartoitus