Ne renvoyez pas vos architectes! Utilisez-les avec agilité



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

EXIN Agile Scrum Master

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

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

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

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

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

AGILE. Implémenter la pratique Scrum dans votre équipe?

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

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

Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES

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

Certification Scrum Master

Guide de Préparation. EXIN Agile Scrum. Foundation

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

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

Editing and managing Systems engineering processes at Snecma

Génie logiciel (Un aperçu)

ANGULAR JS AVEC GDE GOOGLE

25/12/2012

Le Product Backlog, qu est ce c est?

Agile 360 Product Owner Scrum Master

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

Les méthodes itératives. Hugues MEUNIER

Jean-Pierre Vickoff

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

Eclipse Process Framework et Telelogic Harmony/ITSW

Forthcoming Database

Integrated Music Education: Challenges for Teaching and Teacher Training Presentation of a Book Project

Méthodes Agiles et gestion de projets

Gestion des prestations Volontaire

Township of Russell: Recreation Master Plan Canton de Russell: Plan directeur de loisirs

Formation pour Product Owner

Méthodes de développement

Agile&:&de&quoi&s agit0il&?&

AGILE Historique et évolution

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

LE FORMAT DES RAPPORTS DU PERSONNEL DES COMMISSIONS DE DISTRICT D AMENAGEMENT FORMAT OF DISTRICT PLANNING COMMISSION STAFF REPORTS

Guide d'installation rapide TFM-560X YO.13

Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces

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

en SCÈNE RATIONAL Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com

Scrum + Drupal = Julien Dubois

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

REX Scrum Master du terrain

Formation Scrum. 2 jours

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

Institut français des sciences et technologies des transports, de l aménagement

Cours Gestion de projet

Notice Technique / Technical Manual

Tammy: Something exceptional happened today. I met somebody legendary. Tex: Qui as-tu rencontré? Tex: Who did you meet?

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

Dans une agence de location immobilière...

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

Instructions Mozilla Thunderbird Page 1

How to Login to Career Page

Vision Produit. Un sacré attracteur pour une équipe auto-organisée. Thierry Cros

Plan Vert de l industrie touristique montréalaise 21 février 2014

affichage en français Nom de l'employeur *: Lions Village of Greater Edmonton Society

Application Form/ Formulaire de demande

Consultants en coûts - Cost Consultants

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur Le 23 novembre 2012

Retour d expérience implémentation Scrum / XP

Package Contents. System Requirements. Before You Begin

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

CHAPITRE 3 : LES METHODES AGILES?

Paxton. ins Net2 desktop reader USB

Exemple PLS avec SAS

Quatre axes au service de la performance et des mutations Four lines serve the performance and changes

AIDE FINANCIÈRE POUR ATHLÈTES FINANCIAL ASSISTANCE FOR ATHLETES

La coopération dans un contexte de recherches doctorales Cooperation amongst PhD researchers. Josée Charbonneau Anne- Marie Merrien 28 mai 2014

Contact: Yossi Gal, Téléphone:

Lean approach on production lines Oct 9, 2014

DOCUMENTATION - FRANCAIS... 2

Once the installation is complete, you can delete the temporary Zip files..

Stéphane Lefebvre. CAE s Chief Financial Officer. CAE announces Government of Canada participation in Project Innovate.

backlog du produit Product Owner

DOCUMENTATION - FRANCAIS... 2

XEBIA DÉVELOPPEMENT OFFSHORE DISTRIBUÉ EN MÉTHODES AGILES. CAS CLIENT : CoachClub

Natixis Asset Management Response to the European Commission Green Paper on shadow banking

Le passé composé. C'est le passé! Tout ça c'est du passé! That's the past! All that's in the past!

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

Maîtrise d ouvrage agile

COUNCIL OF THE EUROPEAN UNION. Brussels, 18 September 2008 (19.09) (OR. fr) 13156/08 LIMITE PI 53

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

that the child(ren) was/were in need of protection under Part III of the Child and Family Services Act, and the court made an order on

Qualité et ERP CLOUD & SECURITY (HACKING) Alireza MOKHTARI. 9/12/2014 Cloud & Security

GIGABIT PCI DESKTOP ADAPTER DGE-530T. Quick Installation Guide+ Guide d installation+

