Miks on tarkvara arendamisel tarvis korrektset lähteülesannet?

Võiks arvata, et tarkvara arendamisel ei ole lähteülesanne eriti oluline. No see on ju software, pehme kaup, seda saab muuta nii nagu parasjagu tarvis on. Hakkame aga pihta ja pärast vaatame, mis välja tuli.

Kahjuks kohtab sellist tellijapoolset põhjendamatut optimismi ikka ja jälle. Tellija arvates käib tarkvara arendamine nii:
1. Helistan ja räägin ära, et on tarvis uut tava- ja lisasoodustuste võrdlemise aruannet. Sellega olen ma kõik puust ja punaselt ette teinud.
2. Ülehomme installeeritakse uus versioon, kus tellitud aruanne on juba olemas.

Tegelikult aga nii lihtsalt kahjuks ei saa. Kindlasti ei piisa seletusest, et "Tavasoodustus on see ale mis ma tavaliselt annan. Lisasoodustuse paneb Marika peale". Sellistele selgitustele tuginedes ei saa tellija oma soovitud aruannet niipeagi kätte.

Nagu ka teiste eluvaldkondade puhul, on tarkvara arendamisel korrektne lähteülesanne väga tähtis. Ka siin tuleb silmas pidada, et iga lähteülesandes tehtud viga ja ebatäpsus kandub edasi lõpptulemisse. Kõigepealt peab teada olema eesmärk, miks üldse on tarvis tarkvaras midagi muuta või midagi juurde ehitada. Eesmärk ei tohi olla interpreteeritav. Loomulikult ei tohi lähteülesanne sisaldada vasturääkivusi. Nii tellija kui ka täitja peavad ühtemoodi aru saama, mida ja miks tehakse ning milline peab olema tulemus. Niikaua kui need asjad on udused, ei tohi arendamisega alustada, vaid tuleb omavahel läbi rääkida. Selline ette planeerimine tuleb tellijale igal juhul odavam kui ehku peale rapsimine.

Muidugi on võimalik tellitud aruanne ka segase lähteülesandega lõppude lõpuks valmis teha. Aga mis see tellijale maksma läheb ja kui palju see aega võtab? Maja ei hakka ükski terve mõistusega inimene ilma projektita ehitama. Võibolla ei ole tarkvara arendamine päriselt võrreldav maja ehitamisega, aga ta ei ole ka näiteks kingade jalga sobitamine, et kui ei meeldi, siis proovime aga järgmist paari.

Pealkirjas püstitatud küsimusele ühe lausega vastates – nii saab oodatud tulemuse kiiremini, kvaliteetsemalt ja odavamalt.

Sven Uusväli
Märts 2011


Tagasi