Infotehnoloogia arendustööde eeskiri

Kinnitatud rektori 23.04.2025 käskkirjaga nr 16
Muudetud rektori 29.04.2025 käskkirjaga nr 17

Redaktsiooni jõustumise kuupäev: 29.04.2025

1. Eesmärk ja kohaldamisala

1.1 Infotehnoloogia (edaspidi IT) arendustööde eeskirjaga (edaspidi eeskiri) reguleeritakse Tallinna Tehnikaülikooli (edaspidi Ülikool) IT arendustööde protsesse ja neile seatud nõudeid, hõlmates arendusettepanekute kogumist, arendustellimuste koostamist, arendustööde kavandamist, prioritiseerimist, teostamist ning hilisemat haldust.
1.2 Eeskirjaga määratakse kindlaks nõuded erinevatele IT arendustööde protsessi osadele, et tagada ühtne ja kontrollitud arenduspraktika kogu ülikoolis. Nõuete fookus on tagada rakenduste ja andmete turvalisus, lähtudes infoturbe standardist ISO/IEC 27001, mis kehtestab raamistikud turvalise tarkvaraarenduse, süsteemiarhitektuuri ja andmekaitse tagamiseks. See tagab, et tarkvaraarenduses järgitakse turvalise arenduse põhimõtteid, ennetatakse võimalikke turvariske ning kindlustatakse süsteemide töökindlus ja andmete kaitstus.

2. Mõisted

2.1 Infosüsteem on teabe säilitamiseks ja töötlemiseks mõeldud süsteem. Infosüsteem võib koosneda mitmetest omavahel seotud moodulitest/rakendustest, mis moodustavad kasutaja jaoks ühe terviku.

2.2 Rakendus on erinevate programmide kogum spetsiifiliste ülesannete täitmiseks. Rakenduste kogum võib moodustada infosüsteemi.

2.3 IT arendus või IT arendustöö on infosüsteemide ja rakenduste loomise ja muutmisega seotud kavandamine, nõuete täpsustamine, disainimine, programmeerimine, dokumenteerimine, testimine, vigade parandamine ning nende teostamiseks vajalik juhtimisalane tegevus.

2.4 IT arendustöödele esitatavad nõuded on detailsemad nõuded IT arendustöödele, mis on eeskirja lisaks.

2.5 IT arendusettepanek on ettepanek IT alaseks arendustööks, mida saavad teha kõik ülikooli liikmeskonna liikmed.

2.6 IT arendusprojekt on kindla ulatusega (scope) ja tähtajaga suurema mahulisem IT arenduste kogum (IT arendus tellimused, IT väikearendused), mille maksumus on suurem kui 60 000 eurot (sh käibemaks) ning mille eesmärgiks on võtta kasutusele või vahetada välja olemasolev infosüsteem või rakendus.

2.7 IT arendustellimus on kindla ulatuse (scope) ja tähtajaga IT arendus või arenduste kogum, mille maht jääb vahemikku 0 kuni 60 000 eurot (sh käibemaks) või (kui selle teostab organisatsioonisiseselt IT osakond) mille maht on 40 tundi või rohkem ning mille eesmärgiks on teatud täiendava funktsionaalsuse välja arendamine, olemasoleva oluline muutmine või teatud rakenduse või infosüsteemi tehniline uuendamine.

2.8 IT väikearendus on lihtsustatud korras läbiviidav väikesemahuline IT arendus, mille maksumus on kuni 3000 eurot (sh käibemaks) või mille maht jääb alla 40 tundi kui selle teostab organisatsiooni siseselt IT osakond.

2.9 IT arenduste eelarve on rektori otsusega eraldatud rahalised vahendid arendustellimuste, IT projektide ja väikearenduste täitmiseks konkreetsel eelarveaastal.

2.10 IT halduskulud on infosüsteemide või rakenduste ülalhoiuks tehtavad kulud (litsentsitasud, majutustasu, haldustasu, administreerimistasu), mis eraldatakse IT osakonna eelarvesse.

2.11 IT arhitektuur on Infosüsteemi või rakenduse struktuur, mis sisaldab komponentide omavahelisi seoseid ja nende seoseid ümbritseva keskkonnaga. Arhitektuur sisaldab ka süsteemi kavandamist ja arengut suunavaid standardeid.

2.12 IT haldus on infosüsteemi või rakenduse ülal hoidmine vastavalt teenustaseme leppele, sh rakenduse majutamine, hooldus, uuenduste paigaldamine, käideldavuse tagamine, tehniliste seadistuste haldamine, infoturbe nõuete rakendamine, varukoopiate tegemine, vajadusel taastetööde teostamine ja monitooring.

3. IT arendusprotsessi osalised, vastutused ja ülesanded

3.1 Infosüsteemi või rakenduse omanik (valdkonna juht):

3.1.1 kujundab valdkonna protsessi või protsesse toetavate infosüsteemide ja rakenduste teekaardi lähtuvalt sisulistest ja IT arhitektuurist tulenevatest vajadustest;
3.1.2 määrab igale infosüsteemile või rakendusele äriprojektijuhi;
3.1.3 algatab ja käivitab parendused, sh IT arendusprojektid või arendustellimused (kooskõlastatuna protsessi omanikuga ning seotud huvigruppidega);
3.1.4 eraldab ja tagab projekti (sh IT projektid ja IT arendustellimused) jaoks vajalikud ressursid (sh inimesed, aeg, finantsid);
3.1.5 vastutab käivitatud projektide (sh IT projektide) ja IT arendustellimuste edukuse eest ja jälgib korrapäraselt projekti(de) edenemist;
3.1.6 vastutab riskide kaardistamise ja maandamise eest;
3.1.7 juhul kui infosüsteem või rakenduse funktsionaalsus on mitme protsessi ülene, siis omanikuks on selle valdkonna juht, kelle protsesse infosüsteem või rakendus enam hõlmab, või lepivad valdkonna juhid omavahel omaniku rolli osas kokku.

3.2 Protsessi juht (tellija):

