Description de la formation
« La documentation est l’huile de ricin de la programmation. Les gestionnaires croient qu’elle doit être utile parce que les programmeurs la détestent. » ? Gerald M. Weinberg, The Psychology of Computer Programming
« Nous découvrons comment mieux développer des logiciels par la pratique et en aidant les autres à le faire. Ces expériences nous ont amenés à valoriser : […] Des logiciels opérationnels plus qu’une documentation exhaustive […] » — Manifeste pour le développement Agile de logiciels
La documentation est perçue comme un mal nécessaire. Lorsqu’elle est réalisée, elle est lourde, elle devient rapidement désuète ou elle n’est jamais plus consultée #TAGRI.
Dans un contexte d’agilité et de conformité, il est possible de produire une documentation utile et pertinente qui reflète la réalité tout en répondant aux exigences de conformité.
En faisant des liens très forts entre certains principes de conception pilotée par le domaine (Domain-driven Design - DDD) ainsi que les pratiques DevOps, cette formation est une introduction à la documentation système vivante. Sans expliquer toute la théorie derrière la connaissance relative à un système informatique, elle donne plusieurs recettes et méthodes heuristiques (c’est-à-dire des méthodes qui servent à la découverte) sur « pourquoi », « quoi », « comment », « où » et « quand » documenter et « qui » documente.
Objectifs pédagogiques
À la fin de cette formation, vous serez en mesure de :
- Identifier les différents types de documentation et d’artéfacts documentaires
- Produire une documentation vivante
- Produire une documentation suffisante (juste assez) et juste à temps
- Produire une documentation au bon endroit et facile à trouver
- Décrire des modèles par des diagrammes descriptifs, dans un langage ubiquitaire (Ubiquitous Language)
- Rédiger des fiches de décisions d’architecture (Architectural Decision Record - ADR)
- Critiquer et valider la pertinence et la qualité de leur documentation en fonction du message, du public cible et des exigences normatives et réglementaires (conformité)
Méthodologie
Plusieurs méthodes d’apprentissage permettant de mesurer votre progrès et votre intégration des concepts sont utilisés tout au long de la formation :
Clientèle visée
Architectes et concepteurs.trices (fonctionnels ou logiciel), analystes, développeurs.euses, pilotes, toute autre personne qui a à rédiger de la documentation en lien avec le développement logiciel et ScrumMaster / chargé.e de projet qui veut encadrer son équipe par rapport à la documentation