Estimer et Planifier

Preview:

DESCRIPTION

Deuxième session de l'AgileCampusTour à Louvain-la-Neuve, focus sur la planification et l'estimation.

Citation preview

AgileCampusTourPlanifier et Estimer

http://agilecampustour.org@agilecampustour

@mlainez

@mlainez

@cimm

@jbpros

julien@agilecampustour.org

simon@agilecampustour.org

marc@agilecampustour.org

Julien Biezemans

Simon Schoeters

Marc Lainez

La fine équipe

Si vous voulez tweeter utilisez le hashtag #act11http://agilecampustour.org@agilecampustour

1 semaine

Petit rappel

http://agilecampustour.org@agilecampustour

1 semaine

Petit rappel

http://agilecampustour.org@agilecampustour

Avant le projet, la vision

Est-ce que le projet en vaut la peine?

Les 5 pourquoi (5 why’s)

http://agilecampustour.org@agilecampustour

Définir une longueur pour les itérations

Ni trop courte, ni trop longue

De 1 à 6 semaines

Donne un rythme à l’équipe

http://agilecampustour.org@agilecampustour

Que veut dire “terminé”?

S’appliquent à un récit utilisateur ou fonctionnalité

Limités aux compétences et ressources de l’équipe

Compris par le client

http://agilecampustour.org@agilecampustour

Les critères qui définissent la complétion

Exemple

Le blog de l’AgileCampusTour

http://agilecampustour.org@agilecampustour

Exemple

Le blog de l’AgileCampusTourPublier des articles et des vidéos sur l’agilité pour les étudiants

http://agilecampustour.org@agilecampustour

Exemple

Le blog de l’AgileCampusTourPublier des articles et des vidéos sur l’agilité pour les étudiants

Fournir aux étudiants des informations sur l’agilité

http://agilecampustour.org@agilecampustour

Exemple

Le blog de l’AgileCampusTourPublier 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

http://agilecampustour.org@agilecampustour

Exemple

Le blog de l’AgileCampusTourPublier 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

http://agilecampustour.org@agilecampustour

Exemple

Le blog de l’AgileCampusTourPublier 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

http://agilecampustour.org@agilecampustour

Récits d’utilisateurs(User stories)

Capture le contenu d’une fonctionnalité

Texte court sur carte ou post-itLes visiteurs peuvent lire les articles publiés sur le blog.

3

http://agilecampustour.org@agilecampustour

INVEST

http://agilecampustour.org@agilecampustour

INVESTIndépendant

“Un auteur peut écrire un article sur le blog.”“Un auteur peut écrire une nouvelle sur le blog.”

http://agilecampustour.org@agilecampustour

INVESTIndépendant

“Un auteur peut publier un article ou une nouvelle sur le blog.”

http://agilecampustour.org@agilecampustour

INVESTIndépendant

“Un auteur peut publier sur le blog.”“Un auteur peut définir le type de publication qu’il écrit.”

http://agilecampustour.org@agilecampustour

INVESTNégociable

Un récit n’est pas un contratPeu de détails

http://agilecampustour.org@agilecampustour

INVESTValorisable

Récits écrits par le client

http://agilecampustour.org@agilecampustour

INVESTValorisable

Pour les utilisateurs

“Les visiteurs peuvent écrire des commentaires sur les articles.”

http://agilecampustour.org@agilecampustour

INVESTValorisable

Pour les clients

“Le nombre de visites uniques sur la page d'accueil doit être enregistré.”

http://agilecampustour.org@agilecampustour

INVESTValorisable

Pas pour les développeurs

“Le code source doit être centralisé et partagé via un système de versioning.”

http://agilecampustour.org@agilecampustour

INVESTValorisable

Pas pour les développeurs

“Le code source doit être centralisé et partagé via un système de versioning.”

http://agilecampustour.org@agilecampustour

INVESTEstimable

Connaissance du domaine

http://agilecampustour.org@agilecampustour

INVESTEstimable

Connaissance technique

http://agilecampustour.org@agilecampustour

INVESTEstimable

Récit trop conséquent

http://agilecampustour.org@agilecampustour

INVESTSmall (petit)

Récit trop important ou trop petit: difficile à estimer et planifier

http://agilecampustour.org@agilecampustour

INVESTTestable

Critères d’acceptance

http://agilecampustour.org@agilecampustour

INVESTTestable

Tests automatisés

http://agilecampustour.org@agilecampustour

INVESTTestable