Les méthodes agiles en développement informatique : Fondements théoriques et retours d expérience

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

English Q&A #1 Braille Services Requirement PPTC Q1. Would you like our proposal to be shipped or do you prefer an electronic submission?

Frequently Asked Questions

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

APPENDIX 2. Provisions to be included in the contract between the Provider and the. Holder

Catherine Elsen design thinking.

Language requirement: Bilingual non-mandatory - Level 222/222. Chosen candidate will be required to undertake second language training.

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

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

Optimisez vos investissements dans vos projets Agiles

Transcription:

Ne renvoyez pas vos architectes! Utilisez-les avec agilité Intégration du travail architectural dans un cycle de développement Agile Jean-Louis Maréchaux jl.marechaux@ca.ibm.com

Qui suis-je? Jean-Louis Maréchaux IBM Canada Lab / Rational software Product Development & Support / User Technologies Rôles Collaboration avec l'équipe de développement des outils Faciliter l'adoption des produits et des technologies 1. Externe (clients) 2. Interne (IBM) Matériel de formation, articles techniques, conférences, démos, preuves de concept... Architecture et développement Équipe «Agile Community Leadership» jl.marechaux@ca.ibm.com Expérience 2 Plus de 15 ans... Développement, architecture et méthodologies Petites et grandes organisations, consultation Equipes locales et distribuées (www.distributedscrum.com)

Introduction: Les difficultés de l'architecte Adoption d'une méthodologie agile Nouvelle organisation du travail Nouvelle terminologie Confusion sur les rôles dans les projets Agiles Architecture: un seul terme, plusieurs nuances Architecture logicielle, de solutions, fonctionnelle, des données, d'entreprise... La frontière entre l'architecture et le design est difficile à définir La discipline d'architecture est souvent mal comprise Mythes sur l'architecture et les méthodologies agiles Rôle de l'architecte est mal compris / mal défini Objectif de la session : Comprendre comment le travail architectural s intègre dans un cycle de développement agile 3 Transition vers agile Équipes agiles qui travaillent avec des architectes

Agenda Introduction > Mythes: architecture et agilité Rôles et cycles agiles Qu'est ce que l'architecture? L'architecte «agile» Conclusion 4

Mythe: L'architecture ne fait pas partie des pratiques Agiles Références reconnues du monde Agile et la pratique d'architecture Agile Manifesto 2001 Principes #9 et #11 Kenn Beck Extreme Programming Explained, Addison Wesley 2005, p74 / p52 Mike Cohn Succeeding with Agile, Addison Wesley 2009, p166 Scott Ambler Architectural Envisioning: An Agile Best Practice, Ambysoft 2004-2011 Robert Martin (Uncle Bob) The scatology of Agile architecture, Object Mentor blog 2009 James Shore The art of Agile development, O'Reilly 2007, chapter 3 Ron Jeffries Extreme Programming Installed, Addison Wesley 2007, p70 Mary Poppendieck Implementing Lean Software Development, Addison Wesley 2006, p182 Alistair Cockburn Agile Software Development, the cooperative game, Addison Wesley 2007, p252 Et bien d'autres... (voir Références) 5

Mythe: Les équipes Agiles ne font pas de modélisation Enquête Dr Dobb's sur la modélisation et la documentation (2008) 93% des équipes Agiles font du «whiteboard modeling» 6 77% des équipes Agiles anticipent quelques besoins d'architecture 66% des équipes Agiles font de la modélisation sur papier 47% des équipes Agiles utilisent un outils électronique pour leur modélisation Non seulement les équipent Agiles font de la modélisation, mais elles en font même plus que les équipes «traditionnelles». Source: http://www.ambysoft.com/surveys/modelingdocumentation2008.html

Agenda Introduction Mythes: architecture et agilité > Rôles et cycles agiles Qu'est ce que l'architecture? L'architecte «agile» Conclusion 7

Cycle de développement agile De nombreuses méthodes Agiles XP, Crystal, DSDM, Scrum, OpenUP... Toutes préconisent l'adoption d'un cycle itératif et incrémental 8

