Mal som projekt, pri ktorom zákazník poskytol len veľmi vágne požiadavky. Navyše bol náchylný na neočakávané zmeny a napriek viacerým žiadostiam absolútne odmietol poskytnúť ich písomné spracovanie.
Chcel som projekt úplne opustiť, ale klient trval na tom, že sa veci čoskoro zlepšia. Veci sa dlho nemením a ja som nebol schopný pokračovať v samotnej práci. Keď klient objedná niečo, o čom viem, že nie je dobrý nápad, je mojou morálnou povinnosťou ho upozorniť a požiadať o druhé potvrdenie, aby som predišiel zbytočnej práci — aj keby bola zaplatená. Klientovi som vysvetlil, že situácia bez písomných požiadaviek sa podobá nasledujúcemu scenáru:
Predstavte si, že požiadate architekta o plány domu, s tým, že mu nič nepoviete o tom, ako by mal dom vyzerať. V podstate teda žiadate architekta, aby si požiadavky vymyslel sám. Keď je dom neskôr hotový, môže nastať táto situácia: pozriete sa na dom a architektovi poviete, že ste nechceli bazén v pivnici, ale na streche, a preto odmietnete zaplatiť.
Toto by bol naozaj nešťastný scenár, pretože obe strany by boli s výsledkom hlboko sklamané. Preto musia byť požiadavky veľmi konkrétne. Čím konkrétnejšie, tým lepšie. Je to však jemné umenie vedieť ľudí požiadať o veľmi konkrétne výsledky, aby neboli neskôr sklamaní. Zručnosť, ktorou nevie veľa ľudí, ba čo viac, mnohí o nej ani nevedia.
Keď idete jesť von a máte radi francúzsku cibuľovú polievku s krajcom chleba pomazaného maslom z oboch strán, alebo akékoľvek iné konkrétne požiadavky na jedlo, musíte o to požiadať pred prípravou jedla. Rovnaké platí pre programovanie a vývoj. Problém s tým posledným je však oveľa abstraktnejší. Pri jedle možno vidieť fotografie, alebo aj voľným okom, ako výsledok vyzerá. Chuť možno do istej miery odhadnúť z vizuálu. Pri programovaní — okrem GUI — je hodnotenie vlastností vopred ťažšie.
Vydržanie pri klientovi sa vyplatilo. Problém nebol ani tak v nedostatku abstraktného myslenia. Ukázalo sa, že klient bol jednoducho zahltený inými úlohami a skutočne nevedel nájsť niekoho, na koho by delegoval úlohu vypísania požiadaviek. Rozhodol sa ma najať na túto úlohu — zozbierať a písomne spracovať požiadavky projektu, aby som mohol nakoniec začať pracovať. Teraz sú obe strany spokojné. Zaujímalo by ma, ako sa táto situácia rieši inde, pretože predtým som nebol zvyknutý na to, aby som pred projektom nedostal žiadne písomné požiadavky.
Toto je 71. príspevok v rámci #100daystooffload.