Specifikacija moze da se napise prilicno na cemu hoces.
Zavisnosti na cemu radis treba da odvojis par dela.
Ja sam licno radio samo na kompleksnijim resenjima u web.dev-u , tako da cu da se ogradim od desktop sveta.
Ono sto prvo treba da se odvoji je logika i view.
Ja licno pristupam prvobitno resenju da u wireframe iskazem ponasanje aplikacije. Tu recimo Visio se lepo ponasa sa interface stencile.
Tu se recimo moze da razbije na par milestone, po samom interfejsu ili recimo na neke verzije ... ta i ta funcija se dodaje u tom i tom mileston-u, tj reviziji ili sta god.
Hipoteticki receno da imas sve vec reseno u wireframe/funcionalnst pregledu ide tezi deo kako ce to da radi .
Ja licno koristim wiki za to, ali uglavnom neko ko je glavni inzinjer sistema mora da pise taj deo oko funcionalnosti.
Tu se recimo razdvoji svaka stavka na zaseban item u wikiju i onda se elaborira kako ce da to radi interakciju sa core sistemom, framework-om ili kako vec ...
Uglavnom, pitanje je prilicno genericko da ima neki ultimativni odgovor