Académique Documents
Professionnel Documents
Culture Documents
Master Informatique
4. Scrum
Université Claude Bernard Lyon 1 5. Autres méthodes
2013 – 2014
Aurélien Tabard - Université Claude Bernard Lyon 1 3 Aurélien Tabard - Université Claude Bernard Lyon 1 4
1. Retour rapide sur les
Plan
méthodes de conception
Aurélien Tabard - Université Claude Bernard Lyon 1 5 Aurélien Tabard - Université Claude Bernard Lyon 1 6
Bénéfices :
.: Rien .: Marche si vous travaillez seul
.: Cascade .: Pas de surcoûts dûs à la gestion de projet
.: Modèle en V Inconvénients :
.: Itératif (RUP) .: Rapidement compliqué
.: Agile .: Pas de visibilité
.: ...
Aurélien Tabard - Université Claude Bernard Lyon 1 7 Aurélien Tabard - Université Claude Bernard Lyon 1 8
Cascade Cascade
Analyse .:Contre-exemple classique, existe peu en réalité
des besoins
.:Bénéfices :
Spécifications Utilisateurs .: tâches établies au début du projet
Conception .: segmentation claire des responsabilités
Architecturale .: passation de tâches aisées
Conception .:Inconvénients :
détaillée .: planification trop rigide alors que les tâches sont changeantes
Codage .: la responsabilité du succès du projet n’est pas partagée
si le projet échoue : “c’est pas de ma faute, j’ai bien fait ma part”.
Intégration
Retour .: si une tâche n’est pas bien effectuée tout l’édifice est ébranlé
Test .: trop de choses sont faites qui ne sont pas directement liées au produit logiciel
à construire
Installation
Aurélien Tabard - Université Claude Bernard Lyon 1 9 Aurélien Tabard - Université Claude Bernard Lyon 1 10
Modèle en V Modèle en V
Analyse Recette
des besoins
Tests .:Bénéfices :
Spécifications de validation .: tâches clairement établies au début du projet
.: responsabilisation via des retours en cas d’erreur
Conception Tests
Architecturale d’intégration .:Inconvénients :
.: les tâches sont changeantes
Conception Tests .: la responsabilité du succès du projet n’est pas partagée
détaillée Unitaires
Codage
Aurélien Tabard - Université Claude Bernard Lyon 1 11 Aurélien Tabard - Université Claude Bernard Lyon 1 12
Itératif Itératif : le cas de Rational Unified Process
Aurélien Tabard - Université Claude Bernard Lyon 1 13 Aurélien Tabard - Université Claude Bernard Lyon 1 14
Aurélien Tabard - Université Claude Bernard Lyon 1 15 Aurélien Tabard - Université Claude Bernard Lyon 1 16
Méthodes agiles Pourquoi être agile
Trouver un compromis :
Exemples concrets :
.:le minimum de méthode permettant de
.: Cas innovation, grand fabricant de stylo
mener à bien les projets en restant agile
.: Cas service, embauché pour un site web
.:capacité de réponse rapide et souple au changement
.: Cas client avec un problème mais sans solution
.:orientation vers le code plutôt que la documentation
.: Cas domaine complexe : fabricant de téléphones
Aurélien Tabard - Université Claude Bernard Lyon 1 17 Aurélien Tabard - Université Claude Bernard Lyon 1 18
.:Années 90
.: réaction contre les grosses méthodes
.: prise en compte de facteurs liés au développement logiciel
.:2001
.: les principaux méthodologues s’accordent sur le « Agile manifesto »
.:Depuis
.: projets Agile mixent des éléments des principales méthodes
Aurélien Tabard - Université Claude Bernard Lyon 1 19 Aurélien Tabard - Université Claude Bernard Lyon 1 20
Plan 2. Principes des méthodes Agile
Aurélien Tabard - Université Claude Bernard Lyon 1 21 Aurélien Tabard - Université Claude Bernard Lyon 1 22
Aurélien Tabard - Université Claude Bernard Lyon 1 23 Aurélien Tabard - Université Claude Bernard Lyon 1 24
Le manifeste Agile (The Agile Manifesto) Manifeste Agile : principes
.:Février 2001, rencontre et accord sur un manifeste 1. Our highest priority is to satisfy the costumer through early and continuous
.: Mise en place de la « Agile alliance » delivery of valuable software.
.: Objectif : promouvoir les principes et méthodes Agile 2. Welcome changing requirements, even late in development. Agile process
harness change for the customer´s competitive advantage.
.: http://www.agilealliance.com/
3. Deliver working software frequently, from a couple of weeks to a couple
.:Les signataires privilégient of months, with a preference to the shorter timescale.
.: les individus et les interactions davantage que les processus et les outils 4. Business people and developers must work together daily throughout the
project.
.: les logiciels fonctionnels davantage que l’exhaustivité et la documentation
5. Build projects around motivated individuals. Give them the environment
.: la collaboration avec le client davantage que la négociation de contrat and support they need, and trust them to get the job done.
.: la réponse au changement davantage que l’application d’un plan 6. The most efficient and effective method of conveying information to and
within a development team is face-to-face conversation.
.:12 principes
Aurélien Tabard - Université Claude Bernard Lyon 1 25 Aurélien Tabard - Université Claude Bernard Lyon 1 26
.: Utilisation d’UML
7. Working software is the primary measure of progress
.: La modélisation vise avant tout à comprendre et à communiquer
8. Agile processes promote sustainable development. The sponsors, developers,
and users should be able to maintain a constant pace indefinitely .: Modéliser pour les parties inhabituelles, difficiles ou délicates de la
9. Continuous attention to technical excellence and good design enhances agility conception.
10. Simplicity – the art of maximizing the amount of work not done – is essential .: Rester à un niveau de modélisation minimalement suffisant
11. The best architectures, requirements, and designs emerge from self-organizing .: Modélisation en groupe
teams
.: Outils simples et adaptés aux groupes
12. At regular intervals, the team reflects on how to become more effective, then
tunes and adjusts its behavior accordingly .: Les développeurs créent les modèles de conception qu’ils
développeront
Aurélien Tabard - Université Claude Bernard Lyon 1 27 Aurélien Tabard - Université Claude Bernard Lyon 1 28
Plan Historique de l’eXtreme Programming
1. Retour rapide sur les méthodes de conception .:1996 : Ward Cunningham et Kent Beck
2. Principes des méthodes Agile .:Projet Chrysler Comprehensive Compensation (C3)
3. XP : eXtreme Programming .:Réorganisation du système de paie
4. Scrum .:Propagation mondiale grâce à Internet
5. Autres méthodes .:Implantation lente en France
Aurélien Tabard - Université Claude Bernard Lyon 1 29 Aurélien Tabard - Université Claude Bernard Lyon 1 30
.: Le client (maîtrise d’ouvrage) pilote lui-même le projet, et ce de très près grâce à des
Dimension humaine considérée comme cycles itératifs extrêmement courts (1 ou 2 semaines).
déterminante pour la réussite de tout projet. .: L’équipe autour du projet livre très tôt dans le projet une première version du logiciel,
et les livraisons de nouvelles versions s’enchaînent ensuite à un rythme soutenu pour
obtenir un feedback maximal sur l’avancement des développements.
Aurélien Tabard - Université Claude Bernard Lyon 1 31 Aurélien Tabard - Université Claude Bernard Lyon 1 32
Vue d’ensemble Planification globale d’un projet
toutes les
2 ou 3 semaines
Planning
Test
Integration
chaque jour
(intégration continue)
Aurélien Tabard - Université Claude Bernard Lyon 1 33 Aurélien Tabard - Université Claude Bernard Lyon 1 34
.:Comité de pilotage
.: dirige les aspects stratégiques du projet,
.: définit les objectifs .:Pratique humaniste favorisant
.: et alloue les moyens nécessaires .: l'élimination progressive des risques
.:Client interlocuteur : .: l’établissement d’un rythme de travail régulier, sans heures supplémentaires
.: le plus à même de connaître le besoin et de l’exprimer
.:But
.: « Client interlocuteur » = appui du « sponsor principal »
.: directeur des systèmes d’information .: éliminer le stress,
.: ou porte-parole officiel de l’entreprise disposant d’une autorité suffisante .: éliminer les tensions a l’intérieur du groupe,
pour légitimer le projet et incarner l’engagement de l’entreprise
.: éliminer les tensions entre le groupe et les donneurs d’ordres,
.:En phase de préparation, il faut s’assurer de: .: éliminer le risque de défection.
.: La clarté des objectifs du projet
.: Leur compréhension par toutes les parties prenantes
.: Accord de l’entreprise cliente
Aurélien Tabard - Université Claude Bernard Lyon 1 35 Aurélien Tabard - Université Claude Bernard Lyon 1 36
Structure d’une équipe XP Le rôle de chaque profil (1/3)
.:Le client :
Les profils : .: Membre à part entière de l’équipe
.:Client .: Présence physique imposé dans l’équipe tout au long du développement
Aurélien Tabard - Université Claude Bernard Lyon 1 37 Aurélien Tabard - Université Claude Bernard Lyon 1 38
.:Le tracker :
.:Le manager : .: Contrôle l’avancement des tâches à l’intérieur d’une itération.
.: Responsable de l’infrastructure dans laquelle l’équipe travaille .: S’entretient fréquemment avec chaque programmeur pour
.: S’assure la non existence de problèmes étrangers au projet ou s’enquérir des difficultés rencontrées et du travail déjà effectué.
logistiques (espace de travail, outillage, documentation, etc.) .: Construit régulièrement une vision fiable de l’avancement des
tâches afin de détecter le plus tôt possible les dérives et de
.:Le coach : lancer une nouvelle phase si nécessaire
.: S’assure de la bonne compréhension de la méthode XP et de
son application correcte par les différents acteurs du projet .:Le programmeur :
.: Généralement « expert méthode » et bon communicateur .: Estime la charge nécessaire à l’implémentation d’un scénario
doublé d’un technicien crédible et respecté dans le cadre du jeu de la planification.
.: A pour objectif de se faire oublier .: Implémente les scénarios en s’appuyant sur l’écriture de tests unitaires
.: Est aussi analyste, concepteur.
Aurélien Tabard - Université Claude Bernard Lyon 1 39 Aurélien Tabard - Université Claude Bernard Lyon 1 40
XP : Pratiques (1) XP : pratiques (2)
.:Métaphore .:Refactoring
.: réécriture, restructuration et simplification permanente du code
.: chaque projet a une métaphore pour son organisation, qui fournit des
conventions faciles à retenir .: le code doit toujours être propre
Aurélien Tabard - Université Claude Bernard Lyon 1 41 Aurélien Tabard - Université Claude Bernard Lyon 1 42
Aurélien Tabard - Université Claude Bernard Lyon 1 43 Aurélien Tabard - Université Claude Bernard Lyon 1 44
XP : pratiques (5) XP : pratiques (6)
Aurélien Tabard - Université Claude Bernard Lyon 1 45 Aurélien Tabard - Université Claude Bernard Lyon 1 46
.:Formation
.:Mise à niveau des ressources avant le lancement du projet : .:Montée en compétence de l’équipe
.: Phase d’apprentissage théorique par un formateur professionnel .:Objectifs :
.: Mise en pratique dans le cadre d’un projet pilote .: Maximiser la rentabilité de l’investissement pour la montée en compétences
des ressources
.:Projet partagé en 2 phases :
.: Éviter l’écueil 80/20 : l’acquisition des 20% de connaissances les plus
.: Phase coaching, peu productive, avec pour objectifs de
pointues requiert 80% des efforts (et de l’investissement) en formation.
.: réaliser en situation le potentiel de chaque membre
.: gérer les parcours individualisé avec le soutien pédagogique .: Faire confiance au temps et considérer l’uniformisation des compétences
de moniteurs (les coachs) collectives
.: Phase productive lors de la première phase du vrai projet
Aurélien Tabard - Université Claude Bernard Lyon 1 47 Aurélien Tabard - Université Claude Bernard Lyon 1 48
XP : quelques point du site web XP : avantages
Planning Coding
.: User stories are written. .: The customer is always available.
.: Release planning creates the schedule. .: Code must be written to agreed
.:Concept intégré et simples
.: Make frequent small releases. standards.
.: The Project Velocity is measured. .: Code the unit test first. .:Pas trop de management
.: The project is divided into iterations. .: All production code is pair programmed.
.: pas de procédures complexes
.: Iteration planning starts each iteration. .: Only one pair integrates code at a time.
.: Move people around. .: Integrate often. .: pas de documentation à maintenir
.: A stand-up meeting starts each day. .: Use collective code ownership.
.: Fix XP when it breaks. .: Leave optimization till last. .: communication directe
.: No overtime.
Designing .:programmation par paires
.: Simplicity. Testing
.: Choose a system metaphor. .: All code must have unit tests. .:Gestion continuelle du risque
.: Use CRC cards for design sessions. .: All code must pass all unit tests before it
.: Create spike solutions to reduce risk. can be released. .:Estimation permanente des efforts à fournir
.: No functionality is added early. .: When a bug is found tests are created.
.: Refactor whenever and wherever .: Acceptance tests are run often and the .:Insistance sur les tests : facilite l’évolution et la maintenance
possible. score is published.
Aurélien Tabard - Université Claude Bernard Lyon 1 49 Aurélien Tabard - Université Claude Bernard Lyon 1 50
XP : inconvénients Plan
Aurélien Tabard - Université Claude Bernard Lyon 1 51 Aurélien Tabard - Université Claude Bernard Lyon 1 52
Scrum Phases de Scrum
TODO
1.Initiation / démarrage illustration
.: Planning
.: définir le système : product Backlog = liste
.: Scrum : la mêlée (au rugby) de fonctionnalités, ordonnées par ordre de priorité et d’effort
.: Architecture
.: Part de l’observation que le client change d’avis
et de besoins en cours de projet .: conception de haut-niveau
3.Clôture
.: Gestion de la fin du projet : livraison…
Aurélien Tabard - Université Claude Bernard Lyon 1 53 Aurélien Tabard - Université Claude Bernard Lyon 1 54
Aurélien Tabard - Université Claude Bernard Lyon 1 55 Aurélien Tabard - Université Claude Bernard Lyon 1 56
Principes Scrum (2/2) Scrum : rôles responsabilités
Pouvoir à l'équipe
.:l'équipe reçoit les pleins pouvoirs pour réaliser les .:Product owner
fonctionnalités. C'est elle qui détient la responsabilité de .: responsable officiel du projet
décider comment atteindre ses objectifs. Sa seule contrainte .:Scrum Master
est de livrer une solution qui convienne au client dans un
.: expert de l’application de Scrum
délai de 30 jours.
.:Scrum Team
Contrôle du travail
.: équipe projet.
.:le travail est contrôlé quotidiennement pour savoir si tout va
.:Management
bien pour les membres de l'équipe et à la fin des 30 jours de
développement pour savoir si la solution répond au besoin .: prend les décisions
du client.
Aurélien Tabard - Université Claude Bernard Lyon 1 57 Aurélien Tabard - Université Claude Bernard Lyon 1 58
Aurélien Tabard - Université Claude Bernard Lyon 1 59 Aurélien Tabard - Université Claude Bernard Lyon 1 60
Plan Le lean
1. Retour rapide sur les méthodes de conception .:Lean = “sans gras” (mais pas maigre non plus), “au plus juste”
2. Principes des méthodes Agile .:Méthode de gestion de production de chez Toyota
3. XP : eXtreme Programming .:S’applique aux développements informatiques agiles
4. Scrum .:Se concentre sur l’élimination des gaspillages
5. Autres méthodes
Aurélien Tabard - Université Claude Bernard Lyon 1 61 Aurélien Tabard - Université Claude Bernard Lyon 1 62
Aurélien Tabard - Université Claude Bernard Lyon 1 63 Aurélien Tabard - Université Claude Bernard Lyon 1 64
Kanban, les colonnes classiques Coders’ dojo
Aurélien Tabard - Université Claude Bernard Lyon 1 65 Aurélien Tabard - Université Claude Bernard Lyon 1 66
Conclusion