Tehniline kokkuvõte
Olulised järeldused:

Projekti lähteandmete kvaliteeti tasub hinnata muu hulgas pärast analüüsi tehtud ulatusmuudatuste arvu, rakendamist takistavate küsimuste arvu ning alles tootmiskatsetes ilmnenud paranduste põhjal.

  • Lähteandmed ei ole formaalsus; need mõjutavad kasutuselevõtu aega, muudatuste maksumust ja vastutuse ulatust pärast juurutamist.
  • Ainuüksi funktsioonide loetelust ei piisa; kirjeldada tuleb andmeallikaid, erandeid, valideerimist, käsitsi tehtavaid möödaminekuid ja logitavaid sündmusi.
  • Enne juurutamist tuleb iga võtmetähtsusega teabe puhul määrata vastutaja, allikas, tekkimise aeg ja vea tagajärg.
  • Kõige kulukamad muudatused tekivad rakenduse kokkupuutepunktides automaatika, kvaliteedi, hoolduse ja jälgitavusega.
  • Sisendandmete määratlemise viis võib mõjutada vastavushindamist, tehnilist dokumentatsiooni ja vajaduse korral CE-märgistust.

Tööstusrakenduse projekti lähteandmete ettevalmistamine ei ole enam pelgalt administratiivne etapp, mille saab „jooksvalt ära vormistada”, vaid otsus, mis mõjutab otseselt käivitamise aega, muudatuste maksumust ja vastutuse ulatust pärast juurutamist. Tootmiskeskkonnas töötab rakendus harva isoleeritult: see peab sobituma olemasoleva automaatika, kvaliteediprotsesside, hoolduse ning sageli ka jälgitavuse ja vastavusnõuetega. Kui alguses puudub üheselt mõistetav protsessi kirjeldus, andmeallikate määratlus, erandolukordade käsitlus ja osapoolte vastutuspiirid, siis meeskond ei projekteeri lahendust, vaid püüab tegelikkust katse-eksituse meetodil taastada. Just siis venib ajakava mitte programmeerimise, vaid eelduste parandamise, täiendavate kohapealsete ülevaatuste, ulatuse üle peetavate vaidluste ja objektil tehtud testide järel vajalike ümbertegemiste tõttu.

Kõige suurem viga seisneb tavaliselt selles, et „lähteandmetena” käsitletakse üksnes rakenduselt oodatavate funktsioonide loetelu. Tööstusprojekti puhul on aga sama olulised ka piiritingimused: kes ja millal andmeid sisestab, millised signaalid tulevad juhtimissüsteemist, mis juhtub sidekatkestuse korral, millised käsitsi tehtavad möödaviigud on lubatud, millised sündmused tuleb registreerida ja millistel operaatori otsustel on mõju kvaliteedile või ohutusele. Ärilisest vaatenurgast on see eristus määrava tähtsusega, sest just nendes kokkupuutepunktides tekivad kõige kallimad muudatused. Kui rakendus peab tootmist toetama, mitte ainult andmeid kuvama, muutub ebatäpne projektisisend väga kiiresti probleemiks integraatori, tarkvaratöövõtja ja hoolduse koostöö korraldamisel. Iga osapool näeb protsessist erinevat osa, kuid vale otsuse tagajärjed kannab tavaliselt investor: seisakute, täiendavate vastuvõttude ja vaidlustena selle üle, kas mingi funktsioon oli „enesestmõistetav” või siiski töö ulatusest väljas.

