1.4.4 Tarkvarasüsteemi juurutamine

iDevice ikoon 1.4.4 Tarkvarasüsteemi juurutamine

Testitud tarkvaratoode tuleb võtta kasutusele. Süsteemi kasutusele võtt hõlmab kogu tarkvaraprotsessist juurutuse, andmeülekande vanast süsteemist, kasutajate ja süsteemi administraatorite koolituse, toe süsteemi kasutajatele ja paranduste sisseviimise juurutusjärgselt ilmnenud vigade parandamiseks.

Tarkvaratoote kasutusele võtt sisaldab mitmeid erinevaid samme. Puudub täpne protsess, sest situatsioon, kus tarkvara juurutatakse, varieerub erinevate klientide juures oluliselt. Siiski järgmised tegevused on reeglina vajalikud:

  • tarkvaratoote levitamine, st installeerimine riistvarale. Keerukamate, hajutatud süsteemide on abiks UML levitusskeemid millised kirjeldavad tarkvara paiknemist erinevatel riistvara sõlmedes, sealhulgas:
    • Avalikustamine (release). Avalikustamine järgneb arendusprotsessile. See sisaldab kõiki tegevusi, et süsteem ette valmistada assembleerimiseks (masinkoodi viimiseks) ning kliendi juurde üleviimiseks. Selle tegevuse käigus määratakse ka ressursid, mis on vajalikud töötamiseks kliendi poolel.
    • Tarkvara installeerimine ja aktiveerimine - käivituvad komponendid paigutatakse arvutitele-serveritele, kus nad edasipidi töötama peavad. Keerulisemad süsteemid vajavad lisaks ka muu toetava tarkvara installeerimist (nt andmebaasimootori uus versioon jms). Tihti installeeritakse suurem süsteem mitmesse keskkonda - näiteks lisaks ka testserverile, mida saab hiljem kasutajakoolituseks ja muudeks katsetusteks kasutada.
    • Kohandamine ja uuendamine - uuendamise käigus installeeritakse uus versiooni süsteemist, kohandamine on samuti süsteemi muutmine, kuid põhjuseks on peamiselt muudatuse kliendipoolses keskkonnas.
  • andmeülekanne vanast süsteemist - varem kasutatud süsteemis on reeglina andmed, mida tuleb ka edaspidi kasutada. Soovitav on automaatülekandevahendi loomine, milline käivitatakse ühekordselt andmete ülekandeks vanast süsteemist uude. Ülekandemehhanism võib olla päris keerukas, eriti kui vana süsteemi ja uue süsteemi andmestruktuurid on oluliselt erinevad. Kui andmete kogus on väike ja/või automaatteisenduse algoritmi väljatöötamine liigselt keerukas, on võimalik andmeid ka käsitsi üle kanda. Sellisel juhul võib olla vajalik luua raportid vanast süsteemist andmete väljavõtmiseks ja sisestusvormid vm vahendid andmete käsitsi sisestamiseks kasutuselevõetavasse süsteemi;
  • muudatuste tegemine teistesse rakendustesse, millised peavad töötama koos ja/või kasutatakse koos arendatava tarkvaratootega;
  • koolituse ettevalmistamine ja läbiviimine tarkvaratootega kokkupuutuvatele inimestele, sh järgmistele rollidele:
    • igapäevased kasutajad
    • administraatorid
    • kasutajatoe pakkujad.

Koolitus peab hõlmama nii teoreetilist kui praktilist osa. Praktilise osa on soovitav läbi viia testimiseks ja/või koolituseks loodud keskkonnas (nii tarkvara kui andmed), seda eelkõige ennetamaks riske reaalsete andmete konfidentsiaalsuse, käideldavuse või tervikluse huvides;

  • valmisoleku loomist kriisiolukorra juhtimiseks ja kriisiolukorras käitumiseks. Võimalikud kriisid tarkvaratoote kasutusele võtul on:
  • programmi mittetoimimine töökeskkonnas
  • vigade avastamine programmis
  • andmete kadu.

