neljapäev, 20. märts 2014

Kuidas seletada tarkvaraarendust 15-aastastele?

Tarkvara on tänapäeval kõikjal meie ümber: juba algkooliõpilased teavad ja on mänginud arvutimänge ning kasutanud nutitelefoni app’e. Kõik need suuremad ja väiksemad programmikesed kokku võetavad üldise mõiste tarkvara alla ning nende loomine ongi tarkvaraarendus.

Nagu maja ehitamisel ei piisa ainult müüriladujatest, on ka tarkvara loomisel vajalikud erinevad rollid. Kõige tähtsamad on tarkvara kasutajad – neist ja nende soovidest ja vajadustest algab kogu tarkvaraarendus, ja nende juures see ka lõpeb – valmis tarkvaraga. Tarkvaraarenduse ülimaks eesmärgiks on teha kasutaja õnnelikuks ja rahulolevaks :). Analüütik on see inimene, kes kogub kokku, mõtleb läbi ja paneb ilusasti kirja kõik selle, mida kasutajatele õnneks vaja oleks. Analüütikut tunned muuhulgas selle järgi, et talle meeldib teisi kuulata, infot süstematiseerida ja ka on ta väga hea kirjandite kirjutamisel.

Edasi läheb analüütiku kirjutatud „kirjand“ (ehk nõuded loodavale tarkvarale) programmeerija kätte. Tema on see, kes tarkvara tegelikult valmis programmeerib. Head programmeerijat iseloomustab vaimustumine tehnoloogiast ja uute oskuste õppimisest, aga samas ei pea ta olema tihti tähelepanu keskmes, vaid saab päris hästi hakkama ka siis, kui ainult analüütiku ning lähemate kolleegidega suhtleb.

Kui programmeerija on tarkvara enda meelest valmis saanud, siis tuleb mängu testija, kes seda kontrollib ja igakülgselt proovile paneb. Testija hea omadus on see, et ta ei pea mõtlema nagu kõik teised, vaid peabki mõtlema „kastist väljas“, ja ühtegi eksperimenti ei saa testijale pahaks panna. Testija on nagu detektiiv või varanduseotsija – hüljatud lossi on peidetud teadmata arv aardeid, ning testija ülesandeks on need kõik üles otsida. Mida kavalam, tähelepanelikum ja järjekindlam ta on, seda rohkem aardeid ta üles leiab. Tarkvara testimisel on aarded muidugi vead tarkvaras ehk bugid.

Kui kõik bugid on üles otsitud ja ära parandatud, siis jõuab tarkvara oma lõppkasutajateni, kes loodetavasti on õnnelikud :).

Aga ega koostöö alati ei suju ja suuremad ja väiksemad takistused on elu tavapärane osa... seega on veel üks oluline roll tarvis ära rääkida – projektijuht loomulikult. Projektijuht ise ei tee suurt midagi (ei kirjuta nõudeid ega koodi ja ka ei testi, kas tuli hea välja), aga ometigi on ta vajalik, et projekt püsiks ajakavas ja komplikatsioonide korral oleks kõigil selge, kuidas edasi toimida.

Kui sul on kunagi vaja 15-aastastele tarkvaraarenduse alustalasid selgitada, võid eeltoodut julgelt kasutada. Lähenemine on testitud ja töötas.

Kui aga tundub, et tahaks vastu vaielda või täiendada, kasuta siinsamas postituse all olevat kommenteerimiskasti. Me ei hammusta! :)

Maili Markvardt
ASA Quality Academy

Maili on Eesti Testijate Liidu asutajaliige ja kuulub ka ETLi juhatusse. Ühtlasi õpetab ta tarkvara kvaliteediteemasid Tallinna Tehnikaülikoolis ja Eesti Infotehnoloogia Kolledžis. "Testimine ei ole elukutse, testimine on elustiil!"

Kommentaare ei ole:

Postita kommentaar