Praktikas on see hästi näha lihtsa näite puhul, kus rakendus jälgib retsepte, tootmispartiisid või kvaliteedisündmuste registrit. Kui meeskond alustab tööd ilma kokku leppimata, millised andmed on algandmed, millised neist on ainult tuletatud, kes tohib neid parandada ja kas parandusest peab jääma jälg, siis ei ilmne probleem maketi etapis, vaid alles käivitamisel või siseauditi käigus. Äkitselt selgub, et rakendus „töötab”, kuid selle põhjal ei ole võimalik taastada partii kulgu, selgitada kõrvalekallet ega tõendada, miks operaator tegi konkreetse otsuse. Siis liigub lähteandmete ettevalmistamise teema loomulikult edasi toote ja protsessi jälgitavuse kavandamise suunas ning mõnikord ka vastavuse eelarvestamise juurde, sest iga hiline muudatus andmete registreerimise viisis nõuab loogika, liideste ja vastuvõtukatsete ümbertegemist.

Olukorra hindamise praktiline kriteerium on lihtne: enne teostuse alustamist peab olema võimalik iga võtmetähtsusega teabe puhul määrata selle omanik, allikas, tekkimise hetk, valideerimisreegel ja vea mõju. Kui meeskond ei suuda seda teha ilma oletustele või „objektil üle kontrollimisele” tuginemata, siis ei ole lähteandmed valmis ja projekt hakkab puudujääke tasa tegema kõige kallimal võimalikul hetkel. Mõõta tasub mitte ainult rakenduse üleandmise tähtaega, vaid ka ulatusmuudatuste arvu pärast analüüsi kinnitamist, teostust blokeerivate küsimuste hulka, valdkondadevaheliste kooskõlastuste aega ning paranduste arvu, mis ilmnevad alles tootmiskatsetes. Need on projekti ettevalmistuse kvaliteedi, mitte ainult töövõtja töö kvaliteedi näitajad.

Alles selle taustal tuleb esile vastavuse teema tegelik tähtsus. Kui rakendus mõjutab masina funktsiooni, selle kasutusviisi, ohutuse seisukohalt oluliste sündmuste registreerimist või protsessiparameetrite dokumenteerimist, siis võib lähteandmete määratlemise viis mõjutada ka vastavushindamise ja tehnilise dokumentatsiooni ulatust. See ei tähenda alati CE-märgistuse valdkonda, sest see sõltub rakenduse enda rollist ja süsteemi arhitektuurist, kuid selle seose eiramine projekti alguses suurendab peaaegu alati hilisemate kooskõlastuste maksumust. Seetõttu tuleb otsus teha kohe: kas käsitleme projektisisendi ettevalmistamist formaalsusena enne tööde tellimist või insenertehnilise etapina, mille käigus korrastatakse vastutus, vähendatakse muudatuste riski ja luuakse eeldused tegelikult lühemaks juurutuseks.

Kus kulu või risk kõige sagedamini kasvab

Kõige suurem kulu ei teki tavaliselt tööstusrakenduse programmeerimisest endast, vaid seal, kus lähteandmed on puudulikud, vastuolulised või kirjeldavad ainult oodatavat ärilist tulemust ilma selle saavutamise tehniliste tingimusteta. Kui alguses ei ole teada, millised signaalid on usaldusväärne lähteallikas, millised on protsessi piirolekud, kes kinnitab häirete reeglid ja millised sündmused tuleb registreerida, hakkab projektimeeskond tegema asendusotsuseid. Just siis kasvab ulatusmuudatuste arv pärast analüüsi kinnitamist, tekivad teostust blokeerivad küsimused ning venivad kooskõlastused automaatika, hoolduse, kvaliteedi ja ohutuse vahel. Projekti jaoks ei tähenda see ainult viivitust, vaid ka vastutuse nihkumist: töövõtja vastutab lahenduse eest, mille eeldused on sageli omaks võetud vaikimisi, mitte teadlikult kokku lepitud.

