Definition of Done (DoD)
La Definition of Done (DoD) se situe dans la notion de développement logiciel Agile, plus spécifiquement dans la gestion de projets et les méthodologies agiles telles que Scrum ou Kanban.
Contexte de la notion de DoD en programmation
Le DoD est un concept clef dans les pratiques agiles, utilisé pour assurer que chaque élément du backlog, qu'il s'agisse d'une tâche, d'une fonctionnalité ou d'une histoire utilisateur, soit achevé selon des critères prédéfinis. Voici comment la notion de DoD se situe dans le domaine de la programmation :
- Méthodologies Agiles (Scrum, Kanban) :
- En Scrum, par exemple, chaque sprint se termine par une évaluation des éléments livrables et du backlog. Le DoD est utilisé pour vérifier si un élément est effectivement "fini" et prêt à être livré. Cela inclut la complétion du code, les tests, la documentation, et parfois le déploiement dans un environnement de production.
- En Kanban, bien que moins formalisé, le DoD peut également être utilisé pour déterminer quand une tâche peut être déplacée dans une colonne "Done".
- Cycle de Développement Logiciel :
- Le DoD se situe à la fin du cycle de vie du développement de chaque fonctionnalité ou tâche. Il sert de barrière de qualité avant que le travail ne soit considéré comme terminé et intégré dans le produit final.
- Cela inclut des aspects tels que le développement, les tests, la revue de code, la documentation, et parfois des étapes comme le déploiement.
- DevOps et Livraison Continue (CI/CD) : Dans un environnement DevOps ou de livraison continue, le DoD peut intégrer des critères techniques liés au déploiement ou à l'intégration continue. Cela inclut par exemple la validation que le code passe tous les tests automatisés et que le build est réussi, sans erreurs.
- Pratiques de Qualité du Code : Le DoD fait aussi partie des pratiques de qualité du code. Il impose que des normes soient respectées avant de considérer une fonctionnalité comme finie. Cela pourrait inclure des revues de code, le respect de la couverture des tests unitaires, ou l'absence de dette technique.
- Collaboration entre Développement et Produit : Le DoD aide à renforcer la collaboration entre les équipes techniques (développeurs, testeurs) et l'équipe produit (Product Owners, Scrum Masters). Cela garantit que le développement répond aux attentes business et techniques.
Exemples de relations avec la programmation
- Code Review : Avant qu'une fonctionnalité ne soit marquée comme terminée, elle doit passer par une revue de code par un autre développeur.
- Tests unitaires et d'intégration : Les tests doivent être écrits et tous doivent passer sans erreurs.
- Documentation : Le code doit être documenté si nécessaire.
- Critères d'acceptation : Ces critères viennent souvent du Product Owner ou du client, et le DoD garantit que ces critères sont validés.
Voici un exemple de ce que pourrait être une fiche d'une tâche de JIRA pour qu'une tâche soit terminé :
État | Description |
---|---|
DEV | |
A faire, En cours, Terminé, Ignoré, Bloqué, N/A | Valider les conditions de succès |
A faire, En cours, Terminé, Ignoré, Bloqué, N/A | Les tests manuels sont documentés dans un récit |
A faire, En cours, Terminé, Ignoré, Bloqué, N/A | Créer tests unitaires |
A faire, En cours, Terminé, Ignoré, Bloqué, N/A | Impression de la page |
A faire, En cours, Terminé, Ignoré, Bloqué, N/A | Incrémentation du numéro de version du projet |
A faire, En cours, Terminé, Ignoré, Bloqué, N/A | Revue de code |
A faire, En cours, Terminé, Ignoré, Bloqué, N/A | Mettre les étapes de déploiement dans le Release Note. |
A faire, En cours, Terminé, Ignoré, Bloqué, N/A | Commit les requêtes SQL dans gestionnaire de version (Git, SVN,...) |
A faire, En cours, Terminé, Ignoré, Bloqué, N/A | Tester sur un poste de travail (local), par exemple les tests unitaires |
A faire, En cours, Terminé, Ignoré, Bloqué, N/A | Tester sur un poste de travail (local) qu'une erreur n'est présente dans la console Web ou de terminal. |
A faire, En cours, Terminé, Ignoré, Bloqué, N/A | Tester sur un poste de travail (local) qu'aucun erreur se produit dans le journal de bord du projet dans une situation normal. |
A faire, En cours, Terminé, Ignoré, Bloqué, N/A | Tester sur un poste de travail (local) des smokes tests |
QA | |
A faire, En cours, Terminé, Ignoré, Bloqué, N/A | Tester sur l'environnement de développement |
A faire, En cours, Terminé, Ignoré, Bloqué, N/A | Tester toutes les langues sur l'environnement de développement |
A faire, En cours, Terminé, Ignoré, Bloqué, N/A | Tester l'accessibilité sur l'environnement de développement |
Dernière mise à jour : Jeudi, le 26 septembre 2024