Na projektu jsem se setkal s problémem, že nejsou definované business požadavky. Tedy nějaké požadavky analytik získá, ale ne všechny.
Jak si to představit? Pojďme si dát příklad z vytváření fiktivního eshopu. Víme, že zákazník může zadat objednávku, zaplatit a zobrazit stav objednávky. Nemáme ale nikoho, žádného zástupce "businessu", který by nám řekl, že zde chybí možnost stornovat objednávku. Na projektu máme "experta", který vystupuje zadává požadavky, ale nezná skutečné potřeby zákazníka, takže ho ani nenapadne, že by zákazník mohl chtít stornovat pohledávku a že by bylo dobré mu to za určitých podmínek umožnit.
Problém je, že vyvineme veškeré funkcionality dle specifikace, otestujeme je a ve výsledku se při použití na produkci zjistí, že zákazník nemůže stornovat objednávku, protože o této možnosti nikdo neuvažoval. Analytik o ní nevěděl, nebyla tudíž ve specifikaci. Vývojář s touto možností nepočítal. Tester tuto možnost netestoval. Takže musíme vymýšlet, jak tam tuto funkcionalitu přidat a ve výsledku je to samozřejmě mnohem větší problém, než kdybychom s touto možností počítali už na začátku.
Nejnovější (a podle mě ne úplně funkční) nápad je, řešit to pomocí Business Driven Developmentu. Pojďme si nadefinovat testovací scénáře a pokud splníme tyto testovací scénáře, pak máme pokrytou veškerou potřebnou funkcionalitu. Kdo bude tyto scénáře definovat? Přece business, tedy reálně náš "expert". A jak to dopadne? Expert definuje testovací scénáře pro zadání objednávky, zaplacení a zobrazení stavu objednávky...