3.2.1 juhib ja arendab igapäevaselt protsessi, sh jälgib kasutajate tagasisidet;
3.2.2 teeb valdkonna juhile ettepanekuid IT arendusprojektide ja -tellimuste algatamiseks;
3.2.3 sõnastab eesmärgid, edukriteeriumid ja mõõdikud ning kooskõlastab need kasusaajatega (kasutajad, protsessi osalised). Koostab projekti tööplaani jm vajaliku dokumentatsiooni;
3.2.4 planeerib ja teostab vajadusel tegevusalase ümberstruktureerimise või organisatsioonilise muutmise ning juhib ümberstruktureerimise või muudatuse rakendamist (sh informeerib ja selgitab nende vajadust ja sisu), tagades, et organisatsioon on valmis nendest tulenevaid väljundeid kasutusele võtma;
3.2.5 tagab, et IT arendusprojektide eesmärgid saavutatakse kvaliteedi-, ajakulu- ja eelarve eesmärke täites. Vajadusel võtab kasutusele ennetus- või parendusmeetmed, informeerib riskidest ja takistustest valdkonna juhti ning protsessi omanikku;
3.2.6 hoiab aktuaalsena kogu protsessiga seotud dokumentatsiooni (sh regulatsioonid, protsessi mudelid, mõõdikud, juhendid).

3.3 Äriprojektijuht (tellija poolne projektijuht):

3.3.1 vastutab infosüsteemi või rakenduse teekaardi ja elukaare kujundamise eest lähtuvalt sisulisest vajadusest ja IT arhitektuuri vaatest;
3.3.2 tagab funktsionaalsete IT arenduste kooskõla ja terviklikkuse infosüsteemi või rakenduse lõikes;
3.3.3 annab IT arendustest protsessijuhile regulaarselt ülevaateid ja vastavalt vajadusele informeerib ka valdkonna juhti või protsessi omanikku;
3.3.4 jälgib infosüsteemile või rakendusele eraldatud eelarve täitumist;
3.3.5 menetleb uusi IT arendusettepanekuid koostöös protsessijuhiga ning koostab IT arendustellimused ja lähteülesanded;
3.3.6 korraldab analüüsitööde teostamise (äriprojektijuht viib analüüsi ise läbi, tellib analüüsi töö arenduspartneri käest või korraldab selle teostamise muud moodi) ja vajadusel viib läbi turu-uuringu, leidmaks funktsionaalsuselt sobivaim lahendus;
3.3.7 juhib IT projekte, IT arendustellimusi ja IT väikearendusi ning tagab eesmärkide saavutamise. Töötab koostöös protsessijuhi, IT projektijuhi ja teiste seotud osapooltega välja IT arendustööde plaani;
3.3.8 vastutab IT projekti edukuse ja riskide maandamise eest;
3.3.9 vastutab rakenduse või infosüsteemi projektidokumentatsiooni haldamise, uuendamise ja ajakohasena hoidmise eest;
3.3.10 korraldab andmekaitsealase mõjuhinnangu ja infoturbealase riskianalüüsi läbiviimist ning tagab selle nõuetele vastavuse;
3.3.11 vastutab IT arenduste tegemisel funktsionaalse testimise ja valideerimise korraldamise eest. Edukalt läbitud testimine on IT arendustööde vastu võtmise eelduseks;
3.3.12 vastutab juhendite loomise ja/või uuendamise eest;
3.3.13 osaleb IT halduse pakkujaga teenustasemeleppe läbirääkimistes;
3.3.14 koostab IT arendustööde, IT arenduspartnerite ja IT halduse hangete funktsionaalsete nõuete osa. Korraldab litsentside ja tarkvarateenuste hankimise koostöös IT osakonnaga.

3.4 Peakasutaja:

3.4.1 toetab igapäevaselt infosüsteemi või rakenduse kasutajaid;
3.4.2 vastutab kasutajate ja IT kasutajatoe koolitamise eest ning tagab juhendmaterjalide kättesaadavuse;
3.4.3 tegeleb rakenduse või infosüsteemi seadistuste (sh töövoogude konfigureerimine, jms) haldamisega;
3.4.4 teeb ettepanekuid täiendavateks IT arendusteks, täiendab vajadusel lähteülesandeid, ärianalüüsi ja IT arendustellimusi;
3.4.5 vastutab rakenduse või infosüsteemi kasutajaõiguste õigeaegse haldamise eest ja kujundab koostöös protsessijuhiga ligipääsude andmise põhimõtted;
3.4.6 haldab infosüsteemis või rakenduses olevaid andmeid ehk infovara. Täidab infoturbe poliitika kohaselt infovara peakasutajale seatud kohustusi.

3.5 IT projektijuht:

3.5.1 koordineerib IT arendustööde teostamist koostöös IT arenduspartneriga;
3.5.2 jagab IT arendustellimused vajadusel väiksemateks töödeks ning ülesanneteks;
3.5.3 töötab koostöös IT arenduspartneriga välja IT arendustellimuse täitmise ajakava, hoolitseb selle täitmise eest ning annab edenemisest äriprojektijuhile kokkulepitud kujul ülevaate;
3.5.4 kooskõlastab äriprojektijuhiga kinnitatud eelarvevahendite kasutamise ja vastutab eelarves püsimise eest;
3.5.5 vastutab infosüsteemi või rakenduse tehnilise dokumentatsiooni haldamise eest.
3.5.6 korraldab IT arenduste, IT arenduspartnerite ja IT halduse hankeid ja on hangete täimisel vastutav isik. Hangete sisust koostab IT projektijuht mittefunktsionaalsete nõuete- ja IT halduse osa ning koondab selle äriprojektijuhilt saadud funktsionaalsete nõuetega üheks tervikuks;
3.5.7 teostab või korraldab süsteemianalüüsi;
3.5.8 tagab IT arendustööde kooskõla arhitektuuri ja infoturbe nõuetega;
3.5.9 vastutab UX/UI välja töötamise eest koostöös IT arenduspartneri, äriprojektijuhi ja tulevaste kasutajatega;
3.5.10 vastutab mittefunktsionaalsete testide teostamise eest;
3.5.11 võtab IT arendustööd IT arenduspartnerilt vastu ning kooskõlastatult äriprojektijuhiga annab korralduse süsteemi haldurile uuenduste paigaldamiseks;
3.5.12 vastutab teenustasemeleppe läbirääkimiste ja sõlmimise eest.

3.6 IT arhitekt:

