Riigihangete vaidlustuskomisjon
Tartu mnt 85
10115 TALLINN
23.01.2025
Edastatud elektroonselt e-posti aadressile
[email protected]
VAIDLUSTAJA WISERCAT ESTONIA OÜ REPLIIK
Riigihange: Riigihange „Struktuuritoetuse registri arendus- ja
hooldusteenus“
Riigihanke viitenumber: 277106
Rahandusministeeriumi Infotehnoloogiakeskus (hankija) ja Nortal AS (kolmas isik) esitasid
23.01.2025 oma täiendavad seisukohad. Wisercat Estonia OÜ (vaidlustaja) peab vajalikuks esitada
neile repliigi, kuna hankija ja kolmanda isiku seisukohad on otseselt eksitavad ja ebaõiged.
Vaidlustuse rahuldamise aspektist ei oma lõppastmes tähtsust, kas vaidluse all olevate kolmanda
isiku testrakenduse nõuetele mittevastavuste puhul on tegemist vastavustingimustele
mittevastavusega või puudustega, mida tuleb arvestada kolmanda isiku tööle hindamiskriteeriumide
kohaldamise raames väärtuspunktide andmisel – kui VAKO nõustub, et hankija ei ole vaidlustaja
esile toodud mittevastavuste/puudustega arvestanud ega ka tõendanud, et ta on vaidlustatud otsuste
tegemisel veendunud, et kolmanda isiku testrakenduse puhul olid vastavad nõuded täidetud, tuleb
vaidlustus sõltumata mittevastavuste/puuduste õiguslikust kvalifitseerimisest rahuldada.
Vaatamata hankija ja kolmanda isiku vastuväidetele ei ole hankija ega kolmas isik mh suutnud anda
selgitusi järgmistele lihtsatele küsimustele:
1) Kas kolmanda isiku testrakendus käivitus kahest masinast (rakendus ja test erinevates
masinates) testimisel paigaldus- ja kasutusjuhendis toodud käsureavõtmega? Vastus on EI.
2) Kui kolmanda isiku testrakendus kahe masina testis ei käivitunud, siis kas hankija on
näidanud, et ta veendus kolmanda isiku testrakenduse vastavuses hankija esitatud
nõuetele? Vastus on EI
3) Kas hankija on näidanud, et kolmanda isiku testrakenduse puhul sai hallata sätteid
„headless“ ja DEBUG (ja kuidas)? Vastus on EI.
4) Kas hankija on näidanud, et kolmanda isiku testrakenduse puhul olid konsoolis kajastatud
rakenduse sätted „headless“? Vastus on EI.
5) Kas saab mõistlikult eeldada, et tavakasutaja teab peast 100 000 rea andmeid ning oskab
teha 100 000 rida hõlmavate andmetega toiminguid ilma konkreetsetel ridadel olevaid
andmeid nägemata? Vastus on EI.
Kuigi eeltoodud lihtsad küsimused ei ole ainsad asja lahendamise seisukohast olulised küsimused,
nähtub juba ainuüksi nendele küsimustele asjas kogutud materjalide põhjal antavatest vastustest EI,
et kolmanda isiku pakkumus ei ole vastav või kui kõnealused nõuetelevastavused ei ole käsitletavad
vastavustingimustele mittevastavustena, ei saanud kolmanda isiku proovitööle
hindamiskriteeriumide raames anda rohkem kui 50 punkti (so 30 väärtuspunkti).
1 VASTAVUSTINGIMUSTE JA LÄHTEKOODI SISUSTAMINE
1.1 Hankija ja kolmanda isiku käsitlus vastavustingimustest ja lähtekoodist on kunstlik ja otseselt
eksitav. Sisuliselt nähtub hankija väidetest, et hankija püüab iseenda seatud
vastavustingimused sisutühjaks tõlgendada, mis ei ole lubatud.1
1.2 Käesolevas hankes esitatud nõuetest nähtuvalt pidid pakkujad proovitööna hankijale üle
andma ainult lähtekoodi ja paigaldus- ja kasutusjuhendi. Pakkujad mitte midagi muud
hankijale proovitöö koosseisus üle ei andnudki. Seega ei ole tegemist mitte pelgalt
formaalsusega, nagu hankija väidab,2 vaid see ongi pakkumuse sisu. Kui midagi hinnata,
siis peab ka olema, mida hinnata ja selle jaoks ongi vastavustingimus loodud. Proovitöö, mis
on vastav ja seda hinnatakse. Testrakendus ongi antud hanke tähenduses java keeles
kirjutatud lähtekood.3 Samuti on selge (sh testvideotest silmaga näha), et hankija käivitas
pakkujate esitatud paigaldus- ja kasutusjuhendi järgi nende esitatud lähtekoodi, mitte midagi
muud.
1.3 Seega kehtisidki testrakendusele kui lähtekoodile dokumendis „Nõuded proovitöö
teostamiseks“ esitatud nõuded ning hankija sai ja pidigi nendele nõuetele vastavust
kontrollima. Hankija aga soovib vaidlustusmenetluses tõlgendada nõuded sisutühjaks,
väites, et ta ei saagi iseenda seatud nõuetele vastavust kontrollida.
1.4 Hankija paralleel majaehitusega on otseselt eksitav – hankes oli nõutud valmis lähtekoodi,
mida saab käivitada. Sisuliselt telliti valmis maja, mitte „üksikuid juppe“. Õige näide oleks
siinkohal see, et hankija on tellinud valmismaja, mida pidi saama vastavalt juhendile vajalike
pistikutega ühendades kohe tööle rakendada ehk kasutusse võtta. Kolmanda isiku tarnitud
„maja“ ei hakanud toimima ning tuli teha olulisi parandusi/täiendusi valmismaja
konstruktsioonis.
1.5 Asjakohatud ja eksitavad on ka hankija viited, et testrakendusele esitatavad nõuded justkui
ei kehti, kuna hankija ootas pakkujatelt „loovust“ ning et tähtis on tulemus, mitte meetod
tulemuseni jõudmiseks (vt lk 4 viimane lõik). Antud juhul ei ole küsimus mitte loovuses või
meetodites, vaid hankija poolt esitatud konkreetsetes nõuetes, millele kolmanda isiku
proovitöö pidi vastama, aga ei vastanud.
2 HANKIJA ESITATUD STSENAARIUMID ON ASJAKOHATUD
2.1 Asjakohatud ja isegi manipuleerivad on hankija viited ja „stsenaariumid“, nagu oleks
vaidlustaja tõlgenduse korral ainuke vastav pakkuja kolmas isik. Sellised seisukohad ei lähtu
vaidlustuses esile toodud asjaoludest ja nõuetest – vaidlustaja vaidlustus just sellel
põhinebki, et kolmanda isiku proovitöö nõuetele ei vasta ning vaidlustaja proovitöös ühtegi
puudust ei esine. Samuti põhinebki vaidlustaja vaidlustus mh sellele, et kolmanda isiku
testrakendus ei realiseerinud kõiki automaattesti toiminguid ning selle juhend ei vastanud
nõuetele, so proovitööle ei saa asjakohastes hindamiskriteeriumites punkte omistada.
3 KOLMANDA ISIKU KÄSITLUS (P 14-17) ON ARUSAAMATU
3.1 Kolmanda isiku väitel oleks vaidlustaja pidanud oma alternatiivse taotluse, et kui vaidlustuse
aluseks olevaid mittevastavusi ei käsitleta mittevastavusetena vastavustingimuste
tähenduses, hinnataks neid mittevastavusi (puudustena) hindamiskriteeriumide
1 RHAD vastavustingimuste tõlgendamisel tuleb võtta aluseks mõistliku hankemenetluses osaleva ettevõtja
vaatenurk (TlnRKo 3-18-657, p 16). Eelistada tuleb tõlgendust, mille kohaselt ei muutu tõlgendatav säte
mõttetuks (VAKO 26.05.2017, 62-17/185341, p 15).
2 Hankija modifitseeritud käsitluse kohaselt oleks vastavustingimuste täitmiseks võinud lähtekoodina esitada
vaid ühe inglise-keelse sõnaga dokumendi pealkirjaga „lähtekood“. Selline seisukoht ei ole õige.
3 „Nõuded proovitöö teostamisele“, jaotus „Rakenduse integratsioonitestid“, nõuded p 4: Funktsionaalsuse
testimiseks on käsurealt käivitatav java -konsoolirakendus (testrakendus), mille ühe jar -faili sees on kõik
käivitamiseks vajalikud artefaktid ja sõltuvused.
2|6
kohaldamisel, esitama hiljemalt 15.01.2025 ning et vaidlustaja on hilinenud. Selline väide on
arusaamatu ja ebaõige.
3.2 Vaidlustaja on juba algses vaidluses selgelt vaidlustanud nii kolmanda isiku pakkumuse
vastavuse kui ka edukaks tunnistamise ning seejuures selgelt avaldanud, et kui vaidlustuse
aluseks olevaid mittevastavusi ei käsitleta mittevastavusetena vastavustingimuste
tähenduses, hinnataks neid mittevastavusi (puudustena) hindamiskriteeriumide
kohaldamisel (vaidlustuse p 3).
4 MITTEAVASTAVUS NR 1 (RIDADE VALIMINE)
4.1 Hankija väited selle kohta, justkui kolmanda isiku testrakendus siiski täidaks tavakasutaja
emuleerimise nõude, sh nõude, et lubatud ei ole toimingud, milleks tavakastajal puuduvad
andmed. Vaidlustaja rõhutab, et testrakenduses oli 100 000 rida andmetega. Mitte ükski
tavakasutaja ei suuda pähe õppida ega meelde jätta 100 000 rea andmeid ning seda
tavaelus ka ei tehta (vähemalt ei saa seda tavakasutajalt mõistlikult eeldada). Samuti peab
tavakasutaja arvestama sellega, et ka teised kasutavad rakendust ning seetõttu võivad
andmed olla muutunud – andmeid peab nägema. Test tuli läbi viia tavalise RTK lõppkasutaja
käitumist arvestades, mitte kasutajale utoopilisi eeldusi seades.
4.2 Hankija ei ole seega suutnud selgitada, kuidas saaks tavakasutaja teha reaalseid toiminguid
100 000 rea andmetega, kui ta valitud ridadel olevaid andmeid ei näe (ja ei pea ka peast
teadma). Asjaolu, kas ridadel olid unikaalsed tunnused, eeltoodut ei mõjuta. Tavakasutaja
ei suuda sellegipoolest 100 000 rea andmeid üksnes mälu järgi kasutada.
4.3 Kolmanda isiku kiirustestid EI TOIMUNUD tavakasutaja tegevusi matkides. Hankija on
toonud ebakohase näite garaaži kasutamise kohta. Piltlikult öeldes on õige võrdlus hoopis
selline: vastavalt nõudele, et test peab olema tehtud tavakasutust emuleerides, peaks iga
autoga garaažini sõitma ja siis selle testimiseks garaaži parkima. Kiiruse mõõtmise sisse
kuulubki nii garaažini sõitmise aeg kui ka garaaži sõitmise aeg. Kolmanda isiku
mõõtetulemuse puhul mõõdeti ainult garaaži sõitmise aega ning garaažini sõitmise aeg jäi
mõõtmata.
4.4 Asjakohatud on ka hankija viited, justkui saaks asjatundja arvamusena käsitleda vaid KES
§ 3 tähenduses menetleja poolt määratud eksperti. Sellistel väidetel puudub mistahes alus.
Asjatundjana saab erialase arvamuse (kui dokumentaalse tõendi) asjas tähtsust omavates
küsimustes anda iga erialast kogemust ja pädevust omav isik. A. Solntsev puhul on vastavad
nõuded selgelt täidetud, samuti on võimalik selgelt veenduda, millised andmed on
asjatundjale arvamuse andmise alusena esitatud.
5 MITTEVASTAVUS NR 2 (TOIMINGU ÕNNESTUMISE KONTROLLIMINE)
5.1 Hankija on väitnud, et ta on kontrollinud, et kolmanda isiku pakkumuses on väärtus TRUE
defineeritud ja et seega toimingu õnnestumist kontrolliti ja tulemused kajastati andmebaasis.
5.2 Hankija pole aga seejuures mitte millegagi ustavaks teinud (rääkimata tõendamisest), kuidas
ta kolmanda isiku pakkumuse puhul veendus selles, et paigaldus- ja kasutusjuhendis
defineeritud väärtus TRUE tähendab toimingu õnnestumise kontrolli. Ühe väärtusega TRUE
ei ole võimalik edasi anda mitme sammu olekut (so ka seisundeid, kus toiming ei õnnestunud
ning mis oli põhjus – ka viimaseid oli andmebaasis kohustatud kajastada). Seega nähtub
hankija selgitustest, et hankija ei olegi vastava nõude täitmises kohaselt veendunud.
6 MITTEVASTAVUS NR 4 (RAKENDUSE SÄTETE KAJASTAMINE)
6.1 Hankija on oma vastuses meelevaldselt teinud kahest eraldiseisvast nõudest (nõuded 10 ja
13) ühe nõude, väites justkui piisas rakenduse sätete haldamisest (milline nõue ei olnud
siiski samuti täidetud).
3|6
6.2 Vaidlustuse aluseks olevad testrakenduse nõuded 10 ja 13 omavahel seotud niivõrd, kuivõrd
p 13 määrab ära, mis on rakenduse sätted. Küll aga on tegemist sisuliselt erinevate nõuetega
– lisaks nõudele, et rakenduse sätted „headless“ ja DEBUG peavad oleva käsurealt
hallatavad (nõue 13), peavad rakenduse sätted olema ka konsoolis kajastatud (konsooli
kirjutatud), nagu nõuab nõue nr 10. Hankija üritab taas enda esitatud nõuet (nõue 10)
sisutühjaks tõlgendada.
6.3 Hankija EI OLE näidanud, et kolmanda isiku testrakenduse puhul olid konsoolis kajastatud
rakenduse sätted „headless“ (sh ei ole näidanud, kus). Hankija on sellega sisuliselt omaks
võtnud, et kolmanda isiku proovitöös oli nõue täitmata.
7 MITTEVASTAVUS NR 6 (RAKENDUSE KÄIVITUMINE)
7.1 Nagu vaidlustaja on ülal esile toonud, on kõnealuse mittevastavuse aspektist olulised
järgmised asjaolud:
- kolmanda isiku testrakendus EI käivitunud kahest masinast testimisel (so selliselt, et
rakendus ja test käivitatakse erinevates masinates) paigaldus- ja kasutusjuhendis toodud
käsureavõtmega;
- kuigi kolmanda isiku testrakendus kahe masina testis ei käivitunud, siis hankija EI OLE
näidanud, kuidas ta veendus kolmanda isiku testrakenduse vastavuses hankija esitatud
nõuetele
- hankija EI OLE näidanud, et kolmanda isiku testrakenduse puhul oleks saanud hallata
sätteid „headless“ ja DEBUG (ja kui, siis kuidas).
7.2 Vaidlustaja ei pea vajalikuks korrata varem esitatud seisukohti. Ebaõige on ka hankija väide
selle kohta, et kahe masina testis (2. test) kolmanda isiku proovitöö lähtekoodi ei muudetud
(ja et hankija administraator „eksis“ vastupidise avaldamisel). Kolmanda isiku teises testis
muutis hankija ise pakkuja esitatud lähtekoodi ning hankija vastupidised väited ei vasta tõele
järgmistel põhjustel.
7.3 Testrakenduse ja põhirakenduse käivitamisel erinevatest arvutitest PEAB SAAMA
testrakendus kuskilt info, millises arvutis (aadress) olevat rakendust ta peab testima ja
millises arvutis (aadress) olevasse andmebaasi peab ta tulemuse kirjutama. Videost on
selgelt näha, et vastavaid parameetreid EI OLE konfiguratsioonifailis. Ning käsureaga,
millega test käivitatakse, EI OLE neid samuti. Samal ajal kommenteeribki administraator
videos, et pidi muutma java faile - järelikult kirjutati need väärtused otse java lähtekoodi.
7.4 Nimelt, videost on näha, et failis (docker-compose.yml) ei ole mingeid parameetreid
põhirakenduse ega andmebaasi aadressidega. Näha on, et saab ette anda käsurealt lisa
parameetreid (märgitud punasega pildil):
4|6
Videost on ka näha, et hankija administraator proovib seda käsurealt teha, kuid saab vea (joonitud
punasega) “variable is not set”(muutuja on määratlemata):
Rohelisega on näha, et üritati rakendusele ette anda appMainUrl ja dbConnectionString
parameetreid.
Siit järeldubki, et ainus võimalus oli need aadressid kirjutada otse rakenduse lähtekoodi (java faili).
Kuivõrd kolmanda isiku testrakendust ei olnud võimalik tema poolt esitatud paigaldus- ja
kasutusjuhendi kohaselt käivitada (mida hankija testvideos ka selgelt avaldab), on ilmne ka see, et
kolmanda isiku proovitöö paigaldus- ja kasutusjuhend ei vastanud nõuetele (so esineb ka
vaidlustuses toodud mittevastavus nr 7).
5|6
8 TÄIENDAVAD MENETLUSKULUD
8.1 Vaidlustaja täiendab oma 20.01.2025 esitatud menetluskulude nimekirja käesolevaga
täiendavalt järgmise reaga:
Tunnihind Summa
Kuupäev Tehtud töö (toiming) Aeg (h)
(EUR) (ilma km-ta)
Hankija ja kolmanda isiku seisukohtade analüüs, suhtlus
23.01.2025 4,50 190,00 855
kliendiga, repliigi koostamine
/allkirjastatud digitaalselt/
Kaidi Reiljan-Sihvart
vandeadvokaat
Wisercat Estonia OÜ lepinguline esindaja
6|6