Teine riski allikas on funktsionaalsete nõuete segiajamine projekteerimisotsustega. Praktikas tähendab see seda, et tellija kirjeldab ekraani, aruannet või juhtimisviisi, kuid ei määra operatiivset eesmärki, piirtingimusi ega erandeid. Siis näib iga hilisem protsessimuudatus „väikese paranduse” või täpsustusena, kuigi tegelikult nõuab see loogika ümbertegemist, testimist ja uusi kooskõlastusi. Hea hindamiskriteerium on lihtne: kui konkreetse nõude puhul ei saa üheselt vastata, kes teeb otsuse, milliste andmete alusel, mis aja jooksul ja millise mõjuga protsessile, siis ei ole see veel valmis sisend. Siit liigub teema loomulikult edasi kõige levinumate vigade juurde tööstusprojektides, sest probleem ei puuduta ainult dokumentatsiooni, vaid ka lahenduse määratlemise viisi ennast.

Praktiline näide on rakendus, mis peab jälgima liini ümberseadistamist ja blokeerima käivitamise, kui retsepti parameetrid ei vasta nõuetele. Kui projekti sisend piirdub väitega, et „süsteem peab jälgima õigeid seadistusi”, on risk peaaegu vältimatu. Tuleb otsustada, millised parameetrid on kriitilised, kust need võetakse, kas operaator võib need üle kirjutada, kuidas käsitleda sidekatkestust, mida loetakse vastavuse kinnituseks ning kas blokeering on üksnes protsessiline või mõjutab masina ohutusfunktsiooni. Ilma nende kokkulepeteta toovad lõppkatsed peaaegu alati välja vaidluse vastutuse üle: tootmine ootab paindlikkust, kvaliteet nõuab auditeeritavat jälge ja hooldus vajab võimalust teha hooldusrežiimis ohutu möödaviik. Need ei ole teostuse üksikasjad, vaid puuduvad lähteandmed, mis projekti lõpus maksavad kõige rohkem.

Eraldi riskikategooria tekib siis, kui rakendus sekkub masina loogikasse, tööjärjestusse, alarmide kinnitamise viisi või ohutuse ja kvaliteedi seisukohalt oluliste sündmuste salvestamisse. Sellisel juhul ei ole teema enam ainult IT-valdkonna küsimus. Kui projekt muudab masina kasutustingimusi, vea korral reageerimise viisi või vastavuse tõendamiseks vajaliku teabe ulatust, võib see minna projekti riskianalüüsi valdkonda ning seejärel ka masina vastavushindamise ja tehnilise dokumentatsiooni ettevalmistamise alla. Mitte igal juhul ei ole sellel tähendust CE-märgistuse jaoks, sest määrav on rakenduse tegelik roll süsteemi arhitektuuris, kuid kriteerium on selge: kui rakenduse viga võib muuta protsessi käitumist viisil, mis mõjutab ohutust, toodet või dokumenteerimiskohustusi, tuleb see küsimus lahendada enne juurutamist, mitte pärast vastuvõtukatseid.

Juurutamise juhtimise vaates ei ole kõige kallimad mitte üksikud tehnilised eksimused, vaid õigel ajal tegemata otsused. Seetõttu tasub sisendandmete kvaliteeti hinnata mitte kirjelduse mahu, vaid selle järgi, kas see võimaldab vaidlused sulgeda juba enne programmeerimistöid. Kui ka pärast avaworkshoppe ei ole endiselt üheselt selge, millised nõuded on kriitilised, millised on vaid kasutaja eelistused, mis kuulub valideerimisele ja milline muudatuste ulatus käivitab täiendava riskianalüüsi või vastavusega seotud kooskõlastused, siis on ajakava näiliselt turvaline. Praktikas tähendab see, et kulu ja vastutus on lihtsalt lükatud etappi, kus nende korrigeerimine on kõige aeglasem ja kõige kallim.

Kuidas sellele praktiliselt läheneda