3.6.1 töötab välja IT arhitektuuri põhimõtted, haldab ülikooli IT lahenduste arhitektuuri, loob vastavad komponentdiagrammid ning kooskõlastab kavandatud arhitektuuri lähtuvalt kokku lepitud põhimõtetest ja senisest IT arhitektuurist. Kooskõlastamisel kaasab IT taristu infoturbe eksperti, kes kinnitab lahenduse vastavuse turvanõuetele;
3.6.2 tagab IT süsteemide arhitektuuri kavandamisel IT arhitektuuri põhimõtete jälgimise ning haldab infosüsteemide ja rakenduste üleselt andmete arhitektuuri;
3.6.3 IT arendustellimuste ja IT projektide osas töötab vajadusel välja lahenduse IT arhitektuuri esialgse kavandi.

3.7 IT arenduspartner (väline partner või infotehnoloogia osakond):

3.7.1 teostab IT projektijuhi poolt kinnitatud IT arendustellimusi;
3.7.2 lähtub tööde teostamisel IT arhitektuuri läbivatest põhimõtetest, andmekaitse ja infoturbe nõuetest;
3.7.3 vastutab kokku lepitud väljundite ja eesmärkide saavutamise eest. Kontrollib IT projekti arengut, tagab, et IT projekti eesmärgid saavutatakse kvaliteedi-, aja- ja kulu eesmärke täites ning võtab vajadusel kasutusele ennetus- või parandusmeetmed;
3.7.4 maandab ja haldab IT arendustellimuste täitmisel riske;
3.7.5 järgib arendustegevustes valdkonna parimaid tavasid, sealhulgas OWASP turvalise kodeerimise juhiseid, et tagada koodi turvalisus ja vastavus infoturbe nõuetele;
3.7.6 kolmandate osapoolte tarkvara kasutamisel peavad arendajad tagama, et tarkvara hangitakse ainult usaldusväärsetest ja ametlikest allikatest ning litsentsid vastavad ülikooli poliitikatele ja nõuetele. Enne tarkvara integreerimist tuleb läbi viia turvalisuse kontrollid ja riskihindamine, et tuvastada võimalikud haavatavused. Samuti peab tarkvara ja selle komponente regulaarselt uuendama ning rakendama turvapaiku, et säilitada süsteemi turvalisus ja stabiilsus;
3.7.7 tagab kokkulepitud kujul aruandluse IT projektijuhile;
3.7.8 annab üle IT arendustellimuste raames tehtud tööd.

3.8 Süsteemihaldur:

3.8.1 paigaldab ja haldab servereid ning infosüsteeme, rakendab turvapaikasid ja uuendusi ning tagab süsteemide talitluspidevuse;
3.8.2 vastutab rakenduse või infosüsteemi teenustasemeleppe täitmise eest;
3.8.3 haldab infosüsteemi või rakenduse IT arendusega seotud keskkondi (arendus-, test- ja toodangukeskkond);
3.8.4 paigaldab infosüsteemi või rakendusse uuendusi lähtuvalt IT projektijuhi korraldustest;
3.8.5 haldab seadistusi ja teeb vajadusel infosüsteemi või rakendusega seotud tehnilisi muudatusi;
3.8.6 tagab infoturbenõuete rakendamise ning täidab infoturbepoliitika kohaselt infovara haldurile pandud nõudeid;
3.8.7 koostab ja uuendab infosüsteemi või rakenduse tehnilist dokumentatsiooni, sh taastejuhendeid, ning teeb regulaarselt varukoopiatest taastetestimisi;
3.8.8 paigaldab vastavalt nõuetele ja IT projektijuhi tellimusele monitooringu;
3.8.9 teeb koostööd IT taristu meeskonnaga;
3.8.10 kaardistab tehnilised riskid ja teeb ettepanekuid parendusteks.

3.9 IT arendusjuht:

3.9.1 juhib IT arenduste protsessi;
3.9.2 menetleb IT arendusettepanekuid;
3.9.3 menetleb ja kooskõlastab IT arendustellimusi ja lähteülesandeid;
3.9.4 nõustab IT arendustellimusega seotud osapooli;
3.9.5 tagab IT arendustellimuste kooskõla organisatsiooni eesmärkidega;
3.9.6 koostab IT arenduste eelarve ettepaneku;
3.9.7 planeerib IT arendustellimuste täitmist koostöös äri- ja IT projektijuhtidega;
3.9.8 konsulteerib IT arendustellimusega seotud osapooli, et välja töötamisel olevad lahendused oleks kooskõlas organisatsiooni eesmärkidega;
3.9.9 on IT arenduste juhtrühma liige;
3.9.10 määrab infosüsteemi ja rakenduse põhiselt IT projektijuhid ja süsteemihaldurid.

3.10 IT arendustööde juhtrühm:

3.10.1 vastutab IT arendustellimuste ja IT projektide prioritiseerimise eest ning esitab IT arenduste eelarve ettepaneku rektoraadile kinnitamiseks;
3.10.2 otsustab IT projektide algatamise, teostamise ja lõpetamise;
3.10.3 saab ülevaateid ja jälgib IT arendustellimuste ja IT projektide teostamise edenemist;
3.10.4 teeb vajadusel ettepanekuid IT arendusprotsessi täiendamiseks;
3.10.5 IT arendustööde juhtrühma juhib IT osakonna juhataja;
3.10.6 IT arendustööde juhtrühm koosneb kõikidest haldus- ja tugistruktuuri üksuste juhtidest (v.a FinEst Targa linna tippkeskus, Tehisintellekti- ja robootikakeskus AIRE), IT arendusjuhist ja IT osakonna juhatajast. Juhtrühma kaasatakse vajadusel äri- ja IT projektijuhid.

4. IT arendusprotsess

4.1 IT arendusprotsess ülikoolis lähtub turvalise tarkvaraarenduse elutsüklist (Secure Software Development Lifecycle), tagades, et turvalisuse nõuded on integreeritud igasse arendusetappi. Infotehnoloogia arendustööde eeskirja lisas “IT arendustöödele esitatavad nõuded” on määratletud vaikimisi kõikidele projektidele, kuid lähtuvalt riskihinnangust võib teatud süsteemide ja rakenduste puhul kohaldada vähendatud nõudeid. Ka erandjuhtudel peab olema tagatud turvalise tarkvaraarenduse põhimõtete ja elutsükli järgimine ning süsteemide ja andmete kaitstus vastavalt rahvusvahelistele parimatele tavadele.
4.2 [kehtetu – jõustunud 29.04.2025]
4.3 Turvaline tarkvaraarenduse elutsükkel hõlmab turvalisuse analüüsi juba arenduse planeerimisel, ohuhinnangute läbiviimist süsteemi disaini faasis, turvalise koodikirjutamise praktikate rakendamist arenduse käigus, lähtuvalt riskihinnangust turvatestide teostamist enne juurutamist ning pidevat haavatavuste jälgimist ja uuenduste rakendamist hooldusperioodil.

