Top Banner
Le rôle de l'analyste d'affaires et la place de la documentation dans un processus Agile françois beauregard pyxis-tech.com/francois-beauregard
64

Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Dec 21, 2014

Download

Technology

françois parle du rôle de l’analyste d’affaires et de la place de la documentation dans un processus Agile. Dans cette session, les valeurs, ainsi que les principes et pratiques d’une approche de développement Agile sont clairement présentés à travers de multiples exemples concrets.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Le rôle de l'analyste d'affaires et la place de la documentation dans un processus Agile

françois beauregardpyxis-tech.com/francois-beauregard

Page 2: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Une belle aventurePyxis Technologies (2000 - xxxx)

www.pyxis-tech.com

Pyxis aide les organisations de développement logiciel à devenir des endroits où les résultats, la qualité de vie et le plaisir coexistent de façon durable en étant en premier lieu un exemple de ce qu'elle propose à ses clients et en accompagnant ceux-ci.

Page 3: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Une autre belle aventureAgile Montréal (2002 - xxxx)

www.agilemontreal.ca

Page 4: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Avertissements

• Quelques diagrammes sont en anglais!• J’ai plus de diapos que nécessaire car… je parle

beaucoup! Aussi …

Page 5: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile
Page 6: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile
Page 7: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Objectifs de la présentation

• Vous présenter les pratiques Agiles liées à l'analyse d'affaires, en particulier en matière de développement et de gestion des exigences

• Comprendre ce que signifie être Agile pendant la modélisation

• Comprendre où se situe la modélisation dans un processus Agile

• Fournir des éléments de réflexion pour la mise en œuvre d'améliorations dans vos projets

Soyez sceptique mais ouvert!

Page 8: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Sondage à main levée

Utilisez-vous une approche Agile dans votre organisation?

Page 9: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Déroulement

• État des lieux

• Agile en quelques mots

• Modélisation Agile et documentation

– Initiale

– Détaillée

– Quotidienne

• Conclusion

Page 10: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Des questions

• Quel est le rôle d’un analyste d’affaires?• Quels sont ses objectifs?• Comment aide-t-il?• Que fait-il au quotidien?

Page 11: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile
Page 12: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Nos projets doivent être une réussite

Standish Group CHAOS Report, 2003

Réussite : Le projet se termine dans le respect du délai et du budget. Il comporte toutes les fonctions et caractéristiques prévues.Défi : Le projet est en retard, il y a dépassement de budget ou il manque certaines fonctions et caractéristiques.

Échec : Le projet est annulé avant sa fin ou il est terminé mais ne sera jamais utilisé.

Page 13: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Investissement dans les caractéristiques de valeur

Jim Johnson, Standish Group, XP 2002

Never 45.00%

Rarely 19.00%

Sometimes 16.00%

Often 13.00%

Always 7.00%

Feature Usage within deployed applications

Page 14: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Qu’est-ce que le développement logiciel?

• Le développement et la gestion des exigences logicielles se résument essentiellement à une problématique de communication.

• Ceux qui demandent lelogiciel doivent communiqueravec ceux qui le construisent.

Page 15: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Développement et gestion des exigences

Page 16: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Cycle en V (cascade)

Page 17: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Défis

• Dans une approche traditionnelle ayant un cycle en V, la définition des exigences se fait dans un document écrit en langage naturel par un expert du domaine.

• Les scénarios permettant de valider le code développé sont écrits dans un autre document par des experts en assurance qualité, avec un formalisme spécialisé. De bons experts en assurance qualité doivent avoir une double compétence et à cause de cela ils sont rares et onéreux.

• Le code de l'application est développé après lecture des exigences fonctionnelles et validé par la suite par les scénarios de test, le plus souvent manuellement.

• Les sources d'information et les intervenants sont multiples et soulèvent la question de la fiabilité de l'interprétation, de la synchronisation de l'information, de l'efficacité et de l'optimisation du procédé.

Page 18: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Défis (suite)

• Les documents sont multiples.• Beaucoup d'effort pour s'assurer que tout est tenu à jour• Traçabilité difficile• Il est difficile de tester des

documents!• La gestion des exigences et la

gestion de projet sontsouvent mal intégrées.

