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



Documents pareils
Topologie du web - Valentin Bourgoin - Méthodes agiles & SCRUM

Méthodes agiles. CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS. Jean-Louis Bénard jlb@businessinteractif.

25/12/2012

Méthodes Agiles et gestion de projets

Règles d engagement. Présentation Diapositives Bibliographie Questions Les vertus de la marche

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

Conduite de projets SI. Les méthodes «Agiles» N QUAL/1995/3660e ORESYS

Les méthodes Agiles Introduction. Intervenant : Tremeur Balbous tremeur@agilegardener.com 04/09/2008

Agile 360 Product Owner Scrum Master

Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES

Développement itératif, évolutif et agile

Les méthodes itératives. Hugues MEUNIER

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

CHAPITRE 3 : LES METHODES AGILES?

Le Product Backlog, qu est ce c est?

Macroscope et l'analyse d'affaires. Dave Couture Architecte principal Solutions Macroscope

Architecture pragmatique pour la gestion du cycle de vie des applications (ALM)

Scrum et l'agilité des équipes de développement

Cours Gestion de projet

backlog du produit Product Owner

Gestion de projet Agile. STS IRIS Module «Gérer et organiser un projet informatique»

But de cette introduction à la gestion de projets :

Les mécanismes d'assurance et de contrôle de la qualité dans un

INF2015 Développement de logiciels dans un environnement Agile Examen final hiver 2015

Séance 1 Méthodologies du génie logiciel

Génie logiciel (Un aperçu)

Processus d Informatisation

UML est-il soluble dans les méthodes agiles?

Agile Maroc 24 Novembre Méthodes agiles. Thierry Cros. Agile Maroc 24 novembre 2010

L'agilité appliquée à nous-mêmes. Philippe Krief, PhD Development Manager IBM France Lab

Soyez agile. Dans l industrie du logiciel, la. De plus chaque projet informatique

Maîtrise d ouvrage agile

Méthode Agile de 3 ème génération J-P Vickoff

Le Product Owner Clé de voute d un projet agile réussi

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles

Analyse,, Conception des Systèmes Informatiques

Conditions gagnantes pour démarrer sa transition Agile

Méthodes de développement

Retour d expérience implémentation Scrum / XP

Eclipse Process Framework et Telelogic Harmony/ITSW

Retour d expérience. Le rôle du Business Analyst chez Orange. Nadia Magarino & Christophe Dufour 29 avril 2015

GL Processus de développement Cycles de vie

{ mathieu boisvert / michel céré ; }

AGILE IPHONE DEVELOPMENT

Gestion Projet. Cours 3. Le cycle de vie

Synergies entre Artisan Studio et outils PLM

Les méthodes Agile. Implication du client Développement itératif et incrémental

L enseignement de méthodes agiles dans un contexte d apprentissage actif

SCRUM chez BWIN : implémentation d une méthode agile dans Focalpoint Spasija Taseva et Corinne Bacle

Compte-rendu du petit-déjeuner. Vers l entreprise Agile

Introduction au génie logiciel

EXIN Agile Scrum Master

Plan d action SMB d une Approche Agile de la BITM Pour les PME

Visual Paradigm Contraintes inter-associations

Formation : Modélisation avec UML 2.0 et Mise en pratique

Avant propos. Parcours de lecture : combien de sprints vous faut il?

Yannick Prié Département Informatique Faculté des Sciences et Technologies Université Claude Bernard Lyon

Scrum + Drupal = Julien Dubois

La solution IBM Rational pour une ALM Agile

Forum AMOA ADN Ouest. Présentation du BABOK. 31 Mars 2013 Nadia Nadah

Certification Scrum Master

Editing and managing Systems engineering processes at Snecma

Identification du module

Agilitéet qualité logicielle: une mutation enmarche

Scrum. Description. Traduit en langue française par Bruno Sbille et Fabrice Aimetti - Avril Trad FR v1.1

IBM Software Group Rational software. Pilotez votre portefeuille de projets avec IBM Rational Focal Point. Spasija Taseva

Les Bonnes PRATIQUES DU TEST LOGICIEL

CINEMATIQUE DE FICHIERS

Testeur Agile Niveau Fondation Bertrand Cornanguer, Vice-chair Agile tester WG

Présentation UBO 12/2008 Présentation des méthodes agiles

Développement ebusiness

Feature Team Primer. par Craig Larman et Bas Vodde. Version 1.2

Le Guide Pratique des Processus Métiers

Scrum Une méthode agile pour vos projets

Cours Ephec Niv. 2 : Technique et gestion de projet. Par Monsieur Bertieaux Année Académique Quelles sont les 4 valeurs Agiles?

Introduc)on à l Agile

Besoins utilisateurs. Quelle démarche pour passer des besoins au code? Code. chapitre1 UNIFIED MODELING LANGUAGE. package LogiqueMetier.

Scrum. ... pour des projets informatiques agiles. Pascal Lando Certified Scrum product owner