4.4 Algatamine

4.4.1 IT arendusettepanekut saab teha ülikooli liikmeskond siseportaalis (tugiportaalis);
4.4.2 IT arendusettepaneku vaatab üle IT arendusjuht, kes suunab selle menetlemiseks äriprojekti- või protsessijuhile;
4.4.3 IT arendusettepaneku töötavad läbi äriprojektijuht ja protsessijuht. Vajadusel kaasatakse võimaliku lahenduse välja töötamisse IT arendusettepaneku tegija, IT arendusjuht või IT arhitekt;
4.4.4 IT arendusettepanekuga seotud kommunikatsiooni ja tagasiside korraldab äriprojektijuht. IT arendusettepaneku lõppstaatus saab olla kas tagasilükatud või arendusse suunatud;
4.4.5 Juhul kui arendusettepanek suunatakse arendusse, siis otsustab äriprojektijuht koostöös IT projektijuhiga, kas tegemist on väikearenduse, IT arendustellimuse või IT projektiga. Vastavalt sellele liigutakse IT arenduse teostamisega edasi;
4.4.6 Äriprojektijuht koostab koostöös protsessijuhiga IT arendustellimuse ja lähteülesande, lähtudes IT arendusettepanekust või arendusvajadusest;
4.4.7 IT arendusjuht kooskõlastab arendustellimuse (kooskõlastatud või suunatud tagasi täiendamiseks);
4.4.8 IT väikearendused realiseeritakse otse IT projektijuhi kaudu ja ei lähtuta IT arendustellimuse menetluse protsessist, kuid ka nende IT arenduste puhul peab olema tagatud tehniliste, arhitektuursete, dokumentatsiooniga seotud ja testimise nõuete täitmine.

4.5 IT arendustellimuste prioriseerimine ja planeerimine

4.5.1 IT arenduste prioriseerimisele lähevad IT arendustellimused ja IT arendusprojektid, mille kohta on koostatud nõuetekohane lähteülesanne ning mille on kooskõlastanud IT arendusjuht;
4.5.2 IT arendusjuht kohtub IT arendustellimuste osas kõikide IT arendustellimusi teinud haldus- ja tugistruktuuri juhtidega ning äriprojektijuhtidega kord kvartalis ning ühiselt vaadatakse üle IT arendustellimuste hetkeseis, prioriteedid, nende teostatavus, ajaline raamistik ja eeldatavad maksumused. Vajadusel tehakse IT arendustellimustesse täpsustused ning tööde juurde märgitakse vastavad kokkulepped ning muudatused. Infosüsteemidele või rakendustele planeeritakse järgnevaks kalendriaastaks väikearenduste eelarve. IT halduse kulude mahud ja suurused räägitakse läbi ning täpsustakse teenustasemeleppeid;
4.5.3 IT arendusjuht koondab IT arendustööde juhtrühma jaoks IT arendustellimused, sh IT väikearenduste eelarve kalendriaastaks ning moodustab esialgse IT arenduste eelarve ettepaneku. Ettepaneku aluseks on IT arendustellimuste prioriteetsus, teostatavus ja ajaline raamistik;
4.5.4 IT arenduste eelarve ettepanekut menetleb IT arenduste juhtrühm, kes teeb vajadusel oma otsusega muudatusettepanekuid. IT arendustööde juhtrühma juht edastab IT arenduste eelarve ettepaneku kinnitamiseks rektorile;
4.5.5 IT arenduste eelarve kinnitatakse IT arendustellimuste põhiselt ning on jaotatud lähtuvalt kinnitatud eelarvele IT arendustellimuste, IT projektide või IT väikearendustööde vahel. Eelarve kasutamise eest vastutab IT projektijuht;
4.5.6 IT arendustööde eelarve kinnitamise järel planeeritakse IT arendustellimused tööde teostamise järjekorda. IT arendustööde tegemist planeerivad äriprojektijuhid koostöös IT projektijuhtide ning IT arendusjuhiga, võttes arvesse juba töös olevaid IT arendusi ja IT arenduspartnerite võimekust töid teostada;
4.5.7 IT arendustellimuse prioriteeti, plaani ja eelarvet saab vajadusel muuta kooskõlastades muudatused IT arendusjuhi ja IT osakonna juhatajaga.

4.6 IT arendustellimuste analüüsimine ja kavandamine

4.6.1 IT arendustellimustele koostatakse ärianalüüs, kavandatakse uus lahendus ja koostatakse süsteemianalüüs. Iga IT arendustellimuse puhul otsustavad äriprojektijuht ja IT projektijuht, millised tulemid on vajalikud nendes etappides lähtudes nõuetest;
4.6.2 Ärianalüüsi ja kavandamise etapis tuleb hinnata võimalikke turvariske ning määratleda turvanõuded, et tagada konfidentsiaalsuse, tervikluse ja kättesaadavuse nõuete täitmine. Samuti tuleb nendes etappides integreerida turvariskide maandamismeetmed süsteemi arhitektuuri;
4.6.3 IT arhitekt vaatab üle lõpliku kavandatud lahenduse ning vajadusel kaasab infoturbetalitus turvalisuse aspektide valideerimiseks ja infoturbenõuetele vastavuse hindamiseks.

4.7 IT arendustellimuste teostamine