Les rôles définis par les méthodologies agiles Quelques exemples des rôles couramment définis dans les méthodologies agiles: Le représentant du client Établit les priorités pour l'équipe et est le contact avec le client (Product owner, XP customer) Un facilitateur S'assure que l'équipe n'a pas d'obstacles pour atteindre ses objectifs (XP coach, ScrumMaster, Team lead) Une équipe de développement Equipe auto-gérée qui construit le système (XP programmer, developer) Pas 9 d'architecte ou de concepteur?

Agenda Introduction Mythes: architecture et agilité Rôles et cycles agiles > Qu'est ce que l'architecture? L'architecte «agile» Conclusion 10

Qu'est ce que l'architecture? Analyse architectural, une activité itérative pour: Décrire la structure et les comportements d'un système Identifier et adresser les risques d'un système Fournir un contexte et guider le développement d'un système Moderniser un système Fournir un aperçu d'un système Client Équipe de développement ou de maintenance La frontière entre l'architecture et le design est difficile à établir. 11

Qu'est ce qu'un architecte? Un rôle, pas une personne Peut être joué par plusieurs personnes Celui qui joue le rôle d'architecte peut aussi jouer d'autres rôles Définition du rôle: Coordonner la solution technique d'un système Vision globale Choix techniques Réduction des risques 12

Ce qu'un architecte n'est pas... Mauvaises pratiques souvent observées Tour d'ivoire Dicter plutôt que guider Un spécialiste de documentation Big design up front (BDUF) Titre honorifique Outil de promotion, à l'ancienneté Sans expérience de développement 13 «Non-coding architect»

Agenda Introduction Mythes: architecture et agilité Rôles et cycles agiles Qu'est ce que l'architecture? > L'architecte «agile» Conclusion 14

Projets agiles: l'architecture est incontournable Chaque système a une architecture Les éléments et mécanismes qui définissent la structure et les comportements d'un système Architecture ne veut pas dire documentation Un gros document d'architecture n'est jamais lu Parfois, une image vaut mille mots 15

Les bonne pratiques de l'architecte agile Analyser les besoins Fonctionnels et non-fonctionnels Ne pas inventer des besoins Réutiliser les solutions qui ont fait leurs preuves Meilleures pratiques Expériences passées S'attaquer aux risques techniques Très tôt dans le projet En continu, au cours de chaque itération Valider l'architecture par du code «Architecture exécutable» 16 Travailler de façon itérative et incrémentale

Projets agiles: architecture intentionnelle et émergente Architecture intentionnelle Décisions délibérées / quelques besoins anticipés L'anticipation est par définition imparfaite Architecture émergente L'architecture s'adapte aux besoins Les corrections sont inévitables, à chaque itération L'architecture émerge du développement, en fonction des défis techniques rencontrés L'architecture «agile» consiste à trouver le juste équilibre entre anticipation et adaptation 17 Source: Succeeding with Agile, M. Cohn, 2007

Agilité à plusieurs échelles Tous les projets ne sont pas les mêmes Logiciel bureautique, application web, jeu vidéo, système transactionnel, système critique haute disponibilité... L'agilité doit s'adapter aux besoins des projets La complexité des projets influence les pratiques agiles Complexité technique Équipes distribuées Complexité organisationnelle Taille des équipes Standards et régulations 18

L'architecte, un membre de l'équipe de développement (1) La vision architecturale (quelques heures ou jours de travail) L'architecte travaille avec l'équipe Idée globale du système à développer Influencer le contenu de la «product backlog» Attitude proactive (vs réactive) Vision architecturale (anticipation) 19

L'architecte, un membre de l'équipe de développement (2) Les priorités du «product backlog» L'architecte travaille avec le représentant du client (product owner) Eduquer sur les risques techniques Influencer les priorités Éléments haute priorité 20

L'architecte, un membre de l'équipe de développement (3) Les priorités du «Iteration backlog» et les session de design «just-in time» L'architecte travaille avec l'équipe Priorités pour l'itération Estimation du travail de l'itération Modélisation pour l'itération Refactoring Source: Extreme Programming Installed, R. Jeffries, 2007 21

Agenda Introduction Mythes: architecture et agilité Rôles et cycles agiles Qu'est ce que l'architecture? L'architecte «agile» > Conclusion 22