Praktikas ei alga juurutusaja lühendamine mitte kiirema programmeerimisega, vaid nende otsuste arvu vähendamisega, mis tuleb teha alles juurutamise käigus. Tööstusrakenduse projekti sisendandmed peaksid seega olema korraldatud mitte funktsioonide kirjelduse, vaid nende kohtade ümber, kus projekt võib seisma jääda: vastutuspiirid, töötingimused, sõltuvused automaatikast, mõju protsessi ohutusele, valideerimisnõuded ja muudatuste sisseviimise reeglid. Kui meeskond saab mahuka kirjelduse kasutaja ootustest, kuid lahendamata on see, kes kinnitab alarmiloogika, millised signaalid on tõeallikaks, kuidas näeb välja avariirežiim ja mida tohib muuta ilma mõjude uut hindamist tegemata, siis on ajakava vaid näiliselt stabiilne. Sellises olukorras ilmneb kulu hiljem paranduste, vastuvõtuvaidluste ja tarnijate vahel hajunud vastutuse kujul.

Seetõttu tasub alguses võtta sisendmaterjali kvaliteedi hindamiseks üks lihtne kriteerium: kas selle alusel saab tehnilise otsuse üheselt siduda vastutaja, käivitustingimuse ja kontrollimise viisiga. See kriteerium korrastab teemat paremini kui üldine väide, et „nõuded on kirjeldatud”. Juhi jaoks tähendab see vajadust saada enne tööde tellimist selgus mitmes küsimuses: kas rakendus ainult visualiseerib protsessi või juhib ka selle käitumist; kas see mõjutab toote kvaliteediparameetreid; kas see integreeritakse olemasoleva juhtimissüsteemiga; kas hooldus hakkab pärast juurutamist konfiguratsiooni üle võtma; ning kas pärast käikulaskmist on muudatusi ette nähtud. Kui vastused neile küsimustele on tingimuslikud või hajutatud kirjavahetusse, siis ei ole projektil veel lähteandmeid, vaid tööeelduste kogum. Vahe on oluline, sest tööeeldused ei pea tavaliselt tootmishalli katsumusele vastu.

Hea näide on rakendus, mille ülesanne on koguda andmeid liinilt, kuvada seadmete olekut ja võimaldada operaatoril muuta osa seadistustest. Müügifaasis käsitletakse sellist ulatust sageli kui „standardset operaatorikihti”, kuid juurutamise seisukohalt on määrava tähtsusega eristada, millised seadistused on üksnes käitusega seotud ja millised mõjutavad protsessi kulgu, toote kvaliteeti või masina käitumist ebanormaalsetes olekutes. Kui seda enne juurutamist ei otsustata, valmistab arendaja ette parameetrite muutmise mehhanismi, integraator ühendab selle kontrolleriga ning alles vastuvõtukatsete käigus tekib küsimus, kas konkreetse väärtuse muutmine nõuab lukustust, muudatuste jälge, täiendavat kinnitamist või uut riskianalüüsi. Siis ei ole probleem enam tehniline. Sellest saab vastutuse vaidlus: kes lubas funktsiooni kasutusele võtta, kes pidi hindama selle mõju ohutusele ja kes vastutab tagajärgede eest, kui pärast käivitamist selgub, et õiguste ulatus oli liiga lai.

Seetõttu peaks sisendandmete praktiline ettevalmistamine lõppema lühikese, kuid siduva kirjeldusega projekti otsustusloogikast, mitte piirduma üksnes ekraanide, aruannete või signaalide loeteluga. Selline kirjeldus peab määratlema, millised funktsioonid kuuluvad funktsionaalse vastuvõtu alla, millised vajavad kinnitust lõppkasutaja poolelt ja millised käivitavad täiendavad kooskõlastused integraatori, hoolduse või vastavuse eest vastutava isikuga. See on hetk, mil teema liigub loomulikult tarkvaramaja, integraatori ja käituse vahelise koostöö korraldamise juurde, sest ilma vastutusliideste kokkuleppimiseta võib ka korrektselt kirjutatud tööstusrakendus süsteemide kokkupuutepunktis toppama jääda. Kui rakendus aga mõjutab masina funktsioone ohutuse seisukohalt olulisel viisil või muudab süsteemi kavandatud käitumist, ei ole sama sisendmaterjal enam üksnes projektdokument, vaid omandab tähenduse ka edasise vastavushindamise ja tehnilise dokumentatsiooni jaoks.