4.7.1 IT projektijuht küsib IT arendustellimusele pakkumuse ning kooskõlastab selle IT arendusjuhi ja IT osakonna juhatajaga. Selle raames kinnitatakse IT arendustellimuse täpne rahaline maht;
4.7.2 IT projektijuht edastab IT arendustellimuse edastab IT arenduspartnerile teostamiseks;
4.7.3 IT arenduspartner annab teostatud töö üle IT projektijuhile;
4.7.4 IT arendustellimus loetakse täidetuks kui süsteemihaldur on paigaldanud IT arendustellimuse raames realiseeritud töö infosüsteemi või rakenduse toodangukeskkonda ning IT projektijuht on allkirjastatud tööde üleandmise-vastuvõtmise akti. Akt ei ole vajalik ülikooli siseselt teostatud IT arenduste puhul. Akt on arve esitamise aluseks;
4.7.5 IT arendustööd arveldatakse vastavalt IT arenduste eelarvele. Võimalik eelarvevajaduste muutumine kooskõlastatakse IT arendusjuhi ja IT osakonna juhatajaga;
4.7.6 IT arendustööde arved kinnitab IT arendusjuht, IT projektijuht ja IT osakonna juhataja. Ostuarvetele lisavad IT projektijuhid kokkulepitud projektikoodi tunnused.

4.8 IT projektide teostamine

4.8.1 Protsessijuht teeb IT projekti algatusettepaneku ja protsessi omanik sõnastab eesmärgi. Valdkonna juht kontrollib väljundite vastavust organisatsiooni eesmärkidele ja kasutaja vajadustele;
4.8.2 Protsessijuht kooskõlastab kasusaajatega eesmärgid ja mõõdetavad tulemid;
4.8.3 Enne IT projekti käivitamist määratletakse ja mehitatakse ära IT arenduseeskirjas ettenähtud rollid: protsessijuht, äriprojektijuht, IT projektijuht;
4.8.4 Äriprojektijuht koostab koostöös projektimeeskonnaga IT projektiplaani, mis kinnitatakse IT arenduste juhtrühma poolt;
4.8.5 Pärast käivitamist jagatakse IT arendusprojekt väiksemateks IT arendustellimusteks ning fikseeritakse sellega IT projekti skoop vastavalt algatusettepanekule;
4.8.6 IT projekt viiakse ellu võimalikult iteratiivsel (agile) viisil, st arendamine toimub tsüklites, tuues iga tsükli lõpuks vahetulemuse, mille pealt on võimalik valideerida kas võetud suund ja ulatus on õige ning saavutatav. Äriprojektijuht, IT projektijuht ja IT arenduspartner vaatavad kokkulepitud regulaarsusega üle tööde seisu ning vajadusel täpsustakse nõudeid;
4.8.7 Kui kokkulepitud ulatus on saavutatud, siis IT projekt lõpetatakse.

Tabel 1. IT arendusprotsess tabelina

Etapp Sisend Tegevus Väljund Teostaja Kus
Algatamine Idee/probleem IT arendusettepaneku tegemine; IT arendusettepanek Ülikooli liikmeskond Tugiportaal (IT arendusettepaneku vorm)
IT arendusettepanek IT arendusettepaneku menetlemine, otsustamine ja tagasiside andmine; Menetletud ja otsustatud IT arendusettepanek Äriprojektijuht JIRA (IT arendusettepaneku töövoog)
IT arendusettepanek või protsessijuhi poolne tellimus IT arendustellimuse ja lähteülesande koostamine; Koostatud JIRA IT arendustellimuseks Äriprojektijuht JIRA projekt TTD
Koostatud JIRA IT arendustellimuseks IT arendustellimuse kooskõlastamine Kooskõlastatud IT arendustellimus lähteülesandega IT arendusjuht JIRA projekt TTD
Planeerimine ja eelarvestamine Kooskõlastatud  IT arendustellimus lähteülesandega IT arendustellimuse prioritiseerimine ja planeerimine koos äriprojektijuhtide, protsessi- ja valdkonnajuhtidega; Prioritiseeritud IT arendustellimus IT arendusjuht JIRA projekt TTD
Prioriseeritud IT arendustellimus IT arenduste eelarve ettepaneku koostamine/muudatus ettepanekute koostamine IT arenduste eelarve ettepanek IT arendusjuht JIRA projekt TTD / Excel
IT arenduste eelarve ettepanek IT arenduste eelarve ettepaneku menetlemine Menetletud IT arenduste eelarve IT arenduste juhtrühm Excel & PowerBI
Menetletud IT arenduste eelarve IT arenduste eelarve kinnitamine Kinnitatud IT eelarve Rektor JIRA projekt TTD / NAV projektimoodul / PowerBI
Kinnitatud IT eelarve IT arenduste planeerimine ja järjestamine IT arendustööde plaan Äriprojektijuht ja IT projektijuht JIRA projekt TTD
Analüüs  IT arendustellimus Ärianalüüsi koostamine (funktsionaalsete ja mittefunktsionaalsete nõuete kogumine) Ärianalüüs Äriprojektijuht (korraldab teostamise) Confluence
Ärianalüüs Kavandamine Kavandatud lahendus Äriprojektijuht (korraldab teostamise) Confluence
Kavandatud lahendus Süsteemi analüüsi koostamine Süsteemianalüüs IT projektijuht (korraldab teostamise) Confluence
Süsteemianalüüs Analüüsi etappi tulemite kooskõlastamine Kooskõlastatud analüüs IT arhitekt JIRA projekt TTD / Confluence
Teostamine  IT arendustellimus IT arendustellimusele rahalise pakkumuse võtmine ja mahu kooskõlastamine Kooskõlastatud IT arendustellimus koos pakkumuse mahuga Äriprojektijuht JIRA TTD
IT arendustellimus IT arendustellimuse edastamine IT arenduspartnerile IT arenduspartnerile suunatud IT arendustöö JIRA keskkonnas IT projektijuht JIRA
IT arenduspartnerile suunatud IT arendustöö JIRA keskkonnas IT arendustellimuse teostamine Teostatud tööd IT arenduspartner IT arenduspartneriga kokkulepitud keskkonnad
Teostatud tööd Teostatud tööde testimine Testitud tööd IT arenduspartner, äriprojektijuht, IT projektijuht Confluence
Testitud tööd Töö tulemi paigaldamine Paigaldatud IT lahendus Süsteemihaldur Confluence
Paigaldatud IT lahendus Tööde üleandmis-vastuvõtmisakti allkirjastamine Allkirjastatud üleandmis-vastuvõtmisakt IT projektijuht Confluence
Allkirjastatud üleandmis-vastuvõtmisakt Teostatud tööde arveldamine E-arve Äriprojektijuht
Juurutamine Paigaldatud IT lahendus Kasutajate koolitamine ja juhendmaterjalide välja töötamine Juhendmaterjalid ja koolitatud kasutajad Äriprojektijuht Confluence
Paigaldatud IT lahendus Protsessi dokumentatsiooni uuendamine ja asjaosaliste teavitamine Protsessijuht

