Je suis actuellement en train de mettre à jour un document de conception afin qu'il soit correct et à jour pour les futurs développeurs.
Actuellement, le document se concentre uniquement sur les faits et présente le design. Il n'y a aucune justification pour les décisions présentées. Je crois qu'il est important de saisir la justification afin que les développeurs sachent pourquoi quelque chose est ainsi, car cela affectera probablement les décisions futures. Il ne m'est pas possible d'ajouter une justification à toutes les décisions de conception, en particulier celles prises avant de commencer à travailler sur le projet, mais je fais ce que je peux dans ce département.
Cependant, certaines des décisions de conception sont, respectueusement, de très mauvaises décisions étant donné les exigences du projet. Mais il y en a aussi de bons.
Ma pensée initiale était que je devrais inclure une discussion sur les problèmes de conception et les solutions ou solutions de contournement potentielles à ces problèmes pour attirer l'attention des futurs responsables, mais je ne suis pas sûr que le document de conception soit un lieu pour ce type de discussion et d'informations. Je ne veux pas qu'une "critique" du design fasse boule de neige pour "en déchirer un nouveau" car d'autres personnes travaillent sur ce système et mettent à jour le document, car cela est clairement inapproprié.
Mon directeur soutiendrait l'une ou l'autre décision, donc c'est à moi de décider. Quelle que soit l'approche que je prends, le document produit serait officiellement versionné et fourni aux développeurs travaillant sur le système, généralement avant qu'ils ne soient chargés de travaux de développement. Il est prévu qu'un nouveau développeur se familiarise avec les documents associés à un système logiciel donné avant de commencer les travaux de développement.
Des questions:
- Un document de conception doit-il s'en tenir aux faits bruts ("c'est la conception") et à la justification ("voici pourquoi c'est la conception") ou doit-il également être utilisé pour signaler des problèmes non défectueux avec la conception qui pourraient être problématiques pour futurs développeurs?
- Si le document de conception ne doit pas être utilisé pour capturer ces informations, quel type de document doit les capturer et quoi d'autre doit être capturé avec une discussion sur les justifications de la conception, les compromis et les problèmes connus (qui ne sont pas des défauts, car les défauts sont suivis en utilisant d'autres outils)?