1. AgileCampusTour
Planifier et Estimer
@agilecampustour http://agilecampustour.org
2. La fine équipe
Julien Biezemans
julien@agilecampustour.org
@jbpros
Simon Schoeters
simon@agilecampustour.org
@cimm
Marc Lainez
marc@agilecampustour.org
@mlainez
Si vous voulez tweeter utilisez le hashtag #act11
@agilecampustour http://agilecampustour.org
3. Petit rappel
1 semaine
@agilecampustour http://agilecampustour.org
4. Petit rappel
1 semaine
@agilecampustour http://agilecampustour.org
5. Avant le projet, la vision
Est-ce que le projet en vaut la peine?
Les 5 pourquoi (5 why’s)
@agilecampustour http://agilecampustour.org
6. Définir une longueur pour
les itérations
Ni trop courte, ni trop longue
De 1 à 6 semaines
Donne un rythme à l’équipe
@agilecampustour http://agilecampustour.org
7. Que veut dire “terminé”?
Les critères qui définissent la complétion
S’appliquent à un récit utilisateur
ou fonctionnalité
Limités aux compétences et
ressources de l’équipe
Compris par le client
@agilecampustour http://agilecampustour.org
8. Exemple
Le blog de l’AgileCampusTour
@agilecampustour http://agilecampustour.org
9. Exemple
Le blog de l’AgileCampusTour
Publier des articles et des vidéos sur l’agilité pour les étudiants
@agilecampustour http://agilecampustour.org
10. Exemple
Le blog de l’AgileCampusTour
Publier des articles et des vidéos sur l’agilité pour les étudiants
Fournir aux étudiants des informations sur l’agilité
@agilecampustour http://agilecampustour.org
11. Exemple
Le blog de l’AgileCampusTour
Publier des articles et des vidéos sur l’agilité pour les étudiants
Fournir aux étudiants des informations sur l’agilité
Pouvoir les utiliser sur des projets dans le cadre de leurs cours
@agilecampustour http://agilecampustour.org
12. Exemple
Le blog de l’AgileCampusTour
Publier des articles et des vidéos sur l’agilité pour les étudiants
Fournir aux étudiants des informations sur l’agilité
Pouvoir les utiliser sur des projets dans le cadre de leurs cours
Leur ouvrir l’esprit à d’autres manières de travailler
@agilecampustour http://agilecampustour.org
13. Exemple
Le blog de l’AgileCampusTour
Publier des articles et des vidéos sur l’agilité pour les étudiants
Fournir aux étudiants des informations sur l’agilité
Pouvoir les utiliser sur des projets dans le cadre de leurs cours
Leur ouvrir l’esprit à d’autres manières de travailler
Leur donner l’envie d’utiliser l’agilité dans leur futur job
@agilecampustour http://agilecampustour.org
14. Récits d’utilisateurs
(User stories)
3
Capture le contenu d’une fonctionnalité
Les visiteurs peuvent lire
les articles publiés sur le Texte court sur carte ou post-it
blog.
@agilecampustour http://agilecampustour.org
16. INVEST
Indépendant
“Un auteur peut écrire un article sur le blog.”
“Un auteur peut écrire une nouvelle sur le blog.”
@agilecampustour http://agilecampustour.org
17. INVEST
Indépendant
“Un auteur peut publier un article ou une
nouvelle sur le blog.”
@agilecampustour http://agilecampustour.org
18. INVEST
Indépendant
“Un auteur peut publier sur le blog.”
“Un auteur peut définir le type de publication qu’il écrit.”
@agilecampustour http://agilecampustour.org
19. INVEST
Négociable
Un récit n’est pas un contrat
Peu de détails
@agilecampustour http://agilecampustour.org
20. INVEST
Valorisable
Récits écrits par le client
@agilecampustour http://agilecampustour.org
21. INVEST
Valorisable
Pour les utilisateurs
“Les visiteurs peuvent écrire des commentaires sur les
articles.”
@agilecampustour http://agilecampustour.org
22. INVEST
Valorisable
Pour les clients
“Le nombre de visites uniques sur la page d'accueil doit être
enregistré.”
@agilecampustour http://agilecampustour.org
23. INVEST
Valorisable
Pas pour les développeurs
“Le code source doit être centralisé et partagé via un
système de versioning.”
@agilecampustour http://agilecampustour.org
24. INVEST
Valorisable
Pas pour les développeurs
“Le code source doit être centralisé et partagé via un
système de versioning.”
@agilecampustour http://agilecampustour.org
25. INVEST
Estimable
Connaissance du domaine
@agilecampustour http://agilecampustour.org
31. INVEST
Testable
Etant donné que je suis identifié comme auteur
Lorsque j'écris un article sur le blog
Et que je publie l'article
Alors l'article est affiché publiquement sur le blog
@agilecampustour http://agilecampustour.org
33. Structure d’un récit
Afin de fournir aux étudiants des informations sur l’agilité
En tant que membre de l’AgileCampusTour
Je veux publier des articles sur le blog
@agilecampustour http://agilecampustour.org
34. Structure d’un récit
Afin de <valeur métier>
En tant que <rôle>
Je veux <fonctionnalité>
@agilecampustour http://agilecampustour.org
35. Trier les récits par priorité
Du plus important au moins important
Différentes techniques
@agilecampustour http://agilecampustour.org
41. Prioritiser: techniques
Préférence La plus simple
Le “client” décide seul
VAN Calcul du ROI d’un récit
Ce qui rapportera le plus
Poker Chips Ludique
Permet au client de mettre un poids sur les
récits
@agilecampustour http://agilecampustour.org
42. Prioritiser: techniques
KANO Impliquer les utilisateurs
Permet de catégoriser les récits
Kano model
@agilecampustour http://agilecampustour.org
43. Estimer les récits
En heures ou en points
L’équipe estime le travail
C’est une estimation
@agilecampustour http://agilecampustour.org
44. Pourquoi estimer?
Quantité de travail délivrée à la deadline
Planification de projets
Complexité des récits
@agilecampustour http://agilecampustour.org
45. Pourquoi estimer?
Quantité de travail délivrée à la deadline
Planification de projets
Complexité des récits
C’est l’équipe de développement qui estime
le travail, personne d’autre
@agilecampustour http://agilecampustour.org
46. Les “story points”
Mesure de l’effort nécessaire pour
accomplir un récit
8
Belgium
Mesure relative par rapport à un récit de
référence points
Mesure de l’incertitude d’un récit
Effort nécessaire = Temps nécessaire ?
@agilecampustour http://agilecampustour.org
47. Les “story points”
Mesure de l’effort nécessaire pour
accomplir un récit
8
Belgium
Mesure relative par rapport à un récit de
référence points
Mesure de l’incertitude d’un récit
Effort nécessaire = Temps nécessaire
@agilecampustour http://agilecampustour.org
50. Example
1/200
@agilecampustour http://agilecampustour.org
51. “Story points” vs. heures
8h pour moi ne veut pas dire 8h pour vous...
Si je tombe malade on ré-estime?
Il est prouvé qu’une estimation relative est plus
souvent pertinente qu’une estimation absolue
@agilecampustour http://agilecampustour.org
52. Estimer: techniques
Planning Poker
Chaque membre recoit des cartes
Les valeurs sur les cartes suivent la suite de
fibonacci... enfin presque...
Plus la valeur est haute plus la tâche est
complexe et incertaine
http://www.planningpoker.com/ Chaque membre de l’équipe choisit une
carte et ensemble, ils la retournent
@agilecampustour http://agilecampustour.org
53. Estimer: techniques
Affinity estimating
Un ou deux membres de l’équipe trient
les récits par complexité
Le reste de l’équipe observe et réagit
ensuite
Des changements sont faits si nécessaire
A chaque tas de récits de même complexité,
on attribue un numéro croissant
@agilecampustour http://agilecampustour.org
54. Oui mais, comment on fait le lien avec
le temps nécessaire?
@agilecampustour http://agilecampustour.org
55. La vélocité d’une équipe
Représente l’effort qu’une équipe peut
délivrer en une itération
Varie au cours des itérations
La moyenne permet de faire des
prédictions
Le “plan” est sans cesse réajusté au fil des
changements de vélocité
@agilecampustour http://agilecampustour.org
56. Déterminer la vélocité
Utiliser des données historiques de l’équipe
Faire 2 ou 3 itérations
Faire une “estimation” éclairée de la vélocité
Se baser sur “l’engagement” de l’équipe
@agilecampustour http://agilecampustour.org
57. Voilà, maintenant on peut “planifier”
@agilecampustour http://agilecampustour.org
58. Niveau projet: Product Backlog
Liste de tous les récits identifiés
Peut contenir des récits vagues
Liste prioritisée par le client
Des récits peuvent y être ajoutés, retirés, modifiés,
déplacés
Les récits du product backlog ne doivent pas mais
peuvent être estimés
@agilecampustour http://agilecampustour.org
59. Niveau itération: Sprint Backlog
Au début de chaque itération, on prend les
éléments les plus importants du product backlog
L’équipe les estime un par un
Lorsque la somme des story points des récits
estimés atteint la vélocité on s’arrête
La liste ainsi créée est le sprint backlog
L’équipe travaillera sur ces récits durant l’itération
@agilecampustour http://agilecampustour.org
62. Kanban
Permet de représenter le processus de
développement en détail
Limite le travail en cours
Est un élément essentiel pour l’équipe
Permet à toute personne extérieure de
connaître le statut de l’équipe
Est mis à jour par l’équipe chaque jour
@agilecampustour http://agilecampustour.org
63. Kanban
Visualiser permet de se construire une “carte”
de l’itération
Manipuler crée de l’engagement
3 ways the brain creates meaning
@agilecampustour http://agilecampustour.org
64.
65. La suite
1 semaine
@agilecampustour http://agilecampustour.org
66. La suite
1 semaine
@agilecampustour http://agilecampustour.org
67. La suite
1 semaine
@agilecampustour http://agilecampustour.org
68. La suite
1 semaine
@agilecampustour http://agilecampustour.org
69. Ne manquez pas...
Workshop planification et estimation
21 février de 18h30 à 21h30
BARB06
Développer oui, mais pas n’importe comment
24 février de 13h à 14h
BARB94
Code workshop
28 février de 18h30 à 21h30
Salle INTEL
Rétrospectives et conclusion
3 mars de 13h à14h
BARB94
@agilecampustour http://agilecampustour.org
70. Un peu de lecture?
@agilecampustour http://agilecampustour.org
71. Et rien que pour vous...
@agilecampustour http://agilecampustour.org
5 pourquoi, base d'une m&#xE9;thode de r&#xE9;solution de probl&#xE8;me utilis&#xE9;e dans des syst&#xE8;mes de contr&#xF4;le de qualit&#xE9;. Consiste &#xE0; poser la question &#x201C;Pourquoi?&#x201D; 5 fois pour trouver la cause premi&#xE8;re d&#x2019;un probl&#xE8;me. Utilis&#xE9;e aussi pour conna&#xEE;tre la raison premi&#xE8;re d&#x2019;un projet, sa finalit&#xE9; premi&#xE8;re, de creuser pour savoir en quoi l&#x2019;id&#xE9;e est int&#xE9;ressante. On fera un petit exercice apr&#xE8;s.\n
\n
\n
\n
\n
\n
\n
\n
Un r&#xE9;cit d'utilisateur (user story) est un texte court capturant le contenu d'une fonctionnalit&#xE9;, en fonction de besoins de l'utilisateur.\n- sur cartes / post-its\n- num&#xE9;riques\n
\n
chaque r&#xE9;cit doit &#xEA;tre impl&#xE9;mentable s&#xE9;par&#xE9;ment\n
Combiner.\n
Diviser autrement\n
- discutable, &#xE0; am&#xE9;liorer en discutant entre client et devs;\n- pas trop de d&#xE9;tails qui donnent la sensation que le r&#xE9;cit est fig&#xE9;.\n
pour d&#xE9;terminer la valeur de mani&#xE8;re optimale, le client devrait &#xE9;crire les r&#xE9;cits\n
les crit&#xE8;res fin du developpement d&#x2019;un r&#xE9;cit clairs; d&#xE9;finis par client.\ng&#xE9;n&#xE9;ralement dos de la carte. \nforme la plus pr&#xE9;cise: sc&#xE9;narios\n
cibler 100% de tests automatis&#xE9;s, car un r&#xE9;cit test&#xE9; par une machine est plus robuste\n
discussion client: d&#xE9;tails+++\n=> &#xE9;criture de sc&#xE9;narios interpretables par machine\n
r&#xE9;cit utilisateur pas une t&#xE2;che de d&#xE9;veloppement.\nil doit envisager une fonctionnalit&#xE9; du point de vue de son utilisateur, au plus haut niveau\npas de d&#xE9;tails techniques\nt&#xE2;ches : plus tard\n
R&#xE9;cit d&#x2019;utilisateur sous forme stricte, r&#xE9;pandue.\n
valeur m&#xE9;tier: - besoin r&#xE9;el user\n - essentiel prioritisation\nr&#xF4;le: - identifier qui utilise pour &#xE9;viter fonctionnalit&#xE9;s inutiles\n - d&#xE9;couvrir fonctionnalit&#xE9;s oubli&#xE9;es\nfonctionnalit&#xE9;: - solution logicielle r&#xE9;pondant au besoin\n