Tabel 2. IT arenduste, IT arenduspartnerite, sh IT halduse hankimine

Etapp Sisend Tegevus Väljund Teostaja  Kus
Hankimine Vajadus tellida IT arendustöid IT arenduste -, arenduspartnerite- ja IT halduse hangete ettevalmistamine ning nende läbi viimine. Hanke dokumentatsioon, sh tehniline kirjeldus, raamlepingu- ja hankelepingu kavand, hindamisemetoodika, kvalifitseerimistingimused IT projektijuht ja äriprojektijuht Confluence
Kooskõlastatud IT arenduste hange IT arendustööde hangete kooskõlastamine Kooskõlastatud IT arenduste hange IT arendusjuht  
Raamleping Raamlepingu- ja hankelepingute täitmine Hankelepingud IT projektijuht  

 


LISA
IT arendustöödele esitatavad nõuded

1. Nõuded dokumenteerimisele
1.1. Üldised nõuded IT arendusega seotud dokumentide säilitamisel
1.1.1. Infosüsteemi või rakenduse, selle arendusega seotud materjalid ja muu vajalik dokumentatsioon kogutakse IT osakonna poolt hallatavasse keskkonda;
1.1.2. IT arendustellimuste (edaspidi arendustellimus) täitmise käigus dokumenteeritakse ja/või väikearenduste tegemisel uuendatakse dokumentatsiooni vastavalt allpool välja toodud nõuetele;
1.1.3. IT arendusjuhil on õigus lubada erisusi tulenevalt infosüsteemi või rakenduse eripäradest.
1.2. Nõuded IT arendusettepanekule (edaspidi arendusettepanek)
1.2.1. Arendusettepanekud dokumenteeritakse ja menetletakse JIRA keskkonnas;
1.2.2. Arendusettepaneku juures märgitakse:
1.2.2.1. arendusettepaneku sisu (probleemi kirjeldus, võimaliku lahenduse kirjeldus);
1.2.2.2. teostamisest tulenevat kasu;
1.2.2.3. seotud infosüsteem või rakendus;
1.2.2.4. seotud protsessid;
1.2.2.5. otsus IT arendusettepaneku osas.
1.3. Nõuded arendustellimusele ja lähteülesandele
1.3.1. Arendustellimused lisatakse JIRA keskkonda projekt TalTechDigital (TTD) alla;
1.3.2. Arendustellimuse juures märgitakse:
1.3.2.1. vastutav struktuuriüksus (tellija);
1.3.2.2. protsess;
1.3.2.3. peamine infosüsteem või rakendus;
1.3.2.4. seotud infosüsteemid või rakendused;
1.3.2.5. äriprojektijuht (JIRA projekt TTD-s assignee/omanik);
1.3.2.6. protsessijuht (JIRA projekt TTD-s reporter/teataja);
1.3.2.7. IT projektijuht;
1.3.2.8. hinnanguline eelarve/maksumus;
1.3.2.9. kinnitatud eelarve vastavalt aastale;
1.3.2.10. arendustellimuse sisu (desciption);
1.3.2.11. lahendatava probleemi kirjeldus;
1.3.2.12. pakutav lahendus/turu-uuring;
1.3.2.13. eesmärk;
1.3.2.14. oodatavad kasud ja tasuvus;
1.3.2.15. mõõdetav tulemus;
1.3.2.16. prioriteet;
1.3.2.17. kasusaajad;
1.3.2.18. võtmeisikud / seotud osapooled;
1.3.2.19. piirangud ja riskid;
1.3.2.20. esialgne andmekaitsealane mõjuhinnang;
1.3.2.21. infoturbealane riskianalüüs.
1.4. Nõuded infosüsteemi või rakenduse JIRA ja Confluence keskkonnale
1.4.1. Vastavalt arendustellimusele luuakse iga infosüsteemi või rakenduse JIRA keskkonda;
1.4.2. Infosüsteemi või rakenduse JIRA keskkonda on kaasatud IT arenduspartner (edaspidi arenduspartner), kellele edastatakse antud keskkonna kaudu arendusülesanded pakkumuse saamiseks ja hiljem teostamiseks;
1.4.3. Arendustööga seotud suhtlus tellija, arenduspartneri või meeskonna osapoolte vahel dokumenteeritakse JIRA vastava töö alla (kommenteerimise funktsionaalsus);
1.4.4. Confluence keskkonda lisatakse kõik infosüsteem või rakendusega seotud informatsioon teksti, faili või viite kujul:
1.4.4.1. arendusega seotud osapooled (meeskond, arenduspartner, jt olulised isikud);
1.4.4.2. hangete ettevalmistamise ja läbiviimisel loodud materjal;
1.4.4.3. raam- ja hankelepingud;
1.4.4.4. muud juriidilise sisuga dokumendid või muu oluline materjal;
1.4.4.5. vajadusel lisatakse Confluence keskkonnas materjalidele juurdepääsupiirangud.
1.5. Nõuded analüüsile:
1.5.1. Ärianalüüs sisaldab kirjeldatud, analüüsistud ja struktureeritud nõuded:
1.5.1.1. kasutajate ja seotud osapoolte ootused ja tagasiside (milline peab olema tulevane lahendus ja mida peab tegema);
1.5.1.2. olemasoleva (as-is) protsessi kirjeldus koos rollidega;
1.5.1.3. tulevase (to-be) protsessi kirjeldus koos rollidega;
1.5.1.4. funktsionaalsete nõuete kirjeldused (mida süsteem tegema peab, mida kasutaja teha saab, mis teenuseid peaks süsteem pakkuma);
1.5.1.5. mittefunktsionaalsete nõuete kirjeldused;
1.5.1.6. integratsioonide vajaduste kirjeldused;
1.5.1.7. ärireeglite, piirangute ja regulatsioonide kirjeldused;
1.5.1.8. äriprotsessi kastutavate või vaja minevate andmete kirjeldused;
1.5.1.9. andmekaitse alaste riskide hinnangud;
1.5.1.10. teostatavuse hinnang ja plaan.
1.5.2. Kavandamine sisaldab järgnevat:
1.5.2.1. läbiviidud turu-uuring sobilikuma lahenduse ja/või parima praktika leidmiseks;
1.5.2.2. teostatavuse hinnang ja plaan;
1.5.2.3. esialgne (infosüsteemi või rakenduse) kavand(id);
1.5.2.4. alternatiivsete kavandatud lahenduste ja tehnoloogiate võrdlus;
1.5.2.5. esialgne IT arhitektuuri mudel;
1.5.2.6. infoturbealast mõjuhinnangut;
1.5.2.7. näidismudelit (mockup).
1.5.3. Süsteemianalüüs sisaldab järgnevat:
1.5.3.1. integratsioonide ja andmeallika kirjeldused;
1.5.3.2. andmebaasi mudel;
1.5.3.3. lõplik süsteemiarhitektuuri kavand (komponentdiagramm);
1.5.4. analüüsi tulemid lisatakse infosüsteemi või rakenduse Confluence keskkonda.
1.6. Nõuded tööde vastuvõtmisele:
1.6.1. tööde paigaldamise eelduseks on vastava paigaldusdokumentatsiooni olemasolu (sh paigalduse failid, haldamise, käideldavuse ja toimimistingimused koos sinna juurde kuuluvate ligipääsudega);
1.6.2. tööd vastuvõtmise eelduseks on nõuete kohaselt loodud või uuendatud dokumentatsioon;
1.6.3. allkirjastatud tööde üleandmis-vastuvõtmisakt.
1.7. Nõuded IT arendusfondi kastumisele ja tööde arveldamisele:
1.7.1. arendustööde eest tasutakse IT osakonna vastavalt finantsallikalt;
1.7.2. IT arenduste fondist ei kaeta tööjõukulusid, lähetusi ega majanduskulusid;
1.7.3. võimalikud hoolduse – ja konsultatsiooniga seotud kulud kaetakse väikearendustööde eelarvest;
1.7.4. arveldamise aluseks on mõlema poole pealt allkirjastatud üleandmis-vastuvõtmisakt.
1.8. Nõuded IT projekti plaanile
1.8.1. IT projekti plaan peab sisaldama järgmisi osasid:
1.8.1.1. probleemi kirjeldus;
1.8.1.2. võimalik kahju probleemi jätkumisel;
1.8.1.3. projekti eesmärgid;
1.8.1.4. projekti seos ülikooli strateegiliste eesmärkidega;
1.8.1.5. oodatavad tulemused;
1.8.1.6. projekti kasusaajad;
1.8.1.7. projekti kasud;
1.8.1.8. sidusrühmad;
1.8.1.9. projekti riskid (sh andmekaitse ja infoturbe alased);
1.8.1.10. vajalikke ressursside kirjeldus;
1.8.1.11. projekti esialgne eelarve;
1.8.1.12. projekti esialgsed põhietapid;
1.8.1.13. esialgne tehnilise lahenduse arhitektuuriline kirjeldus;
1.8.1.14. infosüsteemi või rakenduse haldusmudel ning eeldatavad IT halduskulud.

