Nortal AS
Lõõtsa 6C
Tervise ja Heaolu Infosüsteemide Keskus
Gerli Raadik
13.08.2019
PAKKUMUS
Väikearendustööde teostamiseks raamleping nr 3-8/179-1 alusel
Tööde teostamiseks planeeritud meeskonnaliikmed:
Nimi Roll
Maris Leivategija Projektijuht
Eha Jõeorg Analüütik, projektijuht
Elina Kuljus Analüütik
Tõnis Ojandu Programmeerija
Eneli Reimets Programmeerija
Andres Saaremõts Programmeerija
Johannes Vask Programmeerija
Ahti Kivi Programmeerija
Joosep Heinmets Programmeerija
Polina Morozova Testija
Simo Peterson Testija
Heikki Kitt Testija
Tööde teostamise ühe töötunni hind: 60 EUR
Nortal AS · Lõõtsa 6C, Tallinn 11415, Estonia · +372 610 1990 ·
[email protected] · www.nortal.com
Lugupidamisega
Ats Albre
Äriüksuse juht
Nortal AS · Lõõtsa 6C, Tallinn 11415, Estonia · +372 610 1990 ·
[email protected] · www.nortal.com
SKAIS2 väikearendustööd II
1. Mõisted ja lühendid
Mõiste/Lühend Kirjeldus
SKA Sotsiaalkindlustusamet
TEHIK Tervise ja Heaolu Infosüsteemide Keskus
SKAIS1 Sotsiaalkaitse infosüsteem (olemasolev)
SKAIS2 Sotsiaalkaitse infosüsteem (hõlmab
Ametnikurakendust ja Iseteenindust)
2. Ülevaade
SKA kasutab ülesannete täitmiseks sotsiaalkaitse infosüsteemi, mis koosneb SKAIS1 ja
SKAIS2 rakendusest. SKAIS2s on praeguseks kasutusel elatisabiteenus, puude raskusastme
tuvastamine, sotsiaaltoetuse teenus ja alates 2019 sügisest lisanduvad peretoetused. Loodud
SKAIS2 süsteem tekitab igakuiselt suurel hulgal korduvaid hooldusjuhtumeid ning stabiilsus,
jõudlus ja kasutajamugavus ei vasta kasutajate ootustele.
3. Lepingu eesmärk
Lepingu eesmärgiks on realiseerida SKAIS2s olemasoleva ja 2019 aastal lisanduva
funktsionaalsuse arendusvajadused, mis vähendavad hooldusjuhtumite mahtu ning tagavad
kasutajasõbralikuma süsteemi.
4. Tellitavad tööd
Lepinguga tellitakse töötundide põhiselt perioodil 12.08.2019 - 28.02.2020 SKAIS2
funktsionaalsuse parandamist ja täiendamist ning SKAIS2 teenuste arendamisega seonduvad
tööd (nt automaatestide loomine, andmete hägustamine ja muud arendustööd efektiivse ja
kvaliteetse arenduse tagamiseks).
Tööde loetelu tekib ja hallatakse jiras:
1) Eelanalüüsi suunatud ülesanded (analüüsi task), mille tulemusel valmivad
mahuhinnangutega kasutajalood (story’d) ja tehnilised eeldustööd (technical
taskid);
2) Arendusse suunatud kasutajalood (story’d) ja tehnilised eeldustööd (technical
taskid) backlog staatuses vastavalt tööde järjekorral (rank).
5. Tööprotsess ja tulemid
Järgnevalt täpsustatakse Täitjaga sõlmitud raamlepingus (nr 3-8/179-1) kirjeldatud tingimusi
tööprotsessi, dokumenteerimise, töökorralduse, testimise ja mittefunktsionaalsete nõuete
osas.
5.1 Tööprotsess
Tööraamistik peab tuginema etapiviisilisele planeerimisele, võimaldades
arendusmeeskonna prioriteete jooksvalt muuta;
Tööraamistik peab võimaldama süsteemset ülevaadet iga etapi saavutustest;
Tööraamistik peab võimaldama arendusmeeskonna tulemuslikkuse (kasvu) jälgimist
ajas;
Tööraamistik peab tagama, et arendusmeeskond tegeleb omal initsiatiivil enda
tulemuslikkuse parandamisega ja parendusettepanekute esitamisega.
Täpsem protsess lepitakse kokku tööde käigus.
5.2 Dokumentatsioon
Vastavalt alapunktis 4 kirjeldatud skoobile tuleb töö käigus luua ja täiendada SKAIS2
dokumentatsiooni, milleks on minimaalselt:
Funktsionaalsuse ja äriprotsesside kirjeldused kokkulepitud kujul (nt BPMN standard,
diagrammid ja kirjeldused Confluence’is) koos ärireeglitega, mida peab olema hiljem
võimalik täiendada järgnevates etappides lisanduva funktsionaalsuse alusel ning
siduda tervikliku protsessi- ja ärireeglite kirjeldusega.
Tehniline dokumentatsioon (nt paigaldusjuhendid, Confluence keskkonnas).
Andmemudel.
Dokumentatsiooni täpsed liigid ja sisu formaat lepitakse kokku tööde käigus.
5.3 Töökorraldus
Projekti töökorraldus toetub kodukorrale. Täitja peab tagama piisava kaasamise ja
ülevaadete andmise Tellijale.
5.3.1 Tööde üleandmine
Arendustööde lähtekoodi tarne toimub pideva integreerimise (continuous integration) teel.
Täitja teab, et tellija võib igat üle antud funktsionaalsust paigaldada toodangusse ning täitja
peab tagama, et lõplikult valmimata funktsiooni protsessid on võimalik toodangust välja
lülitada (feature flags). Funktsioonide sisse-välja lülitamise võimekus lepitakse Tellija ja Täitja
vahel kokku tööde käigus.
5.4 Nõuded automaattestimisele
Loodav lähtekood peab olema kaetud 80% ulatuses ühiktestidega, 50% ulatuses
integratsiooni/süsteemi/”end-to-end” automatiseeritud testidega. Testidega kaetakse
serveripoolne ja kasutajaliidese kood. Kaetavuse kontrolliks ja raporteerimiseks seatakse
Tellija koodihoidla keskkonnas (Gitlab) üles pideva integratsiooni töövoog, mis seadistatakse
koostoimima SonarQube koodi ja testide kaetavuse analüsaatoriga.
Automaattestid peavad üle antavas lähtekoodis continuous-integration’i töövoo edukalt
läbima. Samuti peab Täitja peab hoolt kandma, et varasemalt loodud testid jäävad töö
lõpetamisel edukalt läbitavaks. Nõuete muutumisel peab Täitja viima testid vastavusse uute
nõuetega või neid eemaldama, kui selliseid nõudeid enam ei eksisteeri.
Kasutajaliidese testimise osakaal kogu testimise mahust peab olema mõistlik (mitte ületades
30%), rakendades seda kriitilisele funktsionaalsusele (lepitakse tööde käigus kokku). 50%
kasutajaliidese testimisest peab olema automatiseeritud ja korduvkasutatav tööde käigus
kokkulepitud raamistikul (nt Selenium).
5.5 Koormustestimised
Iseteenindus peab toetama paralleelset minimaalselt 200 päringut (siinkohal ootame
ka arendajapoolset arvamust/hinnangut, kas see on piisav päringute maht ja vajadusel
tõstame arvu).
API teenustele ning keskmine päringu teenindamise aeg ei tohi olla suurem kui 2
sekundit.
Nõude täitmise kontrolliks tuleb luua koormustestid. Koormustestide tegemine lepitakse Tellija
Täitja poolt kokku tööde käigus.
Nõudest eraldi tuleb vaadelda staatiliste failide allalaadimist – need tuleb http serveris
puhverdada.
5.6 Mittefunktsionaalsed nõuded
Mittefunktsionaalsete nõuete täitmisel tuleb lähtuda järgnevast:
Uue funktsionaalsuse loomisel tuleb lähtuda raamlepingus (nr 3-8/179-1) ja selle
lisades kirjeldatud nõuetest.
o Täpsemad mittefunktsionaalsed nõuded, millest lähtuda, asuvad SKAIS2
Confluence keskkonnas: Mittefunktsionaalsed nõuded arendustele (versioon
30.11.2018)
o Põhjendatud juhtudel võib seatud nõuetest kõrvale kalduda taasesitamist
võimaldavas vormis sõlmitud kokkuleppel Tellijaga.
Olemasoleva funktsionaalsuse taaskasutamisel tuleb tagada vähemalt olemasoleval
tasemel mittefunktsionaalsete nõuete täitmine vastavas tehnilises komponendis (st
tänaste puuduste likvideerimist eeldab Tellija Täitjalt ainult vastavasisulise tellimuse
korral. Muudel juhtudel eeldab Tellija Täitjalt ettepanekuid puuduste likvideerimiseks.
Konkreetsed lahendused lepitakse eraldi kokku).
Iseteeninduse arendused lähtuvad RIA stiiliraamatust.
Serveripoolsete teenuste ja nendega suhtluse tänapäevastele parimatele praktikatele
vastavaks viimine (REST API korrastamine ja taaskasutatavaks muutmine).
Iseteeninduse raamistik:
o Toetab Iseteeninduse valdkondade kaupa eraldiseisvateks rakendusteks
jaotamist. See tähendab, et lõppkasutajale nähtav visuaal võidakse serveerida
mitmest erinevast rakendusest, kuid lõppkasutaja ei tohiks visuaalselt eristada
ühe rakenduse kontekstist teise liikumist.
o Sisaldab ka vealehti/-teateid (http 404/401/500) jne korral.
o Lahendus peab toetama otseviidatavaid alamlehti (näitlikult: stiilis
'/minu/dokumendid/123' avab sisselogitud kasutaja dokumendi numbriga 123).
o Iseteeninduse toimimist peab saama funktsionaalselt monitoorida tsentraalse
monitooringuvahendiga, st rakendusel peavad olema teenused, mille väljundis on
telemeetria info eristatav kuni teenuste 'url' tasemeni (selgitus: peaks olema
sama või võrdväärne Micrometer teegi "@Timed" annotatsiooniga saadava
telemeetriaga).
o SKA Iseteeninduskeskkond peab sama kvaliteediga töötama tänapäevastes
'evergreen' veebibrauserites (IE, Firefox, Chrome, Safari) ja
operatsioonisüsteemides Windows (7+), OS (10.12+), Linux (Ubuntu 18.04+).
o 'Kvaliteetselt' all ei peeta silmas nö pixel perfect kujundust, vaid et erinevates
seadmetes, brauserites, operatsioonisüsteemides on kõik Iseteeninduse
funktsionaalsused võrdväärselt kasutatavad, vormid täidetavad, joondamised
sarnased (vaevumärgatavad pikslite nihked siiasinna on lubatud). Peaasjalikult ei
tohiks tavakasutaja kogeda/märgata vahet.
o Arendus peab lähtuma Tellija haldusala IT-profiilist.
o Arendus peab lähtuma Tellija mittefunktsionaalsetest nõuetest, millest
kõrvalekalded lepitakse taasesitamist võimaldavas vormis Tellijaga kokku.
5.6.1 Nõuded kiirusele ja latentsusele
Allpool kirjeldatud nõuded kehtivad ainult SKAIS2 sisemisele rakendusele ehk väliste
süsteemide vasteaegasid ei loeta ajalise nõude sisse.
Tühja veebivormi avanemine ei tohi kesta üle 2s.
Andmetega veebivormi avanemine ei tohi kesta üle 4s.
Menetluse jaoks andmete otsimine ei tohi kesta üle 5s.
Menetluse andmete salvestamine ei tohi kesta üle 4s.
Menetluse jaoks andmete värskendamine ei tohi kesta üle 4s.
Üle interneti infosüsteemi kasutamisel võib lisanduda 2s viivitus.
5.7 Tulemid
Tööde tulemid antakse üle Poolte vahel kokkulepitud tähtaegadel koos üleandmise ja
vastuvõtmise aktiga, nimetatu peab sisaldama:
Viiteid dokumentatsioonile Confluence’is;
Viited tehtud töödele (Jira piletitena);
Viiteid koodile GitLabis;
Koodianalüüsi, mis sisaldab väljavõtet TEHIKu SonarQube keskkonnast, kust on
näha testide kaetavuse protsent.
HANKELEPING nr 3-8/179-12
Väikearendustööde teostamine
Tervise ja Heaolu Infosüsteemide Keskus (edaspidi nimetatud ka Tellija), registrikood
70009700, aadress Uus-Tatari 25 Tallinn, keda esindab põhimääruse alusel direktor
Katrin Reinhold ja
Nortal AS, (edaspidi nimetatud ka Täitja), registrikood 10391131, aadress Lõõtsa tänav
6c, Tallinn, keda esindab notariaalse volikirja alusel Ats Albre,
edaspidi koos või eraldi nimetatud ka Pool või Pooled, sõlmisid Tellija läbiviidud
riigihankes „Sotsiaalkaitse infosüsteemi arendustööd (riigihanke viitenumber 188661)
hankeosas I poolte vahel 11.04.2018 a sõlmitud raamlepingu alusel käesoleva
hankelepingu (edaspidi nimetatud ka Leping) alljärgnevas:
1. LEPINGU ESE
1.1. Lepingu esemeks on SKAIS2 väikearendustööd II (edaspidi nimetatud ka Tööd).
1.2. Tööde loetelu ja Tööde teostamise tingimused on sätestatud Lepingu lisas 1.
1.3. Lepingu Tööde maht on kuni 1660 töötundi.
1.4. Vajadusel on Tellijal õigus tellida ja Täitjal kohustus teostada Lepingu esemega
seotud täiendavaid Töid kuni 20% ulatuses kokkulepitud mahust.
1.5. Täiendavate Tööde tellimine ja sellega kaasnevad muudatused Lepingu täitmisel
lepitakse Poolte vahel kokku vähemalt kirjalikku taasesitamist võimaldavas
digitaalselt allkirjastatud vormis.
2. LEPINGU ÜLDTINGIMUSED
2.1. Pooled teevad Lepingu täitmiseks ja Lepingu eesmärkide saavutamiseks koostööd.
Lepingu täitmisel kohustuvad Pooled tegema kõik vajalikud pingutused, et täita
Leping õigeaegselt ja vastavalt kokkulepetele, lähtudes Poolte vahel sõlmitud
raamlepingus, käesolevas Lepingus ja Lepingu lisades ning õigusaktides
sätestatud kohustustest.
2.2. Käesolevas hankelepingus reguleerimata osas juhinduvad Pooled raamlepingus
fikseeritud tingimustest.
3. TÖÖDE ÜLEANDMISE JA VASTUVÕTMISE KORD
3.1. Tööde üleandmine ja vastuvõtmine toimub vastavalt tellitavate Tööde valmimisele
Lepingu täitmise perioodil. Täitja kohustub Lepingu alusel teostatavad viimased
Tööd üle andma hiljemalt 28.02.2020.
3.2. Täitja annab Tööd üle vastavalt lisas 1 kokku lepitud tingimustele, juhindudes
lisaks käesolevas Lepingus sätestatule ka Poolte vahel sõlmitud raamlepingust ja
selle lisadest.
3.3. Tööd antakse Tellijale üle koos nõuetekohase dokumentatsiooniga vastavalt
raamlepingu lisale 1.2.1 „Nõuded infosüsteemi dokumenteerimisele“ ja Lepingu
lisa 1 punktile 5.2.
3.4. Tööd antakse üle üleandmise ja vastuvõtmise aktiga (edaspidi ka Akt).
3.5. Koos üle antava Tööga annab Täitja Tellijale üle kõik Tööde intellektuaalse omandi
õigused vastavalt raamlepingus sätestatule.
4. TÖÖDE MAKSUMUS JA ARVELDUSTE KORD
4.1. Tellija tasub üksnes Lepingu alusel tellitud ja teostatud töötundide eest. Täitja esitab
iga kalendrikuu 5. tööpäevaks allkirjastatud ajaaruande eelmise kalendrikuu kohta,
millelt kajastuvad teostatud töötunnid ja nende jooksul teostatud Tööd. Viimane
ajaaruanne esitatakse koos Aktiga.
4.2. Ühe töötunni maksumuseks Tööde teostamisel on 60 (kuuskümmend) eurot ilma
käibemaksuta.
4.3. Tööde eest tasumine toimub töötunni põhisel arvestusel.
4.4. Täitjal on õigus esitada arve pärast Akti allkirjastamist. Täitja annab Tellijale arve
tasumiseks tähtaja minimaalselt 30 kalendripäeva alates arve esitamisest.
4.5. Täitja esitab Tellijale arve e-arvena. Arvel tuleb märkida riigihanke viitenumber ja
nimetus ning lepingu number.
5. LEPINGU LÕPETAMINE JA ÜLES ÜTLEMINE
5.1. Leping lõpeb kohustuste täitmisega, Lepingu lõpetamise kokkuleppe sõlmimisega,
muul Lepingus ettenähtud või seadusest tuleneval alusel.
5.2. Tellijal on õigus Leping igal ajal üles öelda, teatades sellest 60 (kuuskümmend)
kalendripäeva ette.
5.3. Poolel on õigus Leping etteteatamistähtaega järgimata igal ajal üles öelda, kui
teine Pool on Lepingut oluliselt rikkunud või esineb raamlepingu punktis 14.4
nimetatud alus Lepingu üles ütlemiseks. Olulise lepingurikkumisena mõistavad
pooled raamlepingu punktis 14.5 sätestatut.
6. KONTAKTISIKUD
6.1. Tellija kontaktisik on: Gerli Raadik, projektijuht, telefon +372 51 29 310, e-post:
[email protected].
6.2. Täitja kontaktisik on: Maris Leivategija, projektijuht, telefon +372 52 63 703, e-post:
[email protected].
7. LÕPPSÄTTED
7.1. Täitjal puudub volitus tegeleda Lepingu raames avalike suhetega ning anda teateid
pressile, elektroonilisele meediale, üldsusele või teistele auditooriumidele, välja
arvatud Tellija eelneval kirjalikku taasesitamist võimaldaval nõusolekul.
7.2. Leping, Lepingu lisad ja muud selle alusel või selle täitmiseks sõlmitavad
kokkulepped jõustuvad alla kirjutamisel ning kehtivad kuni Poolte kõikide kohustuste
täitmiseni.
7.3. Kõik teated seoses Lepingu täitmisega esitatakse e-posti või kirja teel Lepingus
nimetatud aadressil või mõnel muul aadressil, mille Pool on teisele Poolele
teatavaks teinud. Informatiivset teadet võib edastada ka telefoni teel.
Informatiivseks loetakse teade, millega ei kaasne iseseisvaid õiguslikke tagajärgi.
7.4. Käesolevat Lepingut saab muuta Poolte kirjalikku taasesitamist võimaldavas vormis
sõlmitud kokkuleppel. Kõik Lepingu muudatused tuleb sõlmida Lepinguga samas
vormis ja need jõustuvad alla kirjutamisel.
7.5. Kõik käesoleva Lepingu täitmisest tulenevad vaidlused ja lahkarvamused püütakse
lahendada Poolte vaheliste läbirääkimiste teel. Kokkuleppe mittesaavutamisel
lahendatakse vaidlus Harju Maakohtus. Lepingule kohaldub Eesti õigus.
8. LISAD
8.1. Lisa 1 - Hankelepingu eseme tehniline kirjeldus;
8.2. Lisa 2 – Täitja poolt esitatud pakkumus hankelepingu sõlmimiseks.
9. Poolte allkirjad
Tellija Täitja
(allkirjastatud digitaalselt) (allkirjastatud digitaalselt)