Il contesto di questa domanda è la scelta degli strumenti per scrivere le specifiche di progettazione per i progetti software.
Questi documenti saranno scritti e gestiti da architetti e sviluppatori, non sto parlando di requisiti di marketing. Alcuni di questi possono essere condivisi al di fuori del team, ma solo in un modulo elaborato e non modificabile (PDF, si presume che tutti i documenti possano essere esportati in questo formato).
Questi sono documenti di architettura, che descrivono la struttura dei componenti del codice, i metodi di implementazione, i protocolli, i formati dei dati, ecc. Essi assumono la forma di un testo con diagrammi e nomi di identificatori e occasionali frammenti di codice, non si tratta di documentazione dell'API che potrebbe essere generato dai file di origine.
I documenti saranno sotto il controllo del codice sorgente, per fortuna nessuno qui deve essere educato a riguardo. È inevitabile che il controllo delle versioni sorgerà nel tempo: manteniamo vecchie versioni del software. Il tracciamento dei problemi potrebbe non essere rispettato rigorosamente per la documentazione come per il codice.
Quanto è importante essere in grado di confrontare e unire facilmente tali documenti? Abbiamo opinioni divergenti nel team, che vanno da "nessuno mai unisce la documentazione e se necessario Word ha uno strumento di fusione" per "La fusione è fondamentale e git merge
deve funzionare". Nota "Word ha uno strumento di unione" è qualcosa che cito ma non sono d'accordo, avendo avuto la dolorosa esperienza di unire due correzioni che avevo fatto a due copie dello stesso documento
Ho un vago ricordo di una regola in qualche azienda (Google, forse, dato che è così spesso citata) che "se non riesci a unirlo, non esiste", ma non riesco a trovarlo ora.
Sto cercando argomenti ben motivati o citazioni autorevoli (e preferibilmente motivate).