Page 19: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Mais alors que doit-on changer? Quelques idées...• Avoir une forme contractuelle qui reconnaît qu’il n’est pas optimal (désiré)

de chercher à connaître précisément l’ensemble des exigences au départ (ceci est un sujet en soit)

• Mettre en place des processus qui conservent un niveau de contrôle adéquat mais qui permettent les changements rapides

• Avoir une forme documentaire simplifiée qui permette l’évolutivité de la documentation

• Créer une culture de collaboration• Mettre en place des outils (p. ex. : wiki) pour soutenir la démarche

Page 20: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Manifeste pour le développement Agile de logiciel• Nous sommes à découvrir de meilleures manières de développer des

logiciels en aidant les autres et en en développant nous-même.

• Par ce travail, nous en sommes venu à valoriser ce qui suit :

– les individus et les interactions davantage que les processus et les outils– les logiciels fonctionnels davantage que la documentation exhaustive– la collaboration avec le client davantage que la négociation de contrat– l’ouverture au changement davantage que le suivi d’un plan

• En fait, bien que les éléments de droite soient importants, nous considérons que les éléments de gauche le sont encore plus.

Page 21: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Principes Agiles (un sous-ensemble)

• La priorité est de satisfaire le client par la livraison rapide et continue de solutions logicielles utiles.

• Intégrez les changements, même ceux de dernière minute, car ils offriront un avantage compétitif à votre client.

• Élaborez des projets autour d’individus motivés, fournissez-leur le soutien nécessaire et faites-leur confiance.

• Les meilleures solutions émergent des équipes auto-organisées. • Régulièrement, l’équipe fait une réflexion sur les façons de devenir plus

efficace, s’ajuste et modifie son comportement en conséquence. • Porter une attention continue à l’excellence technique et à un bon design

améliore l’Agilité. • La simplicité est essentielle.

Page 22: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile
Page 23: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile
Page 24: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Qu’est-ce la gestion Agile de projet?

“Agile project management is the work of energizing, empowering, and enabling project teams to rapidly and reliably deliver business value by engaging customers and continuously learning and adapting to their changing needs and environments.”

- Sanjiv Augustine

Page 25: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Processus Agile standard

Scrum - 3 rôles• Propriétaire• ScrumMaster• Équipier

L’analyste d’affaires?

Page 26: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

incrément prêt pourla production

équipe pluridisciplinaireautogérée

classé par

valeur

inspection et adaptation

Une équipe Scrum = Un système

Page 27: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Une question commune

• Quel est la bonne façon de représenter la portée et de permettre d’apporter des changements à la définition?

• Corollaires :– Êtes-vous bon actuellement avec cela?– Comment les principes et pratiques Agiles peuvent vous aider? – Comment pouvez-vous partager cette responsabilité? Est-ce que ça

doit être l’affaire de tous?

Page 28: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Déroulement

• État des lieus• Agile en quelques mots• Modélisation Agile et documentation

– Initiale– Détaillée– Quotidienne

• Conclusion

Page 29: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Qu’est-ce que la modélisation Agile?

• Il s’agit d’un ensemble de pratiques de modélisation fondées sur des valeurs Agiles et des principes d’ingénierie logicielle.

• Il s’agit d’une approche légère permettant d’améliorer les efforts de modélisation et de documentation.

YourProcessBase Software Process

(XP, UP, DSDM, ...)

Agile Modeling (AM)

Page 30: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Quelques valeurs et principes

Communication Simplicité Rétroaction Courage Humilité

Principes de base Assumer la simplicité Faire place au changement Permettre le prochain effort, c’est votre

deuxième but Permettre les modifications incrémentielles Modéliser avec un but Avoir des modèles multiples Maximiser l’engagement des intervenants Faire du travail de qualité Avoir une rétroaction rapide Avoir les logiciels comme principal but Voyager léger

Principes supplémentaires Le contenu est plus important que la

présentation. Il faut préconiser les communications

ouvertes et honnêtes.

Page 31: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Prenez note

• Modèle != document• Il y a plus à la modélisation que l’UML.• Il faut modéliser avant de coder.• Il faut travailler ensemble pour apprendre comment devenir

de meilleurs développeurs.

Page 32: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Quel est la façon la plus efficace de communiquer ?

