Documentation
intrinsèque
Human Talks Lyon – Mars 2014 – Hébergé par l’INSA
Clément Bouillier - @clem_bouillier
Qui suis-je ?
Architecte/chef de projet/consultant mais avant tout
ARTISAN DEVELOPPEUR
> Twitter : @clem_bouillier
Membre ...
La documentation,
c’est un peu comme
la qualité…
(…tout le monde en parle, très peu en font…)
…on vous explique les
processus à suivre pour y
arriver (ou pas!)
Exemples typiques :
Qualité = spécifications exhaustives...
…et pourtant le résultat est
régulièrement le même…
Qualité en
apparence (pour
le client, à la
« recette »)
 Aller vers la
QUALITE
INTRINSEQUE
Documentation
désynchronisée d...
Qualité et documentation
intrinsèque vont de pair
Ne demande pas d’activités spécialisées ayant un autre but que :
« Produ...
1. Documentation fonctionnelle
Développement piloté par
l’expérience utilisateur  User
Story
…inspirez-vous du Story
Mapping…«understanding what your whole system is intended to do » - Jeff Patton
…puis outillez légèrement
Conserver les éléments notés autour des User Story lors de la réalisation
(1 User Story = 3C : c...
…et documenter avec une
démarche BDD
Piloter vos développements par la description du comportement métier désiré
« Conver...
2. Documentation technique
Code explicite
PLUS QUE code commenté
Eviter les commentaires quand vous pouvez expliciter la même chose dans le code
Repr...
TDD = Test Driven
Development, mais aussi
DESIGN (= conception)
Conception incrémentale PLUS QUE « upfront »
+
Documentati...
Et en complément…
Commentaires de commit propres (liés au User Story en BONUS)
+
Un wiki pour documenter
1. les pratiques ...
Toutes ces pratiques portent la
documentation
= Documentation intrinsèque
User Story/Story Mapping
BDD
TDD
Code explicite
...
MERCI
QUESTIONS ?
ROTI ?
Prochain SlideShare
Chargement dans…5
×

20140311 - Documentation intrinsèque - Human Talks

699 vues

Publié le

Comment produire de la documentation technique et fonctionnelle, sans y consacrer des activités à part entière durant le projet (activités souvent écourtées/supprimées sous la pression des délais/des charges du projet).

La documentation intrinsèque se matérialise par la production d'une documentation de qualité inhérente à votre processus de développement (qui ne peut être lui supprimés, c'est le résultat final) : User Story, BDD, TDD, code explicite.

NB : des commentaires expliquent les slides -> téléchargez la présentation

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

20140311 - Documentation intrinsèque - Human Talks

  1. 1. Documentation intrinsèque Human Talks Lyon – Mars 2014 – Hébergé par l’INSA Clément Bouillier - @clem_bouillier
  2. 2. Qui suis-je ? Architecte/chef de projet/consultant mais avant tout ARTISAN DEVELOPPEUR > Twitter : @clem_bouillier Membre actif des groupes suivants > DevLyon : groupe de développeurs partageant une vision de l’informatique créant de la valeur  http://devlyon.fr > MUG Lyon : groupe de passionnés de technologies en environnement Microsoft sur Lyon > Fier d’être développeur : groupe visant à promouvoir le métier de développeur en France  http://fierdetredeveloppeur.org/
  3. 3. La documentation, c’est un peu comme la qualité… (…tout le monde en parle, très peu en font…)
  4. 4. …on vous explique les processus à suivre pour y arriver (ou pas!) Exemples typiques : Qualité = spécifications exhaustives, plans de tests, usine de tests manuels… Documentation = spécifications exhaustives upfront, code commenté, wiki après avoir codé… Tout ça au bon moment dans le cycle projet évidemment !
  5. 5. …et pourtant le résultat est régulièrement le même…
  6. 6. Qualité en apparence (pour le client, à la « recette »)  Aller vers la QUALITE INTRINSEQUE Documentation désynchronisée de la réalité (voire le néant)  Aller vers la DOCUMENTATION INTRINSEQUE
  7. 7. Qualité et documentation intrinsèque vont de pair Ne demande pas d’activités spécialisées ayant un autre but que : « Produire un logiciel opérationnel PLUS QU’une documentation exhaustive »
  8. 8. 1. Documentation fonctionnelle
  9. 9. Développement piloté par l’expérience utilisateur  User Story
  10. 10. …inspirez-vous du Story Mapping…«understanding what your whole system is intended to do » - Jeff Patton
  11. 11. …puis outillez légèrement Conserver les éléments notés autour des User Story lors de la réalisation (1 User Story = 3C : carte, conversation, confirmation) + Regrouper les User Story par Theme/Activité fonctionnel(le) + Gérer les User Story obsolètes (suppression/évolutions) + Taches… + Test Cases…
  12. 12. …et documenter avec une démarche BDD Piloter vos développements par la description du comportement métier désiré « Conversation » et « confirmation » (cf. 3C) sont intimement liés Le code est fonctionnellement lié à la User Story
  13. 13. 2. Documentation technique
  14. 14. Code explicite PLUS QUE code commenté Eviter les commentaires quand vous pouvez expliciter la même chose dans le code Reprenez les termes métiers dans votre code /! aux abstractions et aux APIs : à documenter (JavaDoc…) // check to see if employee is eligible for full benefits if ((employee.flags & HOURLY_FLAG) && employee.age > 65) if (employee.isEligibleForFullBenefits()) Chapitre 4 de Clean Code – Uncle Bob
  15. 15. TDD = Test Driven Development, mais aussi DESIGN (= conception) Conception incrémentale PLUS QUE « upfront » + Documentation des intentions plus que la structure + BONUS : tests automatisés  non-régression
  16. 16. Et en complément… Commentaires de commit propres (liés au User Story en BONUS) + Un wiki pour documenter 1. les pratiques de l’équipe 2. les exigences transverses
  17. 17. Toutes ces pratiques portent la documentation = Documentation intrinsèque User Story/Story Mapping BDD TDD Code explicite PLUS QUE des processus de documentation complémentaires Vous ne les connaissez pas ? Etudiez, entrainez-vous au plus vite…
  18. 18. MERCI QUESTIONS ? ROTI ?

×