Tarkvara tellimus tuleb täpselt dokumenteerida: kas maja hinnapakkumist saab küsida ilma projektita?
Nagu majaehituse hinnapakkumisi ei küsita ilma oma vajaduste ja soovide täpse kirjeldamiseta, on alati mõistlik ka tarkvaraarenduse tellimisel kogu projekt dokumenteerida, sest ainult nii on võimalik saada võrreldavad hinnapakkumised, kirjutab tarkvaraarenduse projektijuht ja analüütik Alan Kesselmann. Detailse kirjelduse puudumine on sageli põhjuseks, miks arenduspartneri vahetumisel hiljem kogu projekt ümber kirjutatakse.
Kunagi ammu, kui alustasin tööd projektijuhina oma esimeses veebiagentuuris, sai mulle kohe selgeks üks probleem, mille peale nagu keegi ei näinud mõtlevat. Nimelt puudus enamikul projektidel korralik analüüs, mistõttu klientidel polnud arendusettevõtetelt võimalik saada sisuliselt võrreldavaid hinnapakkumisi.
Tavaline protsess kliendi vaatevinklist käis nii: klient kohtus tarkvaraarendajaga ja andis talle üldise kirjelduse selle kohta, mida ta ootab. Arendajal tekkis täpsustavaid küsimusi, millele klient täiendavalt vastas. Kõik see kordus eraldi teise ja kolmanda ning ehk veel ka neljanda arendajaga, kuid küsimused olid teised ning seetõttu erinesid alati ka kliendi vastused ja arendaja ettepanekud ühe või teise detaili lahendamiseks. Kuidas saaks sellisel juhul eeldada, et ka arendajate hinnapakkumised on omavahel võrreldavad ning nende elluviimine annab sama täpselt tulemuse, mida klient ju ootab?
Järgnev arendusprotsess päädis alati sellega, et klient hakkas projekti lõpus esitama küsimusi ja kommentaare stiilis “kas te seda ei teegi?” või “ma arvasin, et see toimib nii”. See läks enamasti nii, kuna klient ei olnud põhjalikult kirjeldanud oma nägemust ega pannud seda piisavalt selgelt kirja. Vaidlusalune küsimus võis küll varem arutluse all olla mõne teise hankel osalenud arendajaga, aga mitte sellega, kes konkreetse arendustöö tegi. Selle tulemusena ei olnud rahul ei klient ega arendaja, kuna hilisem vaidlemine oli mõlema poole jaoks ebameeldiv. Vaidlused tekkisid lähtuvalt kliendi ootustest, kuid nende lahendamisel polnud võimalik viidata töö dokumentatsioonile või projektiplaanile, mis oleks probleemid juba eos ära hoidnud.
Ainult dokumentatsioon tagab võrreldavad hinnapakkumised
Seetõttu on arendustöö tellimisel oluline tuua välja kõik detailid, mis võimalik, et tekkiks korralik ootuste kirjeldus ja projektdokumentatsioon. Veelgi enam, ainult nii on võimalik saada kõigilt hankel osalejatelt võrreldavad hinnapakkumised, kuna kõigil arendusettevõtetel on sama info. Kõik küsimused, vastused ning ettepanekud on dokumentatsioonis kirjas või tehakse vajadusel jooksvalt teistele hankes osalejatele kättesaadavaks. See tagab, et erinevate arendajate hinnapakkumiste alusel tehtav töö annab kliendile täpselt sama tulemuse.
Kui soovitud tarkvara toimimine on läbi mõeldud ja dokumenteeritud, on arendusettevõttel vähem ootamatusi, mis tähendab selgemaid, odavamaid ja paremini läbi mõeldud hinnapakkumisi. See kehtib ühtviisi nii päris uue tarkvara loomisel kui ka olemasolevale rakendusele muudatuste tellimisel. Kui aga arendajad on osaliselt erinevas infoväljas, võib karta, et odavama hinna pakkuja pole osade funktsionaalsuste loomist või oluliste detailide lahendamist üldse ette näinud.
Dokumenteerimine võimaldab lihtsasti arendajat vahetada
Nii mõnigi kord tuleb klient arendusettevõtte jutule sooviga, et too võtaks üle teise arendaja tehtud projekti. Kui projektil puudub korralik dokumentatsioon, on see keeruline, sest uus ettevõte ei tea kliendi vajadusi, arendusega soovitud täpset tulemust ega probleeme, mida uus arendusprojekt peaks lahendama. Dokumentatsiooni puudumise tõttu peab klient kõike senisele arendajale räägitut uuele ettevõttele uuesti üle kordama. Abi ei ole ka suhtumisest „vaata ise, kuidas praegune tarkvara töötab”, kuna programmikoodile otsa vaadates ei ole selge, mis senises lahenduses on hea või halb, mida saaks teha optimaalsemalt või millised on vead. Olen ise korra ühe taolise projekti rumalalt teha võtnud, mis päädis mu projektijuhi karjääris ühe kõige hullema läbikukkumise ja valusaima õppetunniga.
Kui projekt on korralikult dokumenteeritud ja vajadused täpselt kirjeldatud, on arenduspartneri vahetamine märksa lihtsam. Veelgi lihtsam on see siis, kui seniselt arendajalt oli nõutud iga arendatud funktsionaalsuse testimist. Kui aga kõike seda tehtud pole, tuleb arenduspartneri vahetamisel alustada tööd vajaduste kirjeldamisest ja projektdokumentatsiooni koostamisest.
Võit arenduse kiiruses, hinnas ja kvaliteedis
Vajaduste dokumenteerimisest on palju kasu ka olemasoleva arenduspartneriga koostöö jätkamisel. Erinevate arenduste vahele võib teinekord jääda kuid või aastaid. Kui ühel hetkel tekib vajadus uue funktsionaalsuse arendamise või olemasoleva tarkvara muutmise järele, on alati võimalik viidata projektdokumentatsioonis sellele, milline on asjade praegune seis, millist tulemust soovitakse edaspidi ning milles seisneb selleks vajalik muutus tarkvaralahenduses.
Arendusettevõtte töötajad võivad vahetuda ja sellise dokumentatsiooni puudumisel on uuel töötajal väga keeruline end süsteemiga peensusteni kurssi viia. Vahetuda võivad ka tarkvara tellinud ettevõtte töötajad. Kui nõuded ja soovid rakendusele on kirja pandud, on kliendi esindajatel lihtsam projekti n-ö sisse minna ja arenduspartneriga suhelda. Praktikas tähendab projektdokumentatsiooni olemasolu seda, et arendustöö läheb märksa kiiremini ning soovitud tulemus saavutatakse enamasti varem.
Ülevaade arendusprotsessist ja alusdokument kasutustestidele
Dokumentatsioon annab kliendile ka parema ülevaate arendustöö käigust: igal hetkel on võimalik võrrelda kirjapandud vajadusi projektiplaaniga ja sellega, mis reaalselt on juba ära tehtud. Veelgi parem on paluda arendajal hoida kogu ülevaade tööde seisust pidevalt ajakohasena.
Korralik vajaduste kirjeldus on hea alus rakenduse testimisele, tehku seda siis arendaja ise või on see sisse ostetud kolmanda osapoole teenusena. Mõlemal juhul on hea võtta dokumentatsioonist tarkvarale soovitud funktsionaalsuste kirjeldus ning kontrollida, kas lahendus toimib nii, nagu kirja pandud on. Samuti on siis lihtne süsteemselt välja tuua probleeme ja mittevastavusi võrreldes dokumentatsioonis kirjeldatud kliendi vajadustega.
Abi projektdokumentatsiooni koostamisel on käeulatuses
Olen erinevatel ametikohtadel töötades läbi töötanud väga paljude klientide erinevaid arendusvajadusi ning kirjutanud selle alusel projektdokumentatsiooni. Seetõttu saan tarkvaralahenduste tellijaid aidata paberitööga nende vajaduste ja nõuete kirjeldamisel ning dokumentatsiooni koostamisel. Selle alusel on iga arendusettevõte suuteline kliendi soovitu ellu viima, kuid loomulikult on valmis arendustöö tegema ka Datafox Software Engineeringu meeskond.
Soovid abi arendusvajaduse kirjeldamisel ja projektdokumentatsiooni koostamisel. Võta palun ühendust e-posti aadressil [email protected].
Artikkel ilmus Äripäeva Teabevaras 28.08.2023.
Loe lisaks:
Kliendirahuolu uuring: Datafoxi soovitusindeks kasvas esimesel poolaastal 47-ni
IT-turvalisus nõuab pealekeeramist