Le génie logiciel. maintenance de logiciels.

Formation agile. Formation agile Created on 24 janv Edited on 29 févr Page 1 sur 16

Les Méthodes Agiles. description et rapport à la Qualité. Benjamin Joguet Rémi Perrot Guillaume Tourgis

Le Processus Unifié. Une Démarche Orientée Modèle. IUP NTIE - Master 1 - Jérémie Guiochet - 4/11/09

Isabelle Nicolas

Développement Agile des organisations et des hommes

Enterprise Scrum Organisation des développements chez exo. Agile Tour Rennes 2010 / 10 / 07

Scrum/XP adapté au BI/DW

Méthodologies SCRUM Présentation et mise en oeuvre

Jean-Pierre Vickoff

XP : plus qu'agile. Extreme Programming v2 et Développement Responsable. Thierry Cros

Estimer et mesurer la performance des projets agiles avec les points de fonction

Optimisez vos investissements dans vos projets Agiles

Introduction Les processus traditionnels extreme Programming Conclusion. extreme Programming. vers plus d agilité. F. Miller francois.miller@inpg.

Méthodologies de développement de logiciels de gestion

Les Méthodes Agiles. Plan. Lecture. Objectifs du cours

Enquête 2014 de rémunération globale sur les emplois en TIC

Le cycle de développement des produits à la Société GRICS : une nouvelle approche

EXPERTS EN DÉVELOPPEMENT ET MODERNISATION DE LOGICIELS WEB ET MOBILES

Jean-Pierre Vickoff J-P Vickoff

Transcription:

Le rôle de l'analyste d'affaires et la place de la documentation dans un processus Agile François Beauregard (fbeauregard@pyxis-tech.com) 2008 Pyxis Technologies. Tous droits réservés. All Rights Reserved.

Avertissement Quelques diagrammes sont en anglais! J ai plus de diapos que nécessaire car je parle beaucoup!

Par où commencer?

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!

Sondage à main levée Utilisez vous une approche Agile dans votre organisation?

Déroulement État des lieus Agile en quelques mots Modélisation Agile et documentation Initiale Détaillée Quotidienne Quelques mots à propos d une transition vers une approche Agile Conclusion

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?

État des lieus Bref historique et quelques anecdotes

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 le logiciel doivent communiquer avec ceux qui le construisent.

Développement et gestion des exigences Source : Karl E. Wiegers

Une découverte? Ces élément sont nécessaires peu importe l approche, n est-ce pas? Mais alors que doit-on changer? Pourquoi changer?

Nos projets doivent être une réussite 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é. Standish Group CHAOS Report, 2003

Investissement dans les caractéristiques de valeur Feature Usage within deployed applications Never 45.00% Always 7.00% Rarely 19.00% Often 13.00% Sometimes 16.00% Jim Johnson, Standish Group, XP 2002

Cycle en V (cascade)

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é.

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 sont souvent mal intégrées.

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

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.

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.

Modèle en cascade vs. Agile : le paradigme Waterfall Agile PM responsibilities Team responsibilities The plan creates The vision creates feature estimates cost/schedule estimates Constraints Features Cost Schedule Value/visiondriven Plandriven Estimates Cost Key performance indicator (KPI) Schedule Budget and time Features Supported functionalities

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

Processus Agile standard Scrum -3 rôles Propriétaire ScrumMaster Équipier L analyste d affaire?

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? Questions corollaires : Êtes-vous bon actuellement avec cela? Comment les principes et pratiques Agile peuvent vous aider? Comment pouvez-vous partager cette responsabilité? Est-ce que ça doit être l affaire de tous?

Déroulement État des lieus Agile en quelques mots Modélisation Agile et documentation Initiale Détaillée Quotidienne Quelques mots à propos d une transition vers une approche Agile Conclusion

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 Agile Modeling (AM) Base Software Process (XP, UP, DSDM,...) Your Process

Quelques valeurs et principes Principes de base Communication Simplicité Rétroaction Courage Humilité 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 Les logiciels sont votre 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

Prenez note Modèle!= document Il y a plus à la modélisation que l UML La modélisation n a pas à être dysfonctionnelle (peu importe ce que pense les bureaucrates) Il faut modéliser avant de coder Il faut travailler ensemble pour apprendre comment devenir de meilleurs développeurs

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

À quel vitesse l information se déplace-t-elle? Configuration traditionnelle Configuration en espace ouvert

La modélisation Agile dans un processus Agile Self Organized Team Project Vision (Iteration 0) Iteration Planning Iteration Initial Modeling Detailed Modeling Just-In-Time Modeling Product Ow ner Inspect and Adapt Incremental Delivery Time Boxed Establish priorities add Top Priorities Iteration Backlog remove Features Backlog

La modélisation initiale Self Organized Team Product Owner Project Vision (Iteration 0) Iteration Planning Iteration Initial Modeling Detailed Modeling Just-In-Time Modeling Inspect and Adapt Incremental Delivery Time Boxed Establish priorities add Top Priorities Iteration Backlog remove Features Backlog

