La maggior parte delle persone concorda sul fatto che sia una buona cosa dividere un progetto di sviluppo software in molte piccole attività, ognuna delle quali può essere implementata in poche ore. Ma più la granularità è fine, maggiore è lo sforzo totale per definire gli ambiti esatti di tutte le attività individuali al fine di evitare lacune o sovrapposizioni.
La mia domanda non riguarda come suddividere un sistema complesso ma come documentare il risultato una volta fatto: come possiamo definire chiaramente l'ambito di un compito in modo che uno sviluppatore a cui è assegnato non possa implementare troppo poco né troppo?
Sono consapevole del fatto che la portata della mia domanda è piuttosto ampia, ma spero che esistano alcune strategie generali, linee guida o migliori pratiche. Sono alla ricerca di informazioni su questo argomento da un po 'di tempo ma non sono soddisfatto di quello che ho trovato finora.
Credo che le pratiche agili contribuiscano a ridurre l'impatto delle definizioni di compiti ambigue, ma non risolvono il problema stesso.