Sei confuso sulla differenza tra la progettazione dettagliata e la codifica.
Da un commento che hai postato:
during the detailed design. The way I see it, the Design phase would comprise 2 stages : High-level and Detailed. While "High-level" would identify the data structures and list of programs, Detailed design would spell out the logic. If the logic is stated only in words, it leaves risk at the coding level - can the logic be accurately translated into code in a timely manner? Therefore, it would be a risk-mitigation device to design the code as well.
A partire dal 2018, gli umani esperti sono ancora tenuti a creare software utile. Non lasciare che tutto il clamore di apprendimento automatico ti ingannasse, abilità umane, non processo, è ancora l'anello più importante della catena.
If the logic is stated only in words, it leaves risk at the coding level - can the logic be accurately translated into code in a timely manner?
Trasformare la logica descritta con linguaggio naturale in istruzioni logiche che una macchina può eseguire, è l'abilità fondamentale degli sviluppatori di software. Questo processo deve essere fatto da qualche parte. Questo rischio sarà presente, finché noi umani siamo nel processo. Pensi di attenuare il rischio, ma lo stai semplicemente spostando e rendendolo più costoso.
Quello che stai descrivendo qui sta trasformando i "coder" in dattilografi. Fare ciò non ti porterà alcun vantaggio, ma ti porterà costi considerevoli. Hai già realizzato alcuni dei problemi che stai invitando a te stesso. Potresti scrivere un intero programma software in MS Word, quindi consegnarlo a qualcun altro per copiarlo senza cervello in un IDE. Ma come te ne preoccupa, MS Word non esegue alcun controllo di compilazione. Nessuno degli strumenti è lì. E qual è la probabilità che tu possa scrivere un programma di migliaia di righe e farlo funzionare perfettamente alla prima prova? Abbastanza improbabile. Ora la tua dattilografa deve tornare da te e devi modificare il tuo documento MS Word, e riprovare più e più volte, con una seccatura enorme e costa ogni volta. Hai realizzato il rischio che i programmatori impiegassero troppo tempo a scrivere il codice, trasformandolo nella realtà di qualcun altro che scrive il codice, utilizzando un ambiente di sviluppo davvero fantastico, e che ha impiegato altrettanto o più a fare nulla.
Ad un certo punto ti rendi conto, dal momento che la persona che scrive il documento Word è l'unica di cui ti fidi con l'abilità fondamentale per fare la programmazione vera e propria, forse quella persona dovrebbe essere quella a digitare tutto in primo luogo nell'IDE.
Le lingue parlate in natura sono un linguaggio molto scadente per la comunicazione di argomenti super-precisi. Le lingue parlate sono incredibilmente sensibili al contesto. I linguaggi di programmazione no. Un design dettagliato è scritto idealmente nel punto giusto tra linguaggio naturale e linguaggio tecnico, con il punto su quello spettro che varia in base all'abilità degli sviluppatori e al rischio del progetto.