Page 33: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

À quel vitesse l’information se déplace-t-elle ?

Configuration traditionnelle

Configuration en espace ouvert

Page 34: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

La modélisation Agile dans un processus Agile

I teration

Just-In-T im eM odeling

P roduct Ow ner

TopP riorit ies

P rojec t V is ion(Iterat ion 0)

In itialM odeling

Features B acklog

rem ov e

addE s tablis hpriorit ies

Iteration B acklog

Increm entalD elivery

I terationP lanning

D etailedM odeling

Inspec t andA dapt

S elf Organiz ed Team

Tim e B oxed

Page 35: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

La modélisation initiale

Iteration

Just-In-Tim eM odeling

P roduct Ow ner

TopP riorit ies

P rojec t V is ion(Iteration 0)

InitialModeling

Features B acklog

rem ove

addE s tablishpriorit ies

Iteration B acklog

Increm entalD elivery

IterationP lanning

D etailedM odeling

Inspec t andA dapt

S elf Organized Team

Tim e B oxed

Page 36: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Objectifs de la modélisation initiale

• Comprendre les objectifs du projet• Élaborer une stratégie incrémentale maximisant l’atteinte des

objectifs (ex. : Story Mapping)• Explorer le domaine d’affaires • Développer un langage commun • Définir l’architecture initiale

Page 37: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Quels sont les problèmes liés à la phase d’analyse traditionnelle initiale?• Connaissance initiale incomplète• Manque de rétroaction des utilisateurs• Efforts d’analyse additionnelle sur des fonctionnalités qui sont

de faible priorité ou qui apporte peu de valeur• Peu de place au changement

Page 38: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Modèles possibles de modélisation des exigences• Modélisation des exigences

– Cartographie des rôles utilisateurs– Cas d’utilisation (descriptif)– Diagramme UML de cas d’utilisation– Scénarios utilisateurs (user stories)– …

• Modélisation des interfaces utilisateurs• Modélisation du domaine

Page 39: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Comment gérons-nous les exigences dans les projets Agiles?