Objectifs initiaux de modélisation Déterminer la portée du projet Définir l architecture initiale Établir la liste des exigences Explorer les domaines d affaires Développeur un langage commun

Quels sont les problèmes liés à la phase d analyse traditionnelle initiale? La connaissance initiale est incomplète Manque de feedback des utilisateurs Efforts d analyse additionnelle sur des fonctionnalités qui sont de basse priorité ou qui apporte peu de valeur Ne laisse pas facilement place au changement

Modèles possibles de modélisation des exigences Modélisation des exigences Cartographie des rôles utilisateur Cas d utilisation (Descriptif) Diagramme UML de cas d utilisation Scénarios utilisateur (User Stories) Modélisation des interfaces utilisateurs Modélisation du domaine

Comment gérons-nous les exigences dans les projets Agiles? Carnet du produit { High Priority Each iteration implement the highestpriority 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 Low Priority Requirements

Les détails relatifs aux exigences s accumulent

Exemple de schéma de déroulement :Main Menu use Enrollment Requester use Transcript Requester :Enroll in Seminar use Transcript Requester :Obtain Transcript use Professor Information Requester use Prerequisite Details Requester :Professor Information use Seminar Information Requester :Transcript :Seminar Information

Prototype essentiel d interface utilisateur

Exemple de schéma de format libre

Quand cessons-nous d ajouter des détails?

Modélisation détaillée Self Organized Team Project Vision (Iteration 0) Iteration Planning Initial Modeling Detailed Modeling Product Owner Iteration Just-In-Time Modeling Inspect and Adapt Incremental Delivery Time Boxed Establish priorities add Top Priorities Iteration Backlog remove Features Backlog

Objectifs de la modélisation détaillée Comprendre les exigences des intervenants Comprendre comment les entités d affaires sont interreliées Détailler l enchaînement des processus opérationnels Concevoir une interface utilisateur

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?

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

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?

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!

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

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

Modélisation juste à temps Self Organized Team Project Vision (Iteration ٠) Iteration Planning Initial Modeling Detailed Modeling Product Owner Iteration Just-In-Time Modeling Inspect and Adapt Incremental Delivery Time Boxed Establish priorities add Top Priorities Iteration Backlog remove Features Backlog

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

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. Modélisez avec les autres.

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)

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

Spécifications exécutables Un exemple Le système doit supporter l'addition Est-ce qu'il y a une meilleure façon? 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. Règle pour la calculatrice Opérande ١ Opérande ٢ Total? ٧ ٣ ١٠-٣ ٧ ٤ ٦ ٠ ٦-٥ ٣-٢

Spécifications exécutables Un exemple (suite) Le système doit également supporter Est-ce qu'il y a une meilleure façon? la division. Règle pour la calculatrice Opérande ١ Opérande ٢ Total? Quotient? ٧ ٣ ١٠ ٢.٣٣-٣ ٧ ٤-٠.٤٣ ٦ ٠ ٦ Erreur -٥ ٣-٢ -١.٦٧ ٠ ٥ ٥ ٠

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 $.

Réponse Règle pour la vérification du crédit Mois Fiable Solde Crédit accordé? Limite de crédit? ١٤ Oui ٥٠٠٠ $ Oui ١٠٠٠ $ ٠ Oui ٠ $ Non ٠$ ٢٤ Non ٠ $ Non ٠$ ١٨ Oui ٦٠٠٠ $ Non ٠$ ١٢ Oui ٥٥٠٠ $ Non ٠$

Transition vers un processus Agile Il s agit d un sujet pouvant faire l objet d une présentation. La transition se fait progressivement (sans heurt ou non). Chaque mise en œuvre Agile est unique et adaptée aux particularités et à la réalité de l organisation cible Intégrez des pratiques d ingénierie graduellement. Créer un environnement collaboratif. Soyez sincère et transparent. Autonomisez les équipes.

Courage et persévérance

Conclusion Les conceptions Agile 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

Références importantes Scott W. Ambler Méthodologiste, auteur, conseiller www.agilemodeling.com

Autres références Merci! Des questions? Pour obtenir les diapos : fbeauregard@pyxis-tech.com

Besoin d un coup de main? Centre de développement Développement sur mesure Gestion du changement et formation Architecture et conception Transition Agile Méthodes de test Scrum Évaluation et gestion de projet Modélisation Agile Tests (stratégie, tests fonctionnels, TDD, etc.) Accompagnement Agile Services-conseils en développement Développeurs chevronnés Accompagnement technologique (Java,.NET, Ruby) concertée de spécifications exécutables et de Exploration de solutions d'amélioration tests de réception de scénarios exécutables. De plus, il offre de grandes capacités de traçabilité Sélection et configuration d'outils Gestion de projet, évaluation de mandat Audit et recommandations Rétrospective GreenPepper simplifie grandement la création des exigences.