Conclusion Les méthodologies agiles encouragent les activités d'architecture et de conception L'architecture doit être itérative et incrémentale Pas de Big Design Up Front (BDUF) Little Design Up Front (LDUF) peut aider (vision architecturale) L'architecture «agile» est intentionnelle et émergente Anticipation et adaptation L'architecte agile intervient tout au long du cycle de développement Un rôle de l'équipe de développement 23

Les interventions d'un architecte: Récapitulatif Besoins en architecture tout au long du cycle de développement agile. Refactoring Vision architecturale Priorités Sessions de design Revue d'itération Rétrospective Product Owner ScrumMaster Team 24

Plus d'information sur des techniques d'architecture 25 Part 1: Envision the architecture Part 2: Iteratively refine the architecture

Jazz Community Site (http://jazz.net) 26

Références Web Blog A Practical Guide to Distributed Scrum: http://www.distributedscrum.com/ OpenUP: http://epf.eclipse.org/wikis/openup/ Agile Modeling: http://www.agilemodeling.com/ Surveys: http://www.ambysoft.com/surveys/ Jazz Community Site: http://jazz.net/ The Emphasys group training: Essentials of Agile Modeling http://blog.objectmentor.com/ https://www.ibm.com/developerworks/mydeveloperworks/blogs/ambler/?lang=en http://jamesshore.com/blog/ Books and Articles 27 Define application architectures with Rational Software Architect (October 2011) Part 1 - Envision the architecture Part 2 - Iteratively refine the architecture A Practical Guide to Distributed Scrum, E. Woodward, S. Surdek, M. Ganis, IBM Press 2010 Extreme Programming Explained, K. Beck, Addison Wesley 2005 Succeeding with Agile, M. Cohn, Addison Wesley 2009 Extreme Programming Installed, R. Jeffries, Addison Wesley 2007 The art of Agile development, O'Reilly 2007 Implementing Lean Software Development, M. Poppendieck, Addison Wesley 2006 Agile Software Development, the cooperative game, A. Cockburn, Addison Wesley 2007

Références - Extraits (1) Agile Manifesto - 2001 Principle #9: «Continuous attention to technical excellence and good design enhances agility.» Principle #11: «The best architectures, requirements, and designs emerge from self-organizing teams.» Kenn Beck (Extreme Programming Explained, Addison Wesley 2005, p74 / p52) «Architects on a XP team look for and execute large-scale refactoring, write system level tests that stress the architecture, and implement stories.» «The question is not whether or not to design, it is when to design.» Mike Cohn (Succeeding with Agile, Addison Wesley 2009, p166) «Scrum team acknowledge that as nice as it might be to make all the design decisions up-front, doing so is impossible. [...] design is both intentional and emergent.» Scott Ambler (Architectural Envisioning: An Agile Best Practice, Ambysoft 2004-2011) «Some people will tell you that you don t need to do any initial architecture modeling at all. However, my experience is that doing some initial architectural modeling in an agile manner offers several benefits.» Robert Martin, Uncle Bob (The scatology of Agile architecture, Object Mentor blog 2009) «One of the more insidious and persistent myths of agile development is that up-front architecture and design are bad; that you should never spend time up front making architectural decisions. [...] This myth is not part of agile at all. Rather it is an hyper-zealous response to the real Agile proscription of Big Design Up Front (BDUF).» 28

Références Extraits (2) James Shore (The art of Agile development, O'Reilly 2007, chapter 3) «Expert designers and architects are still necessary. They contribute by guiding the team's incremental design and architecture efforts and helping team members see ways of simplifying complex designs.» Ron Jeffries (Extreme Programming Installed, Addison Wesley 2007, p70) «If you aren't clear on just what to do, or if you want a little reassurance, or if you would like a few additional ideas, have a quick design session.» Mary Poppendieck (Implementing Lean Software Development, Addison Wesley 2006, p182) «The objective of a good software architecture is to keep irreversible decisions to a minimum and provide a framework that supports iterative development.» Alistair Cockburn (Agile Software Development, the cooperative game, Addison Wesley 2007, p252) «Create a simple architecture that handles all the known big rocks [...]. Handle the small rocks as they appear during the project.» 29

Jean-Louis Maréchaux jl.marechaux@ca.ibm.com 30