Qui lira la documentation? À quoi servira la documentation? Ce sont les questions les plus importantes auxquelles répondre. Par exemple, la documentation destinée aux développeurs de maintenance se concentrerait davantage sur la structure, tandis que la documentation destinée aux développeurs intégrant le produit se concentrerait davantage sur les services Web et la structure de la base de données.
En général, faites autant de documentation que nécessaire et pas plus. De nombreuses organisations ont besoin de documentation parce que quelqu'un a insisté sur le fait que c'était la meilleure pratique, mais la documentation finit par s'accumuler.
En supposant que les gens utiliseront réellement la documentation, n'essayez pas de capturer le code et la base de données au plus petit niveau. Les développeurs examineront le code pour les minuties. Au lieu de cela, concentrez-vous sur des détails qui ne sont pas apparents dans le code , par exemple:
- Les cas d'utilisation rencontrés par le produit. Cela peut être difficile compte tenu de l'âge du produit, mais saisir ce que le produit est censé faire donne un contexte vital aux lecteurs et aux testeurs non techniques. Quels sont les concurrents sur le marché (le cas échéant)? Y a-t-il des éléments exclus de la portée du produit?
- Toutes exigences claires non fonctionnelles . Par exemple, le produit a-t-il été écrit pour gérer un certain volume? Quel âge peuvent avoir les données? Où la mise en cache est-elle utilisée? Comment les utilisateurs sont-ils authentifiés? Comment fonctionne le contrôle d'accès?
- Un diagramme de contexte montrant l'interaction avec d'autres systèmes, tels que la base de données, les sources d'authentification, la sauvegarde, la surveillance, etc.
- (Si connus) Risques et comment ils ont été atténués avec un registre de décision . Cela est probablement difficile rétrospectivement mais il y a souvent des décisions critiques qui influencent une conception. Capturez tout ce que vous connaissez.
- Modèles de conception communs ou directives de conception . Par exemple, existe-t-il un moyen standard d'accéder à la base de données? Existe-t-il une norme de codage ou de dénomination?
- Chemins de code critiques , généralement à l'aide de diagrammes de flux ou d'activités ou de diagrammes de séquence UML. Il n'y en a peut-être pas dans le projet, mais ce sont généralement ceux que les utilisateurs professionnels ont articulés.
Même si toutes ces informations ne sont pas disponibles, commencez dès maintenant . Les développeurs qui viendront après vous vous remercieront.
De bons tests unitaires automatisés ou des cas de test peuvent également être une documentation utile, bien que difficile d'accès pour les personnes moins techniques.
Il semble également que vous deviez apporter un changement culturel pour inclure la documentation . Commencez petit, mais, idéalement, le projet ne doit pas être «terminé» tant qu'il n'a pas au moins un niveau minimal de documentation. C'est probablement l'étape la plus difficile, car ce qui précède sont des choses que vous pouvez contrôler. C'est quelque chose que les autres doivent acheter. Cependant, cela peut également être le plus gratifiant, en particulier si le prochain projet que vous réalisez est accompagné d'une bonne documentation.