TDD Agilité et Kanban Planning Poker



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

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

25/12/2012

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

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

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

Contact: Yossi Gal, Téléphone:

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

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

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

Scrum Une méthode agile pour vos projets

Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES

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

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

backlog du produit Product Owner

Agile 360 Product Owner Scrum Master

Les méthodes itératives. Hugues MEUNIER

Le Product Backlog, qu est ce c est?

Le rôle du coach Agile et son apport pour le projet

Guide de Préparation. EXIN Agile Scrum. Foundation

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

REX Scrum Master du terrain

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

Plan. 1 Cycles de développement. 2 Méthodes agiles, principes généraux. 3 Comment se passe un Sprint?

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

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

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

EXIN Agile Scrum Master

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

Retour d expérience implémentation Scrum / XP

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

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

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

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

Certification Scrum Master

Les méthodes agiles UM Les méthodes agiles S. Mathon

Scrum Le guide pratique de la méthode agile la plus populaire 3 e édition Claude Aubry 320 pages Dunod, 2013

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

Agilitéet qualité logicielle: une mutation enmarche

Formation pour Product Owner

Les méthodes Agiles. Introduc)on aux méthodes Agiles Exemple : Scrum

Programmation Agile Mise en oeuvre via Scrum et l'extreme Programming (XP)

Scrum + Drupal = Julien Dubois

Méthodes Agiles et gestion de projets

CHAPITRE 3 : LES METHODES AGILES?

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

Germe Grenoble 4 22/06/2012. Intervenant: Bruno Sbille

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

Forthcoming Database

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

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

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

Formation Scrum. 2 jours

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

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

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

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

LA MÉTHODE AGILE VS LE CYCLE EN V UNE RÉVOLUTION DANS LA GESTION DE PROJET. Franck BEULÉ

Tuesday, October 20, Nantes

Gestion Projet. Cours 3. Le cycle de vie

INTRODUCTION À LA GESTION DE PROJET AGILE (BACKLOG, TABLEAUX DE BORD, BURNDOWN, PLANIFICATION D ITERATIONS)

Industrialisation de la chaîne de production : validation, intégration, tests

Objectif Analyse des besoins & Gestion de projets. Evaluation. Programme

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

DES SYSTÈMES D INFORMATION

L'AGILITÉ AVEC VISUAL STUDIO

Lean approach on production lines Oct 9, 2014

Introduc)on à l Agile

Eclipse Process Framework et Telelogic Harmony/ITSW

Une bonne dose d'agilité au cœur de votre équipe. La rece e Visual Studio 2012 pour des projets maitrisés

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

Méthodes de développement

Les Bonnes PRATIQUES DU TEST LOGICIEL

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

AGILE IPHONE DEVELOPMENT

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

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

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

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

XP : ce célèbre inconnu

But de cette introduction à la gestion de projets :

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

Cours Gestion de projet

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

Processus d Informatisation

Stage Ingénieur en développement logiciel/modélisation 3D

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

Méthodologies SCRUM Présentation et mise en oeuvre

Gestion de Projet Agile

1/15. Jean Bernard CRAMPES Daniel VIELLE

Fondateur d Agile Impulse nicolashennion@agileimpulse.com. Support disponible sur agileimpulse.com/formation/scrumssii2j.

SCRUM BUT, LE LIVRE BLANC. De la problématique de mener un projet AGILE dans une organisation classique

GESTION DE PROJET : LA METHODE AGILE

Les cinq premiers pas pour devenir vraiment agile à XP Day Suisse 2009 par Pascal Van Cauwenberghe et Portia Tung: La Rétrospective

Jean-Pierre Vickoff J-P Vickoff

PagesJaunes.fr Mise en place de Scrum de scrum. Fabien Grellier Agile Tour Octobre

Introduction à l extreme Programming et au développement agile

Formation Certifiante Scrum Master

Développement Agile des organisations et des hommes

Transcription:

TDD Agilité et Kanban Planning Poker Philippe Collet Licence 3 Informatique S6 2013-2014 http://deptinfo.unice.fr/twiki/bin/view/linfo/projetdelicence201314

Plan r TDD r XP r Scrum r Kanban r Planning Poker 2