Normatiivseid viiteid tasub sisse tuua alles siis, kui on teada, et rakendus mõjutab tegelikult ohutuse valdkonda, toote vastavust või nõuab formaalset valideerimist. Mitte iga tööstusrakendus ei kuulu sellesse ulatusse, kuid seda ei tohi eeldada ilma kontrollimata. Kriteerium on praktiline: kui funktsiooni viga, vale konfiguratsioon või parameetri loata muutmine võib muuta masina, protsessi või operaatori otsuse olekut viisil, mis on oluline ohutuse, kvaliteedi või dokumenteerimiskohustuste seisukohalt, siis vajab projekt lisaks nõuete täpsustamisele ka varasemat riskianalüüsi ja vastavusmõju hindamist. Just siin otsustatakse kõige sagedamini, kas juurutus tuleb lühem või jõuab lihtsalt kiiremini kulukate paranduste etappi.

Millele juurutamisel tähelepanu pöörata

Isegi hästi ette valmistatud sisendandmed ei lühenda juurutust, kui meeskond käsitleb neid funktsioonikirjeldusena, mitte vastutuse, muudatuste ja vastuvõtu piirtingimustena. Tööstusrakenduste projektides ei tulene viivitused harva mitte programmeerimisest endast, vaid sagedamini sellest, et kasutuselevõtu etapis selgub, et sisendandmed ei määra, kes kinnitab protsessi parameetrid, kes vastutab seadmetest tulevate andmete kvaliteedi eest, millises režiimis tohib muudatusi teha ja mis on vastuvõtu alus. Siis hakkab juurutus elama oma rütmis: iga ebaselgus nõuab lisapädevat otsust, iga otsus avab vaidlusriski ulatuse üle ning iga objektil tehtud parandus suurendab mõlema poole kulu ja vastutust. Kui eesmärk on juurutusaega lühendada, peab sisendmaterjal olema kasutatav mitte ainult projekteerijale, vaid ka integraatorile, hooldusele, kvaliteediosakonnale ja vastavuse eest vastutavatele isikutele.

Erilist ettevaatust nõuab olukord, kus rakendus peab töötama ebaühtlaste andmetega, mis pärinevad erinevatest kontrolleritest, ülemise taseme süsteemidest või operaatori käsitsi sisestustest. Just siin tekib kõige sagedamini näilise täielikkuse lõks: signaalide loetelu on olemas, ekraanid on kirjeldatud, kuid puuduvad ühesed reeglid prioriteetide, veaolekute tähenduse, andmete kehtivusaja ja süsteemi reaktsiooni kohta siis, kui uuendusi ei tule. Praktikas viib see vigadeni, mis formaalselt ei ole tarkvararike, vaid määratlemata töömudeli tagajärg. Projektijuhile on see oluline eristus, sest see mõjutab muudatuste maksumust ja lepingulist vastutust. Hea hindamiskriteerium on lihtne: kui võtmefunktsiooni puhul ei ole võimalik ühe lausega nimetada andmeallikat, otsuse omanikku, tagasilükkamise tingimust ja korrektse toimimise kinnitamise viisi, siis on sisendandmed veel liiga nõrgad, et liikuda juurutusse ohutult edasi.