Etant donné que je suis identifié comme auteurLorsque j'écris un article sur le blogEt que je publie l'articleAlors l'article est affiché publiquement sur le blog

http://agilecampustour.org@agilecampustour

Verticalité(full stack)

http://agilecampustour.org@agilecampustour

Afin de fournir aux étudiants des informations sur l’agilitéEn tant que membre de l’AgileCampusTourJe veux publier des articles sur le blog

http://agilecampustour.org@agilecampustour

Structure d’un récit

Afin de <valeur métier>En tant que <rôle>Je veux <fonctionnalité>

http://agilecampustour.org@agilecampustour

Structure d’un récit

Trier les récits par priorité

Du plus important au moins important

Différentes techniques

http://agilecampustour.org@agilecampustour

Pourquoi prioritiser?

Le plus important en premier...

http://agilecampustour.org@agilecampustour

Pourquoi prioritiser?

Le plus important en premier... ou presque...

http://agilecampustour.org@agilecampustour

Pourquoi prioritiser?

Le plus important en premier... ou presque...

http://agilecampustour.org@agilecampustour

Pourquoi prioritiser?

Le plus important en premier... ou presque...

http://agilecampustour.org@agilecampustour

Pourquoi prioritiser?

Le plus important en premier... ou presque...

http://agilecampustour.org@agilecampustour

Prioritiser: techniques

http://agilecampustour.org@agilecampustour

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

KANO Impliquer les utilisateurs

Permet de catégoriser les récits

Prioritiser: techniques

http://agilecampustour.org@agilecampustour

Kano model

Estimer les récits

En heures ou en pointsL’équipe estime le travailC’est une estimation

http://agilecampustour.org@agilecampustour

Pourquoi estimer?

Quantité de travail délivrée à la deadlinePlanification de projetsComplexité des récits

http://agilecampustour.org@agilecampustour

Pourquoi estimer?

Quantité de travail délivrée à la deadlinePlanification de projetsComplexité des récits

C’est l’équipe de développement qui estime le travail, personne d’autre

http://agilecampustour.org@agilecampustour

Les “story points”

8Belgium

points

Mesure de l’effort nécessaire pour accomplir un récit

Effort nécessaire = Temps nécessaire ?

Mesure relative par rapport à un récit de référence

Mesure de l’incertitude d’un récit

http://agilecampustour.org@agilecampustour

Les “story points”

8Belgium

points

Mesure de l’effort nécessaire pour accomplir un récit

Effort nécessaire = Temps nécessaire

Mesure relative par rapport à un récit de référence

Mesure de l’incertitude d’un récit

http://agilecampustour.org@agilecampustour

Example

http://agilecampustour.org@agilecampustour

Example

http://agilecampustour.org@agilecampustour

Example

http://agilecampustour.org@agilecampustour

1/200

“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

http://agilecampustour.org@agilecampustour

Estimer: techniques

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

Chaque membre de l’équipe choisit une carte et ensemble, ils la retournent

http://www.planningpoker.com/

Planning Poker

http://agilecampustour.org@agilecampustour

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

http://agilecampustour.org@agilecampustour

Oui mais, comment on fait le lien avec le temps nécessaire?

http://agilecampustour.org@agilecampustour

La vélocité d’une équipe

http://agilecampustour.org@agilecampustour

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é

Déterminer la vélocité

http://agilecampustour.org@agilecampustour

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

Voilà, maintenant on peut “planifier”

http://agilecampustour.org@agilecampustour

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

http://agilecampustour.org@agilecampustour

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

http://agilecampustour.org@agilecampustour

C’est un peu comme...

Comment visualiser?

http://agilecampustour.org@agilecampustour

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

http://agilecampustour.org@agilecampustour

Kanban

http://agilecampustour.org@agilecampustour

Visualiser permet de se construire une “carte” de l’itération

Manipuler crée de l’engagement

3 ways the brain creates meaning

1 semaine

La suite

http://agilecampustour.org@agilecampustour

1 semaine

La suite

http://agilecampustour.org@agilecampustour

1 semaine

La suite

http://agilecampustour.org@agilecampustour

1 semaine

La suite

http://agilecampustour.org@agilecampustour

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

Ne manquez pas...

http://agilecampustour.org@agilecampustour

http://agilecampustour.org@agilecampustour

Un peu de lecture?

http://agilecampustour.org@agilecampustour

Et rien que pour vous...

http://agilecampustour.org@agilecampustour

Questions?

Recommended