2. Nõuded IT lahendusele
2.1. Nõuded kasutajaliidesele:
2.1.1. veebirakenduse kasutajaliides peab vastama vähemalt WCAG 2.0 tasemele AA;
2.1.2. kasutajaliidese kõik disainiotsused peavad olema kooskõlastatud tellijaga enne nende realiseerimist;
2.1.3. veebipõhine kasutajaliides peab olema kasutatav enamlevinud veebibrauseritega, sh nutiseadmetel (Android, IOS);
2.1.4. rakenduse värviskeem ja logo kasutamine peab vastama Tellija ametlikule visuaalsele identiteedile (CVI) ja digitaalsete keskkondade stiiliraamatule (DKS);
2.1.5. rakendus peab toimima korrektselt erineva suuruse ja resolutsiooniga ekraanidel, sh levinumate ekraanisuurustega seadmetel, tagades selge paigutuse, loetavuse ja mugava kasutatavuse;
2.1.6. erisused on lubatud standardtarkvara osas või IT arendusjuhi kooskõlastusel.
2.2. Nõuded IT arhitektuurile ja tehnilisele lahendusele
2.2.1. Infosüsteemide ja rakenduste arhitektuur peab olema modulaarne. Infosüsteemides on eessüsteemid (front end; presentatsiooni kiht) ja tagasüsteemid (back end; äriloogika kiht) arhitektuuriliselt selgelt lahutatud ja eraldi paigaldatavad;
2.2.2. Infosüsteemid või rakendused peavad olema üle teenuste liidestavad ning infosüsteemi või rakenduse funktsionaalsus peab olema kaetud API-ga. Eelistatud standardid: REST ja JSON. Kõik API-liidesed peavad olema kaitstud tugevate autentimise ja autoriseerimise mehhanismidega ning API-kutsed peavad olema valideeritud, et vältida väärkasutust ja kaitsta süsteemi pahatahtlike tegevuste eest;
2.2.3. Rakenduse funktsionaalsus tuleb realiseerida andmebaasist eraldi sõltumatus rakenduskihis;
2.2.4. Kolmandate osapoolte tarkvara kasutamisel peavad arendajad tagama, et tarkvara hangitakse ainult usaldusväärsetest ja ametlikest allikatest ning litsentsid vastavad ülikooli poliitikatele ja nõuetele. Enne tarkvara integreerimist infosüsteemi või rakendusse tuleb läbi viia turvalisuse kontrollid ja riskide hindamine;
2.2.5. Infosüsteemide või rakenduste kavandamisel ja teostamisel lähtutakse ühekordse andmete sisestamise printsiibist;
2.2.6. Infosüsteemid ja rakendused tuleb kujundada vastavalt vähima vajaliku ligipääsu põhimõttele (Principle of Least Privilege), tagades, et kasutajatel on juurdepääs ainult neile vajalikele ressurssidele ja funktsioonidele. Ligipääsutasemeid tuleb hallata rollipõhiselt;
2.2.7. Autentimise lahendusena kasutatakse ülikooli Entra ID (endine Azure AD) autentimist. Erandjuhtudel, kui Entra ID kasutamine ei ole teatud piirangute tõttu võimalik, tuleb rakendada alternatiivseid turvalisi autentimismeetodeid. Sellistel juhtudel on kohustuslik kasutada mitme tasemelist autentimist (MFA), et tagada süsteemi ja andmete maksimaalne turvalisus;
2.2.8. Tulenevalt infoturbealase riskihalduse raames tehtud riskihinnangutest tuleb infosüsteemides suure kaitsevajadusega andmed krüpteerida nii salvestamisel (at rest) kui ka edastamisel (in transit), kasutades kaasaegseid krüpteerimisstandardeid ja parimaid praktikaid;
2.2.9. Andmebaasi tabelite ja atribuutide nimed peavad olema inglise keelsed;
2.2.10. Rakendused ja infosüsteemid peavad vastama OWASP ASVS nõuetele. OWASP ASVS nõuete rakendamine lähtub üldistest põhimõtetest, kuid konkreetsete projektide puhul tuleb ulatus kokku leppida vastavalt riskihinnangule;
2.2.11. Rakendust peab saama ilma ümber programmeerimata liigutada erinevate domeenide ja domeeni saitide vahel;
2.2.12. Kõik andmed, andmebaasid, SQL skriptid ja rakendus peavad kasutama UTF-8 kodeeringut;
2.2.13. Kõikide tabelite kirjed peavad sisaldama lisamise, muutmise ja kustutamise kuupäeva;
2.2.14. Rakendusel peab olema masinloetav testleht (health check) JSON formaadis;
2.2.15. Andmete loomise/muutmise/kustutamise tegevused peavad olema kajastatud andmebaasi logides;
2.2.16. Kooskõlastusel IT arendusjuhi ja IT arhitektiga saab lubada IT arhitektuuri ja tehniliste nõuete osas erisusi. IT arendusjuhil koos IT arhitektiga on samuti õigus kehtestada täiendavaid nõudeid IT arendustellimustele ja projektidele, et tagada projektide vastavus spetsiifilistele tehnilistele ja turvanõuetele. Täiendavad nõuded võivad olla detailsemad ja anda selgitusi konkreetsete lahenduste ja parimate tavade kohta.
2.3. Nõuded lähtekoodile
2.3.1. Infosüsteemi või rakenduse koodibaas peab olema hallatud IT osakonna poolt hallatud koodi versiooni haldamise süsteemis;
2.3.2. Loodud kood peab vastama turvalise koodikirjutamise parimatele tavadele ja standarditele, sealhulgas OWASP turvalise kodeerimise juhistele. OWASP juhiste rakendamine lähtub üldistest põhimõtetest, kuid konkreetsete projektide puhul tuleb ulatus kokku leppida vastavalt riskihinnangule. Koodi kirjutamisel tuleb:
2.3.2.1. ennetada levinud turvahaavatavusi, sealhulgas, kuid mitte ainult, SQL-süstimist, XSS-i (Cross-Site Scripting) ja puhvri ületäitumist;
2.3.2.2. rakendada sisendi valideerimist ja andmete korrektset käsitlemist kõigis kriitilistes punktides;
2.3.2.3. tagada turvameetmete rakendamine kogu süsteemis vastavalt riskihinnangutele ja turvastandarditele;
2.3.2.4. vältida tundlike andmete hoidmist koodis, sealhulgas rakenduse või infosüsteemi ligipääsutunnuste (kasutajanime ja parooli), mandaatide ning konfiguratsioonielementide salvestamist lähtekoodis;
2.3.2.5. rakendada turvalist veahaldust, mis ei avalda tundlikku süsteemiteavet.
2.3.3. Loodav programmikood peab vastama Clean Code standardile. Koodi kriitiline funktsionaalsus peab olema kaetud ühiktestidega;
2.3.4. Kõik uus loodav ja ostetav tarkvara peab olema automaatselt paigaldatav pidevkooste ja -tarne (CI/CD) süsteemi abil. CI/CD arendusprotsess peab olema turvaline ja sisaldama sisseehitatud turvakontrolle, sealhulgas automaatseid turvaskaneeringuid, koodi kvaliteedi analüüsi ja haavatavuste tuvastamist enne tarkvara kasutuselevõttu;
2.3.5. Muutujate, tüüpide ja funktsioonide nimed peavad olema sisulised ja andma aimu nende otstarbest;
2.3.6. Paigaldamise seaded peavad olema konfigureeritavad (nt ei tohi vastu võtta süsteemi, mis toimub ainult kindla teenusepakkuja või tootja serveritel);
2.3.7. Osade infosüsteemide või rakenduste puhul on IT arendusjuhil õigus lubada erisusi. Lisaks on IT arendusjuhil õigus kehtestada täiendavaid nõudeid, et tagada projektide vastavus konkreetsetele tehnilistele ja turvalisuse standarditele. Täiendavad nõuded võivad olla detailsemad ning pakkuda täpsemaid juhiseid ja parimaid praktikaid arendustööde teostamiseks.
2.4. Nõuded paigaldusele
2.4.1. Tarkvara tuleb paigaldada kontrollitud keskkonda – see tähendab, et juurutus peab toimuma keskkonnas, kus on tagatud juurdepääsude kontroll, muudatuste jälgitavus ja kaitse loata tegevuste eest. Selle tagamiseks:
2.4.1.1. tuleb kasutada eraldi arendus-, testimis- ja tootmiskeskkondi, millel on rangelt reguleeritud juurdepääsupiirangud;
2.4.1.2. kõik keskkondade vahelised tarkvaraversioonide liikumised peavad olema dokumenteeritud ja toimuvad ainult autoriseeritud kasutajate poolt läbi turvalise ja jälgitava CI/CD (pidevkooste ja -tarne) protsessi;
2.4.1.3. IT arendusjuhil on õigus kehtestada täiendavaid nõudeid tarkvara paigaldusele ja juurutamisele, et tagada süsteemi vastavus konkreetsetele tehnilistele, turvalisuse ja toimivuse nõuetele. Täiendavad nõuded võivad hõlmata näiteks konkreetseid konfiguratsiooniseadeid, paigalduskeskkonna erisusi või täiendavate turvameetmete rakendamist juurutamise käigus.
2.5. Nõuded testimisele
2.5.1. Funktsionaalsete ja mittefunktsionaalsete nõuete alusel peavad olema kirjeldatud testlood ja läbiviidud testimised;
2.5.2. Lähtuvalt riskihinnangu tulemustest tuleb läbi viia arendustele järgnevad koormus- ja turvatestid. Testimise tulemused tuleb dokumenteerida ja salvestada infosüsteemi või rakenduse Confluence keskkonda.