Tests : Aspects méthodologiques (rappel) r Coder/tester, coder/tester r lancer les tests aussi souvent que possible n aussi souvent que le compilateur! r Commencer par écrire les tests sur les parties les plus critiques n Ecrire les tests qui ont le meilleur retour sur investissement! n Approche Extreme Programming r Quand on ajoute des fonctionnalités, on écrit d abord les tests n Test-Driven Development r Si on se retrouve à déboguer à coup de System.out.println(), il vaut mieux écrire un test à la place r Quand on trouve un bug, écrire un test qui le caractérise 3

Test Driven Development r Méthode traditionnelle (incrémentale) n Ajouter un peu de code n Ajouter un test sur ce bout de code r Méthode TDD n Ajouter un code de test n Ajouter du code qui respecte le test r Mise en pratique (code de couleur Junit) n R (Red): écrire un code de test et les faire échouer n G (Green) : écrire le code métier qui valide le test n R (Refactor) : remanier le code afin d'en améliorer la qualité 4

Cycle TDD : 5 étapes 1. Ecriture d'un premier test 2. Exécuter le test et vérifier qu'il échoue n car le code qu'il teste n'a pas encore été implémenté 3. Ecriture de l'implémentation pour faire passer le test n il existe différentes manières de corriger ce code 4. Exécution des tests afin de contrôler que les tests passent n l'implémentation va respecter les règles fonctionnelles des tests unitaires 5. Remaniement (Refactor) du code afin d'en améliorer la qualité n mais en conservant les mêmes fonctionnalités n Les tests sont repassés après refactoring!!! 5

extreme Programming (XP ) : mise en oeuvre Ensemble de «Bests Practices» de développement (travail en équipes, transfert de compétences ) plutôt pour des projets de moins de 10 personnes 4 Valeurs Communication Simplicité Feedback Courage

XP => Développement Agile r Collaboration étroite entre équipe(s) de programmation et experts métier n Communication orale, pas écrite n Livraison fréquente de fonctionnalités déployables et utilisables (= qui apportent une valeur ajoutée) n Equipe auto-organisée et soudée P. Collet 7

Manifeste Agile : 12 principes 1. Our highest priority is to satisfy the costumer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile process harness change for the customer s competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within a development team is face to face conversation. 8

Manifeste Agile : 12 principes 7. Working software is the primary measure of progress 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely 9. Continuous attention to technical excellence and good design enhances agility 10. Simplicity the art of maximizing the amount of work not done is essential 11. The best architectures, requirements, and designs emerge from selforganizing teams 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly 9

Scrum : principes r Isolement de l'équipe de développement n l'équipe est isolée de toute influence extérieure qui pourrait lui nuire. Seules l'information et les tâches reliées au projet lui parviennent : pas d évolution des besoins dans chaque sprint. r Développement progressif n afin de forcer l'équipe à progresser, elle doit livrer une solution tous les 30 jours. Durant cette période de développement l'équipe se doit de livrer une série de fonctionnalités qui devront être opérationnelles à la fin des 30 jours. r Pouvoir à l'équipe n l'équipe reçoit les pleins pouvoirs pour réaliser les fonctionnalités. C'est elle qui détient la responsabilité de décider comment atteindre ses objectifs. Sa seule contrainte est de livrer une solution qui convienne au client dans un délai de 30 jours. r Contrôle du travail n le travail est contrôlé quotidiennement pour savoir si tout va 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 du client. 10

Scrum : rôles et pratiques r Scrum Master r Product Backlog n expert de l application de Scrum n état courant des tâches à accomplir r Product owner r Effort Estimation n responsable officiel du projet n permanente, sur les entrées du backlog r Scrum Team r Sprint n équipe projet. n itération de 30 jours r Customer r Sprint Planning Meeting r n participe aux réunions liées aux fonctionnalités Management n prend les décisions r n réunion de décision des objectifs du prochain sprint et de la manière de les implémenter Sprint Backlog n Product Backlog limité au sprint en cours r Daily Scrum meeting n ce qui a été fait, ce qui reste à faire, les problèmes r Sprint Review Meeting n présentation des résultats du sprint 11

Scrum dans vos projets r 1 sprint = 3 semaines / 1 mois n Trop long r Le client doit toujours être à disposition n Ce n est pas le cas r L équipe travaille tout le temps ensemble et à plein temps n Ce n est pas le cas non plus r So what? 12