{Each iteration implement the highest-priority requirements

Each new requirement is prioritized and added to the stack

Requirements may be reprioritized at any time

Requirements may be removed at any time

Requirements

HighPriority

LowPriority

Carnet du produit

Page 40: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Les détails relatifs aux exigences s’accumulent

Page 41: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Exemple de schéma en format libre

Page 42: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Quand cessons-nous d’ajouter des détails?

Page 43: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Modélisation détaillée

I teration

Just-In-Tim eM odeling

P roduct Ow ner

TopP riorit ies

P rojec t V is ion(Iteration 0)

In itialM odeling

Features B acklog

rem ove

addE s tablishpriorit ies

Iteration B acklog

Increm entalD elivery

I terationP lanning

DetailedModeling

Inspec t andA dapt

S elf Organized Team

Tim e B oxed

Page 44: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Objectifs de la modélisation détaillée

• Comprendre les exigences des intervenants• Comprendre comment les entités d’affaires sont inter reliées • Détailler l’enchaînement des processus opérationnels• Concevoir une interface utilisateur

Page 45: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Quels sont les problèmes liés à la phase de conception traditionnelle?• Il est impossible de trouver tous les problèmes d’avance.• Les architectes deviennent des spécialistes et ils ne codent

plus.• La conception traditionnelle ne fait pas place au changement.• Comment communiquez-vous aux programmeurs vos idées

relatives à la conception?• Comment tenez-vous à jour la documentation relative à la

conception?

Page 46: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

La réponse? La conception évolutive

• Il ne s’agit pas de coder et de corriger.• Il faut faire place au changement.• Elle implique la réversibilité.• Elle apprécie la simplicité.• Elle a besoin de pratiques d’ingénierie.

– Tests – Réusinage – Intégration continue

Page 47: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

La réponse? La conception évolutive

• Il faut supporter la conception évolutive.– Modélisation itérative – Propriété collective– Application de modèles – Juste assez bien

• Devons-nous documenter la conception?

Page 48: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Documentation Agile

• Le problème fondamental c’est la communication, pas la documentation.

• Les modèles ne sont pas nécessairement des documents, vice versa.

• La documentation devrait être ‘légère et efficace’.• Il faut mettre la documentation à jour seulement quand c’est

nécessaire.• Il ne faut jamais oublier que votre principal but, c’est le

développement!

Page 49: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Modélisation détaillée des exigences : modèles possibles• Modélisation des exigences

– Cas d’utilisation– Scénarios utilisateurs

• Modélisation des interfaces utilisateurs • Modélisation de domaine

Page 50: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Prototype de fidélité de bas niveau :prototypes papier

Page 51: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Modélisation juste à temps

I teration

Just-In-TimeModeling

P roduct Ow ner

TopP riorit ies

P rojec t V is ion(Iteration 0)

In itialM odeling

Features B acklog

rem ove

addE s tablishpriorit ies

Iteration B acklog

Increm entalD elivery

I terationP lanning

D etailedM odeling

Inspec t andA dapt

S elf Organized Team

Tim e B oxed

Page 52: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Objectifs de la modélisation juste à temps

• Faciliter la collaboration par la communication• Confirmer les exigences avec des exemples de règles d’affaires• Examiner en détail les éléments de conception • Avoir une compréhension commune de la conception

Page 53: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Pratiques Agiles de modélisation

• Il faut savoir quand arrêter la modélisation.• Il faut le prouver avec du code.• Le code est un modèle.• C’est juste assez bien.• Il faut modéliser avec les autres.

Page 54: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Modèles possibles de collaboration

• Collaboration concernant les exigences – Détails sur les cartes de scénario (verbalement)– Tests d’acceptation du client

• Séance de conception rapide• Développement piloté par les test (TDD)

Page 55: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Le code est le modèle primaire

• Le prouver avec du code • Vérifier le code avec les tests d’acceptation du client• Faire la conception avec les tests unitaires • S’assurer que les tests unitaires constituent la documentation

principale du code• Rester près du code : les concepteurs devraient coder

Page 56: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Spécifications exécutables – Un exemple

• Le système doit supporter l'addition de deux nombres naturels.• Comment tester cela :

– Tapez 3 dans le champ de saisie.– Cliquez sur le bouton +.– Tapez 7 dans le champ de saisie.– Cliquez sur le bouton =.– Vérifiez que le résultat affiché est 10.

• Est-ce qu'il y a une meilleure façon?

Total?7 3 10-3 7 46 0 6

-5 3 -2

Règle pour la calculatriceOpérande 1 Opérande 2

Page 57: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Spécifications exécutables – Un exemple (suite)• Le système doit également supporter la division.

• Est-ce qu'il y a une meilleure façon?

Total? Quotient?7 3 10 2.33-3 7 4 -0.436 0 6

-5 3 -2 -1.670 5 5 0

Règle pour la calculatriceOpérande 1 Opérande 2

Erreur

Page 58: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Exemple plus significatif

• Un crédit allant jusqu'à 1000 $ est accordé à un client qui fait affaire avec nous depuis plus de 12 mois s'il a été un bon payeur durant cette période et s'il a un solde à payer inférieur à 6000 $.

Page 59: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Réponse

Règle pour la vérification du créditMois Fiable Solde Crédit accordé? Limite de crédit?

14 Oui 5000 $ Oui 1000 $0 Oui 0 $ Non 0 $

24 Non 0 $ Non 0 $18 Oui 6000 $ Non 0 $12 Oui 5500 $ Non 0 $

Page 60: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Conclusion

• Les conceptions Agiles se réalisent de façon émergente, elles ne sont pas définies au départ.

• L’étape de modélisation initiale est cruciale.• Itérez, itérez, itérez...• Chaque investissement en documentation devrait être

compris et entendu avec le client.• Adhérez au principe du juste assez bien

Page 61: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Without the shift in thinking, methodology becomes technique and practice becomes imitation. Peter Block

Page 62: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

Merci!Des questions?

Pour obtenir les diapos : [email protected]

Page 63: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile

En discuter davantage

• N’hésitez pas à m’accrocher• N’hésitez pas à me contacter - [email protected] - • Vous souhaitez ouvrir une discussion ou faire une présentation

(celle-là ou une autre) dans votre organisation - Avec grand plaisir!

Page 64: Le rôle de l'analyste d'affaires et la place de la documentation dans un processus agile