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

Slides:



Advertisements
Présentations similaires
EPITECH 2009 UML EPITECH 2009
Advertisements

Réalités du développement logiciel avec des études de cas Mario Cardinal Le 16 mars 2011.
Renforcer les relations et les réseaux
Les Systèmes d’Information Financière Atelier conjoint ACBF / Banque Mondiale / AFRITAC de l’Ouest Gérer l’application dans le temps, sur les plans fonctionnel,
ATELIER VENTE 24 Mai 2008.
Le processus unifié UML est un langage de modélisation et n ’impose pas de démarche de développement Le processus unifié : méthodologie de développement.
La politique de Sécurité
François Potentier, 10 octobre 2008
Les Ateliers de Génie Logiciel
Filière Informatique et Réseaux
La revue de projet.
Le Projet d'encadrement du programme de sciences humaines du cégep de Bois-de-Boulogne.
Etude des Technologies du Web services
Introduction au Génie Logiciel
Gérer linformation en tant quactif : Méthodologie pour une tenue de documents efficace.
Modules DMOS, Dons et subventions
le profil UML en temps réel MARTE
Le 6 phases de maturité de l’entreprise
Le Reengineering.
METHODE AGIL Présenté par : GRIOUI Haykel MILADI Hedi CHARFI Habib
Feature Driven Development (FDD)
Le Travail Collaboratif ...
Techniques de test Boulanger Jean-Louis.
L’organisation & les responsabilités
Mesures de performance organisationnelle Cours ICO 810 Professeur: Michel Pérusse Hiver 2005 Session 9.
IGL301 - Spécification et vérification des exgiences 1 Chapitre 2 Le processus dingénierie des exigences (ref : Bray chapitre 2)
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
Conception des Réalisé par : Nassim TIGUENITINE.
Portée, arrimages et intervenants Évolution des méthodes
SEMINAIRE DE CONTACT novembre 2008 Outils de gestion de projet.
Solution Athena accès sémantique à linformation MATI Montréal, Avril 2012.
Sensibilisation a la modelisation
Ingénierie Système en SysML appliquée à la rédaction du cahier des charges Y. Le Gallou Séminaire académique STI2D - Calais – 1er avril 2014.
Click to edit Master subtitle style La compétence par conception Conférencier, date.
ANALYSE METHODE & OUTILS
Les Systèmes d’information INTRODUCTION
Mise en oeuvre et exploitation
Le management de l'IVVQ Processus techniques IVVQ
Supports de formation au SQ Unifié
Développement d'application rapide GEF492A Automne 2014 [HvV § 3.2.3]
Compétences relatives à l’employabilité
Bureau de la dirigeante principale de l’information Table de conseillers en architecture d’entreprise gouvernementale Groupe participatif 4 novembre 2009.
2003 (revisé 2008)SEG Chapitre 11 Chapitre 1 “The Systems Engineering Context” Le contexte du génie de systèmes.
INSA Toulouse 4ème année GM CMAO-GI
MODULE 2 TYPES D’INNOVATION
Introduction au Génie Logiciel
Extrait du Referentiel BTS Systèmes numériques Options : Informatique et réseaux et Électronique et communication S1 à S9 Définition des savoirs et savoir-faire.
Votre Équipe d’Audit Interne …à vos côtés. …à votre service. …défendant vos intérêts.
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
Management de la qualité
Problèmes du génie logiciel. H. Lounis Les problèmes zTaille et complexité des logiciels ; zTaille croissante des équipes ; zSpécifications peu précises.
Bruno Orsier Exigences Exécutables Efficaces Doing the Right Software Agile4Techos Rémy Sanlaville.
OPTIMISATION DE LA PLANIFICATION
Problématique de la thèse Comment les outils provenant du management des connaissances peuvent ils être utilisés dans le cadre de la politique d'amélioration.
Soutenance Phase 1 Bibliographie et Analyse des besoins
2 Tracks Unified Process
Le leadership chez Xerox Canada: La bonne façon de faire Nicolas Ayotte Vice-président Opérations, Ventes - Québec Xerox Canada Le 1 er mai 2007.
Informatique et Sciences du Numérique
Nouvelles Technologies Internet & Mobile
Gestion de projets AGILE
Gestion de projets Agile
Conférence 2TUP Stéphane Barthon 03/12/
Document de spécification d’exigences Normes IEEE et 29148:2011
Introduction à l’amélioration continue
Rédiger des procédures efficaces
Modèles de cycle de vie et processus de génie
Sondage réalisé auprès de 300 cadres
Les partenaires Les objectifs du réseau InnovaXion MC  Prendre conscience de l’importance de l’innovation et se situer par rapport à la compétitivité.
L’APPROCHE AGILE AVEC SCRUM
La qualité dans les offices de tourisme Exemple de l’office de tourisme de Toulouse.
Transcription de la présentation:

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 Pour satisfaire rapidement le client avec des solutions logicielles utiles Pour faire face à la complexité en générant rapidement de la connaissance Pour que la qualité soit prise en compte dès le début du projet Pour rendre visible les inefficacités Pour éviter les longues périodes de stabilisation en fin de projet Pour maximiser la collaboration entre tous les intervenants Pour augmenter la motivation et l’engagement des individus Pour avoir du plaisir au travail 

Une belle aventure Pyxis 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.

Une autre belle aventure Agile Montréal (2002 - xxxx) www Une autre belle aventure Agile Montréal (2002 - xxxx) www.agilemontreal.ca

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

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 lieux Agile en quelques mots Modélisation Agile et documentation Initiale Détaillée Quotidienne 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?

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 Jim Johnson, Standish Group, XP 2002

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

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.

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’affaires?

Une équipe Scrum = Un système équipe pluridisciplinaire autogérée inspection et adaptation incrément prêt pour la production classé par valeur Une équipe Scrum = Un système

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?

Déroulement État des lieus Agile en quelques mots Modélisation Agile et documentation Initiale Détaillée Quotidienne 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.

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.

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.

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

La modélisation initiale

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

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

Modèles possibles de 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

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

Les détails relatifs aux exigences s’accumulent

Exemple de schéma en format libre

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

Modélisation détaillée

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

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

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. Il faut modéliser 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 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?

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?

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

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

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

Merci! Des questions? Pour obtenir les diapos : fbeauregard@pyxis-tech.com

En discuter davantage N’hésitez pas à m’accrocher N’hésitez pas à me contacter - fbeauregard@pyxis-tech.com - Vous souhaitez ouvrir une discussion ou faire une présentation (celle-là ou une autre) dans votre organisation - Avec grand plaisir!