Cherchons juste à : r Maximiser le minimalisme r Kanban n Mot japonais signifiant étiquette (ou petite fiche) n Pratique basée sur l utilisation d étiquette (post-it) pour matérialiser les informations sur le processus 13

Kanban : historique r Méthode inventée à la fin des années 1950 dans les usines Toyota n Mise en place entre deux postes de travail n Une simple fiche cartonnée fixée sur les bacs de pièces dans une ligne d'assemblage ou une zone de stockage r Intérêts chez Toyota n Limite la production du poste amont aux besoins exacts du poste aval n Le nombre de kanban en circulation doit être limité pour éviter la constitution d'encours trop importants r Cette méthode est au départ adaptée aux entreprises ayant une production répétitive et relativement régulière 14

Kanban : premiers principes r Le problème à résoudre est un workflow n La solution consiste à le visualiser r Diviser le travail (comme dans Scrum ) n Décrire chaque élément sur une fiche et la mettre au mur (tableau, board) n Tracer des colonnes, donnez leur le nom des étapes du workflow n Placer les éléments du travail r En tant que développeur n Choisir ce qui est à faire en fonction de ses compétences ou missions n Faire ce qui est «en cours» n Mettre à jour le tableau Kanban 15

Kanban: exemples d étapes r Au minimum n ToDo In Progress Done r Plus Fin n ToDo Chosen Development n Tests Delivery Done http://www.modalisa-technology.com/ 16

Kanban sur très gros projets : github.com 17

Kanban : autres principes r Et si j ai 12000 fiches dans «In Progress», ou «TODO», je fais quoi? r Limiter le TAF (Travail A Faire / WIP : Work in Progress) n Fixer des bornes au nombre d éléments dans chaque étape r Mesurer le temps de cycle (lead time) n C est le temps moyen pour traiter complètement un élément, c est à dire le faire passer par toutes les étapes du workflow n Optimiser le processus en réduisant le temps de cycle et en le rendant prévisible n No silver bullet : pas de borne fixe, ca dépend 18

Mesurer y = a.x + b a = velocity / vitesse 19

Kanban dans JIRA 20

WIP (Work-In-Progress) cumulatif dans JIRA 21

Estimer la durée des tâches r Une activité extrêmement complexe n Seule l expérience permet de réaliser des estimations avec une marge d erreur acceptable r Méthodes «classique» d estimation n Plein de formules mathématiques n Utilisation de plusieurs «experts» n Plus ou moins coûteuses et très peu précises

Planning Poker r Utilisé dans les méthodes agiles n Livraison incrémentale n Correction de «trajectoire» fréquente r Auteur : J. Grenning (2002) n Popularisé par M. Cohn (Agile Estimating and Planning) r Avantage : expression libre de tous sur l estimation

Planning Poker : déroulement r Tous les développeurs sont impliqués n Ils estiment l ensemble de la tâche, pas uniquement leur partie n Un des développeurs est le modérateur r Le product owner peut être la, mais ne participe pas n Il obtiendra des estimations sur l ensemble des «stories» r Chaque développeur reçoit un paquet de cartes 24

Les cartes Plus c est gros, plus l estimation est grossière 25

Planning Poker : déroulement r Pour chaque «user story» ou activité à évaluer n Le modérateur lit la description n Le product owner répond aux éventuelles questions n Chaque développeur choisit ensuite une carte pour cette estimation, la carte reste cachée r Ensuite, les cartes sont retournées n Les estimations vont différer, la plus grande et la plus petite explique leur point de vue n On discute n On repart

Planning Poker : déroulement r Le product owner utilise les résultats pour fixer les priorités r A la fin de l itération, on compare l estimation aux nombre de jours réel : n On obtient la vélocité de l équipe r Au début, il faut bien choisir la première story qui va servir à l estimation n Trop grande : on va se retrouver avec des fractions n Trop petite : l estimation sera trop facile 27

Pourquoi ça marche? r Plusieurs «experts» donnent leur opinion sans s influencer n On ne parle pas n On n influence pas par le langage du corps r Cela améliore la qualité de l estimation n On doit justifier ses estimations n Moyenner les estimations des personnes donne de meilleurs résultats r L utilisation des nombres de Fibonacci? n On ne sait pas trop l expliquer 28

Questions 29