Načeloma so tukaj stvari lahko čisto na amaterskem nivoju. Kot programer, ti lahko povem, da moram pri idejah stranke jaz njo usmerjat v pravilno smer, ker največkrat imaš opravka z nekom, ki ni tako spletno razgledan in mu moraš pomagati, razvijat njegovo idejo naprej, mu pokazati še kakšno orodje, ki vama bo nudil nek skupen jezik. Predno se prične z ravojem aplikacije, je fino imeti wireframe oz. ogrodje, kako bi zadeva zgledala na funkcionalni plati. En tak zelo super programček je balsamiq mockups , ki ti omogoča izdelavo teh wireframov. Kar se pa ostale dokumentacije tiče, pa pač probaš razdelit aplikacijo na več večjih komponent in potem za vsako komponento posebej v alinejcah napišeš kaj omogoča oz. kakšna so poslovna pravila. Primer za eno komponento, npr. Admin vmesnik.
Kaj omogoča Admin vmesnik ?
-kreiranje novih uporabnikov
-določanja različnih vlog uporabnikom
-vsak uporabnik ima lahko več vlog
-brisanje uporabnikov
... itd
To je samo en tak poenostavljen primer. Potem v nasledni fazi, ko imaš to funkcionalno specifikacijo narjeno, pa pač probaš še SCRUM projektno voednjehttp://en.wikipedia.org/wiki/Scrum_%28development%29 , s tem da ne rabeš bit preveč rigorozen, vedno se je treba prilagajat situacijam, ampak fajn je da imaš vsaj prbližn narjen plan in napisan črno na belem koliko časa boš razvijal eno komponento, si postaveš roke in delaš na manjših podproblemih....
Upam, da sm vsaj mal odgovoril na tvojo vprašanje ;)