Upload
pyxis-technologies
View
39
Download
0
Tags:
Embed Size (px)
Citation preview
Agile BA - catalyseur, créateur de valeurChristian LapointeTremeur Balbous
BAFS15 29 juin 2015
Qui sommes nous?• Christian Lapointe
– [email protected]– @chrlapointe
• Tremeur Balbous– [email protected]– @agilegardener
Agenda• Introduction• Pilotage par la valeur• Impact mapping• Story mapping• User Stories• Conclusion
Les individus et leurs interactions
Une solution fonctionnelle
La collaboration avec le client
La réponse au changement
les processus et les outils.
une documentation exhaustive.
la négociation d’un contrat.
le suivi d’un plan.
sont plusimportants que
est plusimportante que
est plusimportante que
est plusimportante qu’
Qu’est-ce que l’Agilité?manifeste Agile – 4 valeurs
Dans le contexte de votre travail, qu’est-ce que cela signifie?
Satisfaire le client en premier
Accepter les demandes de changement
Livrer fréquemment dans
les plus courts délais
Soutenir la collaboration avec
le client et les équipiers
Soutenir les équipes et leur faire confiance
Favoriser les conversations en
face à face
Mesurer l’avancement par
des logiciels fonctionnels
Favoriser un rythme soutenable
Soutenir l’excellence technique
Maximiser par la simplicité
Former des équipes auto-
organisées
S’améliorer continuellement
Qu’est-ce que l’Agilité?manifeste Agile – 12 principes
Quels défis ces principes posent-ils sur votre rôle?
Qu’est-ce que l’Agilité?Scrum : un cadre de travail
Idée des clients, de l’équipe, des gestionnaires
et de la direction
• Déterminer la valeur;• Cartographier la chaîne de valeur;• Mesurer la cadence (flux);• Éliminer le gaspillage;• Établir un flux tiré;• Assurer l’amélioration continue.
• Quelques techniques Lean :– Outils visuels d’aide à la prise de décisions
(Kanban);– Stop the line;– Single digit set-up;– Kaizen-A3;– Pratiques « à l’épreuve des erreurs ».
Qu’est-ce que l’Agilité?Agile Lean
Qu’est-ce que l’Agilité?L’Empirisme
Inspection Adaptation Transparence
ARCHITECTURE AGILERAPPEL : FACTEURS DE COMPLEXITÉ
Loin d’une certitudePrès d’une certitude
Technologies
Loin
d’u
n ac
cord
Près
d’u
n ac
cord
Spéc
ificat
ions
Compliqué
Com
pliq
ué
Simple
Complexe
Chaos La plupart du temps, vous êtes ici.
Source : Stacey RD. Strategic management and organisational dynamics : the challenge of complexity. 3rd ed. Harlow : Prentice Hall, 2002
Dom
aine
d’
affa
ires
Technologie
La complexité
En cascade (waterfall)
L'information initiale est supposée fiable et le risque est dans la réalisation des activités(ex. : efficacité).
Un diagramme de Gantt est utilisé pour tracer le chemin critique des activités.
Agile
L'information initiale est considérée insuffisante, et le risque est dans la livraison d'un produit à forte valeur ajoutée.
Le chemin critique est construit avec des biens livrables (ex. : story mapping) et l'avancement se mesure à partir d’incréments pertinents (ex. : terminés).
Choisir une stratégie
Pilotage par la valeur
Deux approches
Source : « Choisir l’Agilité » de Mathieu Boisvert et Sylvie Trudel
Un modèle de financement Agile
Itération 3
Itération 1
Itération 2
• L’équipe est réduite, semblable au modèle traditionnel, mais avec l’ajout de quelques développeurs principaux.
• L’analyse est faite dans l’ordre de la valeur d’affaires et du risque (style Agile et Lean Startup).
• En plus des documents, les incréments valident les plus grandes hypothèses.
• L’investissement est une dépense.
Itération 4
Itération 5
Itération 8
Itération 6
Itération 7
Itération 9
Itération 10
Itération …
• Changement dans la composition de l’équipe : plus de développeurs, moins d’analystes;
• Continuité; pas de transfert de projet;• Carnet de produit, définition de « terminé »,
outil de suivi et incrément de base déjà en place : pas seulement un document d’analyse;
• Transfert des coûts d’avant-projet au budget du projet de développement.
LE BUT EST DE RÉDUIRE LE RISQUE ET ESTIMER LES PARAMÈTRES DU PROJET
LE BUT EST DE LIVRER AVEC UNE PLUS GRANDE VÉLOCITÉ
ProjetAvant-projet
• Les besoins d’affaires alimentent le carnet de produit et fixent son ordonnancement.
• Chaque itération met en œuvre les besoins prioritaires.
• Chaque nouvel item est inséré dans la liste selon sa priorité.
• Il est possible de changer l’ordre des items qu’on n’a pas commencés.
• Les items non commencés peuvent être supprimés en tout temps.
Les carnets de produit et d’itération
Carnet d’itération
Carnet de produit
Expl
orati
onPo
tenti
elRé
alis
able
Une stratégie est requise afin de gérer et de planifier les spécifications d’architecture.
Source : Estimating and Planning de Mike Cohn
Stratégie pour atténuer les risques : Grande valeur et coûts élevés
Stratégie de capitalisation : Grande valeur et coûts faibles pour augmenter rapidement la valeur du produit
Faible Forte
Faible
ÉlevéRi
sque
Valeur d’affaires
2
1
3
1
2
3
Rédaction et entretien du carnet de produitQuadrants de Mike Cohn
Planification commune de la valeur d’affaires et du risque Technique
Ordonner les éléments selon la stratégie
Évaluation des risques et de la valeur d’affaire
Probabilité très faible (1)
Probabilité faible (2)
Probabilité modérée (3)
Probabilité élevée (4)
Probabilité très élevée (5)
Impact T. faible (1)
(1) * (1) (2) * (1) (3) * (1) (4) * (1) (5) * (1)
Impact faible (2)
(1) * (2) (2) * (2) (3) * (2) (4) * (2) (5) * (2)
Impact modéré (3)
(1) * (3) (2) * (3) (3) * (3) (4) * (3) (5) * (3)
Impact élevé (4)
(1) * (4) (2) * (4) (3) * (4) (4) * (4) (5) * (4)
Impact très élevé (5)
(1) * (5) (2) * (5) (3) * (5) (4) * (5) (5) * (5)
Impacts
Probabilités
Faible Forte
Faible
Élevé
Risq
ue
Valeur d’affaires
2
1
3
1
2
3
La réalité• On fait du Water-Scrum-Fall
• Une fois le projet lancé, les hypothèses ne sont pas vérifiées ni challengées
• Les Product Owners, chefs de projet Agile ou autres, ne sont pas en mesure de le faire
Relation avec le Product Owner
Il est responsable du succès du produit.
Il a une vision globale du produit.
Il agit comme un entrepreneur.
Il se soucie des utilisateurs.
L’équipe veut le satisfaire.
Il est responsable du carnet de produit
(priorité).
Vous avez besoin de lui.
Ajustez votre langage pour qu’il soit compris par tous.
Il a besoin de vous.
> Définir les besoins> Détailler certains items> Prévoir les incertitudes > Prendre les bonnes décisions> Comprendre l’impact
> Avoir le besoin> Ordonner> Élaborer la vision> Obtenir de la rétroaction
Product Owner
4 questions simples• Pourquoi?• Qui?• Comment?• Qu’est-ce que?
Pourquoi?• L’objectif que nous voulons atteindre
• Aide les équipes à– Aligner leurs activités– Identifier les vrais requis– Designer de meilleures solutions
Pourquoi?• Le problème, pas la solution
• SMART– Specific, Measurable, Action-oriented, Realistic,
Timely
• Exemples– Augmenter le taux de conversion des utilisateurs par 20%
dans 3 mois– Diminuer les coûts d’opération par utilisateur de 100 CHF
d’ici la fin de l’année
Qui?• Qui peut produire l’effet désiré?• Qui peut l’empêcher, le bloquer?• Qui sont les consommateurs de notre produit?• Qui sera impacté?
• Ce sont nos acteurs
Qui?• Acteurs principaux• Acteurs secondaires• Acteurs hors-scènes
• Soyez spécifique– Eviter les termes tel « utilisateur »– Individus spécifiques– Persona– Rôle ou poste– Groupe ou département
Qui?• Exemples
– Paul Hudon du département de marketting– Moins de 18 ans avec un téléphone portable– Inspecteurs de l’état de Vaud
Comment?• Comment le comportement de l’acteur doit
changer?• Comment l’acteur peut nous aider?• Comment peut-il nous nuire/bloquer?
• Ce sont les impacts que nous voulons créer– Ce ne sont pas des fonctionnalités du produit
Comment?• Idéalement, montrer le changement
– Non pas « vendre des billets »– Mais plutôt « vendre des billets 5 fois plus
rapidement »
• Exemples– Inviter plus d’amis– Acheter des billets sans appeler le service des
ventes
Qu’est-ce que?• Que peut-on faire, en tant qu’organisation ou
équipe de déploiement, pour supporter les impacts requis?
• Ce sont nos livrables – liés à de la valeur d’affaire
Qu’est-ce que?• A faire en mode itératif (PDCA)• Ce sont seulement des options• A briser plus tard (plus de niveau, user stories)• Tout n’est pas du logiciel
• Exemples– Billetterie en ligne– Mutualisant plusieurs commandes
Ate
lier
Impact Mapping
• Jeux en ligne
• Nous voulons 1 million de joueurs supplémentaires
Ensuite• Prioriser vos items
– Par votes, achat …– Trouver vos KPI
• Vérifier vos hypothèses– Sur les 2 niveaux
• Rincer et répéter
Impact mapping• Outil de planification stratégique• Aide à prévenir le « scope creep »• Limite le gaspillage en s’assurant de livrer un
produit qui répond aux attentes d’affaires
Story Mapping33
Story Mapping de Jeff Patton• Objectif : Extraire les processus fonctionnel d’un cahier des
charges.
• Exercice en 3 étapes: • Classement par ordre chronologique
• Classement selon la criticité
• Identification des couloirs fonctionnels
• En prime, si les acteurs sont identifiés, permet de tracer le diagramme de séquence.
1 - Classement par ordre chronologique
Logiquement, à quel moment cette
fonctionnalité est-elle utile ?
Logiquement, à quel moment cette
fonctionnalité est-elle utile ?
2 - Classement selon la criticité
Fréquence: jour,
semaine, mois, année?
Importance: haute,
moyenne basse?
Indice de criticité
Fréquence•Jour•Semaine•Mois •Année
Importance• Haute• Moyenne• Basse
E – Consulter les postes par région / ville
S B
E – Créer une offre d’emploi
M H
3 - Identification des couloirs fonctionnels
Tiré du livre « Choisir l’Agilité » de Mathieu Boisvert et Sylvie Trudel
Planification incrémentale
Tiré du livre « Choisir l’Agilité » de Mathieu Boisvert et Sylvie Trudel
Faire glisser l'image vers l'espace réservé ou cliquer sur l'icône pour l'ajouter
User stories
Description
41
• Une story est une courte description d’un besoin du point de vue de l’utilisateur
• Une story met l’accent sur le Qui, Quoi et le Pourquoi, jamais sur le comment
• La valeur, les risques et les coûts varient d’une spécification à l’autre
• Elles sont compréhensibles que ce soit par le Product Owner ou l'équipe de développement
• Leurs tailles permet la planification
Les avantages recherchés
• Mettre l’emphase sur la communication et la compréhension au lieu d’une documentation
• Avoir une compréhension commune entre les utilisateurs, le responsable de produit et l'équipe de développement
• Avoir un accord de l’équipe pour réaliser la story
• Reporter les décisions et les détails au moment opportun
• Supporter les opportunités
• Favoriser le développement itératif
Les 3 « C » (Ron Jeffries)
• Une section qui contient: – La description
• Qui - rôle de l’utilisateur • Quoi - fonctionnalité• Pourquoi - raison
– La priorité – La valeur affaires– La catégorisation (tags, thèmes, regroupement)– L’effort
CarteConversationConfirmation
En tant que candidat, je veux rechercher les offres d’emploi correspondant à des arguments afin de me permettre d'accéder à la description de l’offre et ultimement poser ma candidature.
http://xprogramming.com/articles/expcardconversationconfirmation/
Les 3 « C » (Ron Jeffries)
• Une section qui contient de l’information complémentaire de la story.
• Privilégier la collaboration et la communication au lieu d’une documentation non nécessaire.
CarteConversationConfirmation
Les besoins d'affaires suivants s'appliquent à cette story:• Arguments : compétence, région, domaine d'activité, langue• Si aucun argument saisi dans la recherche = aucun résultat• Besoin d'une pagination sur la liste des résultats de recherche• Possibilité de trier les résultats par colonne dans le tableau des résultats
En tant que candidat, je veux rechercher les offres d’emploi correspondant à des arguments afin de me permettre d'accéder à la description de l’offre et ultimement poser ma candidature.
http://xprogramming.com/articles/expcardconversationconfirmation/
Les 3 « C » (Ron Jeffries)
• Une section qui contient la condition de succès pour confirmer que la story est complétée comme prévu.
CarteConversationConfirmation
Condition de succès :• Je constate que tous les critères sont vides à l'entrée de la fonction.• Je saisis des critères puis je déclenche la recherche et je constate le résultat.• Je vide les critères puis je déclenche la recherche et je constate le résultat vide.• J'effectue un tri à même les colonnes du tableau des résultats et constate le classement des
résultats.
Les besoins d'affaires suivants s'appliquent à cette story:• Arguments : compétence, région, domaine d'activité, langue• Si aucun argument saisi dans la recherche = aucun résultat• Besoin d'une pagination sur la liste des résultats de recherche• Possibilité de trier les résultats par colonne dans le tableau des résultats
En tant que candidat, je veux rechercher les offres d’emploi correspondant à des arguments afin de me permettre d'accéder à la description de l’offre et ultimement poser ma candidature.
http://xprogramming.com/articles/expcardconversationconfirmation/
INVEST (Bill Wake)
– Indépendant– Négociable– Valeur d'affaires ajoutée– Estimable– Grosseur appropriée (Sized right)– Testable
http://xp123.com/articles/invest-in-good-stories-and-smart-tasks/
47
Questions pour vous aider
En tant qu’abonné, je
désire annuler ma
réservation afin que
d’autres puissent le
réserver.
Qu’est-ce que l’équipe a besoin
de savoir?
Qu’est-ce que l’utilisateur voit
durant chacune des étapes?
Quelles sont mes assomptions sur
l’implémentation de la story ?
Qu’est-ce qui peut ne pas fonctionner?
Gherkin pour vous aider• L’intention de la BDD (behavior driven development) est de spécifier, sous
la perspective des utilisateurs, le comportement du produit de façon concise, claire et exécutable
Scénario : Retirer avec succès un montant d'un compte valideÉtant donné que le compte bancaire de Robert est valideEt le compte bancaire de Robert contient 300.00$Et Robert a ouvert une transaction avec le bon NIPQuand Robert retire 100.00$Alors la machine donne 100.00$ à RobertEt le compte bancaire de l'usager est de 200.00$
Scénario : Erreur lorsque l'usager essaie de retirer un montant supérieur au fond du compte Étant donné que le compte bancaire de Robert est valideEt le compte bancaire de Robert contient 300.00$Et Robert a ouvert une transaction avec le bon NIPQuand Robert retire 350.00$Alors la machine retourne à l'écran l'erreur "fond insuffisant" à RobertEt le compte bancaire de l'usager est de 300.00$
Les piègesCela sent bon lorsque• CCC• INVEST• Maximum de 6 minutes pour
expliquer la story• Les gens comprennent en lisant le
story
Cela sent mauvais lorsque• Rôles non existants dans
l’organisation• Pas assez détaillé / Trop détaillé• Interdépendance entre les stories• Trop de stories• Trop fignolé, peaufiné • Montre le comment et la solution• Introduire des détails d'interface
utilisateur trop tôt• Penser trop d'avance• L'utilisateur a de la difficulté à
établir des priorités
50
Définition de prêt
• Écrite sous forme narrative ("En tant que ...")
• Comprise par l’équipe et les parties-prenantes
• D'une granularité qui n'excède pas 25% de la capacité de l‘équipe projet par itération
• Tous les pré-requis sont résolus • La portée est définie par les
« Conditions de succès »
Ate
lier
51
Titre : En tant que « acteur » je veux une « fonctionnalité » afin que « besoin d’affaires »
Écrire des stories sur le site de recherche d’emploi selon le gabarit de droite.
Gardez en tête les qualités des stories :
3 « C »INVEST
Servez-vous des axes de découpage si la condition de succès devient trop complexe :
par données, par priorité, par opérations et par considération transversale.
Description : attributs, règles d’affaire, prototype d’écran, diagramme, etc…
Condition de succès:Des tests fonctionnels qui définissent la portée de la story
Gabarit de story
Exercice – Rédaction de stories
20 min
52
Conclusion
• On veut limiter le travail de spécifier des stories qui risquent de changer dans le temps.
• Éclatez vos épics: pendant la rédaction des stories, il se peut qu’on découvre différentes priorités. Diviser la spécification et prioriser le résultat.
• Rédigez des stories ‘fermées’
• N'incluez pas les spécifications techniques : l’équipe de projet est responsable de décrire le « comment ».
• Écrivez chaque cas pour un seul utilisateur : souvent une même fonctionnalité n’est pas spécifiée de la même manière selon l’utilisateur.
• Découpez vos stories
Questions
Campus Agile
• pyxis-tech.com/fr/campus-agile-europe
• Formation Professional Scrum Product Owner– 29-30 octobre 2015 à Lausanne– 7-8 décembre 2015 à Genève
Références