Seda on hästi näha rakenduse näitel, mis arvutab protsessi seadistusväärtused ja edastab need täiturseadmele või kuvab operaatorile otsuse alusena. Kui sisendis ei ole määratud, kas väärtused on informatiivsed, soovituslikud või juhtivad, ei tea juurutusmeeskond, millist testimisrežiimi rakendada ja kellel on õigus oodatud käitumisest kõrvalekalle heaks kiita. Selline ebaselgus tuleb tavaliselt ilmsiks alles käikulaskmisel, kui tekib küsimus, kas tootmist võib alustada hoolimata ajalooliste andmete mittetäielikust valideerimisest või käsitsi tehtud möödaviikudest. Siis on tähtaja lühendamine „ajutiste” lahendustega vaid näiline: suureneb reklamatsioonide, seisakute ja äärmisel juhul ka vastutuse risk kahju eest, mis tuleneb valest protsessiotsusest. Seetõttu tasub enne juurutamist võtta kasutusele mõõdetav kriteerium: kas iga protsessi parameetreid mõjutava funktsiooni jaoks on olemas üheselt mõistetav vastuvõtutesti stsenaarium koos vigaste andmete, andmete puudumise ja side taastumise järgse toimimise määratlusega. See ei ole formalism, vaid etteaimatava käivitamise eeltingimus.

Alles selle taustal on näha, millal teema lakkab olemast üksnes juurutuse korralduslik küsimus ning hakkab kuuluma riskianalüüsi ja masina edasiseks vastavushindamiseks ettevalmistamise valdkonda. Kui rakendus muudab masina tööloogikat, mõjutab operaatori otsuseid ohutuse seisukohalt olulistes olukordades või muutub osaks funktsioonist, millest sõltub protsessi lubatav olek, siis ei piisa lihtsalt nõuete „täpsustamisest”. Tuleb kontrollida, kas lähtematerjal võimaldab tõendada kavandatud toimimist, kasutuspiiranguid ja valideerimistingimusi, sest vastasel juhul võib juurutus küll tehniliselt lõppeda, kuid takerduda vastuvõtul, tehnilises dokumentatsioonis või hilisemal auditil. Praktikas on piir selge: kui andmeviga, vale konfiguratsioon või parameetri volitamata muutmine võib põhjustada ohutuse, toote kvaliteedi või dokumenteerimiskohustuste seisukohalt olulise tagajärje, tuleb projekt siduda eraldi riskianalüüsiga, mitte piirduda ainult funktsionaalsete testidega. Just juurutuse, riskianalüüsi ja tulevaste CE-märgistusega seotud nõuete kokkupuutekohas tekivad kõige sagedamini kõige kulukamad parandused, mis ajakava vaates näivad pisiasjana, kuid tegelikult viivad projekti tagasi lähte-eelduste etappi.

KKK: kuidas koostada tööstusrakenduse projekti lähteandmed nii, et juurutusaega lühendada?

Mitte ainult funktsioonide loetelu, vaid ka andmeallikad, piiritingimused, töö käigus esinevad erandid ja vastutuspiirid. Enne juurutamist tasub osata määrata teabe omanik, selle allikas, tekkimise aeg, valideerimisreegel ja vea tagajärg.

Sest need ei kirjelda, kuidas rakendus peab tegelikus tootmiskeskkonnas toimima. Kõige kulukamad muudatused tekivad tavaliselt loogika, side, käsitsi tehtavate möödaviikude ja sündmuste registreerimise kokkupuutepunktis.

Kõige sagedamini mitte programmeerimises endas, vaid lähte-eelduste parandustes, täiendavates kooskõlastustes ja ümbertegemistes, mis selguvad alles objektil tehtavate katsete käigus. Risk suureneb eriti siis, kui meeskond teeb puudulike lähteandmete tõttu asendusotsuseid.

Kui võtmenõude puhul ei ole võimalik selgelt vastata, kes teeb otsuse, milliste andmete alusel, millal ja millise mõjuga protsessile, siis ei ole sisend valmis. Hoiatusmärgiks on ka küsimused, mis takistavad juurutamist, ning vajadus „objektil kontrollida“.

See võib mõjutada, kui rakendus mõjutab masina funktsiooni, kasutusviisi või ohutuse ja protsessi seisukohalt oluliste sündmuste logi. Tekst osutab, et see ei kuulu alati CE-märgistuse valdkonda, kuid selle seose eiramine alguses suurendab tavaliselt hilisemate kooskõlastuste kulu.

Jaga: LinkedIn Facebook