Viga tarkvaratootes võib tuua kaasa äriprotsesside katkemise ja suure majandusliku ning renomee kahju äriettevõttele või avaliku sektori asutusele. Kriisiolukorraks ettevalmistamise käigus lepitakse kokku rollid, protsessid ja juhtimise, kuidas kriisiolukorras käituda, kuidas suhelda kasutajate ja kriisireguleerijatega, kas ja kuidas teavitada avalikkust, kuidas vajadusel ja võimalusel võtta vana tarkvaratoode kasutusele jms.

Tarkvara kasutuselvõtu riskiks on ka inimesed. Eriti võib see avalduda tarkvara esmakordsel juurutamisel, kus võib tekkida suur vastuseis. Osa sellest riskist saab maandada eelpool mainitud koolituste abil. Lisaks on vajalik läbi mõelda igapäevased protseduurid. Kas seni kasutusel olnud protseduurid saavad samal viisil toimida nüüd, kui kasutusel tarkvarasüsteem? Tihtipeale ei saa. See võib põhjustada suurt inimlikku segadust ning lisada vastasseisu uuendustele. Seega lisaks tehnilistele õpetustele tarkvarasüsteemi kasutamise osas tuleb õpetada töötajaid läbimõeldult nö uut moodi asju ajama.

Näiteks kuidas peaks peale digitaalse dokumendihaldussüsteemi kasutuselevõttu käituma arvega, et see raamatupidaja poolt ülekantud saaks? Või kuidas saab õpilane peale uue õppeinfosüsteemi kasutuselevõttu teada järeleksamitest, mida enam seinale ei riputata?. Üldisemalt öeldes võib olla tarkvara kasutuselevõtmisel vajalik äriprotsesside ümberkujundamine, millel on kaks poolt - äriprotsesside kohandamine, mis esindab organisatsioonilist vaadet ning vastuvõtt ja heakskiitmine, mis esindab üksikisiku vaadet.

Juurutusetapi läbimiseks pakub Capers Jones oma raamatus Software Engineering Best Practices välja järgmised head tavad (best practices):

  • Ühine sama rakenduse kasutajate võrgustikuga (kui selline on olemas)
  • Küsi praegustelt tarkvarakasutajatelt nõu ja soovitusi tarkvara juurutamiseks.
  • Leia konsultandid, kellel on juurutamiskogemus.
  • Muretse tarkvara sobilike erikursuste loomiseks ning leia sobivad kursused
  • Kohanda tarkvara kohalikeks vajadusteks.
  • Tekita liides arendatava uue tarkvara ja väljavahetatava tarkvara vahele.
  • Registreeri ja teavita vigadest ning defektidest, mis juurutamise jooksul ilmnevad.
  • Installeeri tarkvaratootja paigad ja uuendused.
  • Hinda uue rakenduse edukust.

Sama autori järgi võib juurutusetapp olla väga pikk isegi 12 kuud, nõuda mitmekümne inimese tööd ning ca 1 miljon $ raha. Tarkvara, mis ei ole otse antud firmale loodud, võib vajada ka päris pikka ja põhjalikku kohandamist, et seda saaks üldse kasutada.

Eelnevalt kirjeldatud tarkvaratoote juurutamine on pigem ühekordne tegevus. Vastavalt tarkvaraelutsükli mudelitele järgneb hoolduse faas, mis sisuliselt kestab seni, kuni tarkvara kasutuses püsib.

Seoses muudatustega ärikeskkonnas, seadusandluses, äri toimimises on vajadus tarkvaratoodet kaasajastada, samuti nõuavad tarkvaratootes avastatud vead parandamist. Tarkvaratoote muudatuste halduse aitab läbi viia kokkulepitud kord ja ka spetsiaalsed CASE-vahendid, millised võimaldavad teavitada vigadest tootest või muudatusvajadustest; muudatusnõudeid prioritiseerida olulisuse, kriitilisuse jm alustel, muudatuste realiseerimist täitmiseks suunata, hallata tarkvaraversioone jm.

Ka suuremate muudatuste sisseviimisega tarkvarasse (nt uute funktsionaalsuste lisamisega) kaasnevad vähemalt osaliselt eespool kirjeldatud juurutusetapid.