2. Copyright notice
• Vous êtes libre de :
• Reproduire, distribuer et communiquer cette création au public
• Modifier cette création
• Selon les conditions suivantes :
• Paternité. Vous devez citer le nom de l'auteur original de la
manière indiquée par l'auteur de l'œuvre ou le titulaire des droits
qui vous confère cette autorisation (mais pas d'une manière qui
suggérerait qu'ils vous soutiennent ou approuvent votre
utilisation de l'œuvre ).
• Rien dans ce contrat ne diminue ou ne restreint le droit moral de
l'auteur ou des auteurs.
• Pour plus d'infos voir : http://creativecommons.org/licenses/by/3.0/
3. Plan
Rappel du manifeste agile sur la documentation
Pratiques agiles
Retour d’expérience sur un projet concret
4. Rappel du Manifeste Agile
Processus et outilsProcessus et outilsPersonnes et interactionsPersonnes et interactions Valorisées >
Suivi d'un planSuivi d'un planAdaptation au changementAdaptation au changement Valorisées >
Source : www.agilemanifesto.org
Documentation
exhaustive
Documentation
exhaustiveLogiciel qui fonctionneLogiciel qui fonctionne Valorisées >
Négociation contractuelleNégociation contractuelleCollaboration
avec le client
Collaboration
avec le client
Valorisées >
5. Pratiques agiles
Au bon moment, « just in time »
A définir avec l'équipe
Mise à jour régulièrement (au moins à chaque sprint)
A jour, même en cas de départ d'une personne
compétente du projet
Cohérente avec la notion de potentiellement livrable du
logiciel en fin de sprint
Plus précise car écrite au moment où le développement est
frais
Effort « lissé » sur toute la durée du projet
Moyen : placer explicitement dans la définition de FINI (story
et/ou sprint)
6. Pratiques agiles
Automatisée au maximum
Exemple :
Javadoc
Commentaires au niveau base de données
Spécifications exécutables
Par ex. avec Fitnesse
Scripts automatiques de déploiement
nécessitent moins de documentation de procédures
Démarrage de projet
Démarrer sans documentation exhaustive
8. Exemple concret – projet PDC
Application « Permis de Construire »
forfait agile pour la Mairie de Nouméa
Outils utilisés :
Redmine : gestion de tickets/tâches, wiki, collaboratif, objectif : 0 mail
Maven : build, construction de la documentation, gestion des
dépendances, etc.
Liquibase : reprise de données transparente pour l’infra, montées de
version maîtrisées
9. Exemple concret – projet PDC
Chaque sprint N est documenté sur un wiki au cours du sprint
N+1
Une tâche de documentation fonctionnelle est créée par
sprint (et estimée en points)
Raisons :
la démo est passée, les développements sont ok
Les informations sont encore fraîches dans la tête des développeurs
Les informations ajoutées indiquent à partir de
quelle version du sprint l’information est valide (ex :
« depuis la version 4.2.0 »)
10. Exemple concret - suite
Documentation technique
La documentation technique est mise à jour au fur et à mesure des
développements
Une modélisation UML des entités est mise à jour en continue lors des
développements (et commitée avec les sources du projet + recopiée sur le
wiki pour tous les utilisateurs)
Automatisation
mvn site : production d’un site par Maven
Lors d’une question utilisateur, la réponse est donnée, quand
c’est possible, par un simple lien vers la documentation
But : apprendre à autonomiser les utilisateurs