Introduction à l extreme Programming et au développement agile
|
|
|
- Aurore Lefrançois
- il y a 10 ans
- Total affichages :
Transcription
1 Introduction à l extreme Programming et au développement agile Gauthier Picard SMA/G2I/ENS Mines Saint-Etienne gauthierpicard@emsefr Octobre 2009 Adapté de XP ou les bienfaits d un développement «agile» par Kévin Ottens, KDE Core Developer Introduction à l extreme Programming et au développement agile 1 / 76
2 Sommaire 1 Introduction 2 Équipe et rôles XP 3 Pratiques XP 4 Processus XP 5 Autres considérations Introduction à l extreme Programming et au développement agile 2 / 76
3 Sommaire 1 Introduction 2 Équipe et rôles XP 3 Pratiques XP 4 Processus XP 5 Autres considérations Introduction à l extreme Programming et au développement agile 3 / 76
4 La préhistoire : Influences Culture SmallTalk 198x : Kent Beck et Ward Cunningham travaillent chez Tektronix Elements clef de cette culture : Développement en binôme Intégration continue Refactoring Développement itératif Changements rapides Tests permanents Interaction permanente avec le client «Episodes» : Kent Beck et Ward Cunningham développent un ensemble de bonnes pratiques Support dans le language Episodes de Ward Cunningham Introduction à l extreme Programming et au développement agile 4 / 76
5 La préhistoire : Influences (cont) Refactoring : William F Opdyke, Refactoring Object-Oriented Frameworks PhD Thesis : Kent Beck, Smalltalk Best Practices Patterns 1999 : Martin Fowler, Refactoring : Improving the Design of Existing Code Test-Driven Development Dérivé des pratiques de refactoring Premier article publié par Kent Beck à propos de SmallUnit 1997 : Création de JUnit par Kent Beck et Erich Gamma Introduction à l extreme Programming et au développement agile 5 / 76
6 La préhistoire : Influences (cont) Design Patterns Idée reprise de l architecture, plus particulièrement de Christopher Alexander Kent Beck et Ward Cunningham ont appliqué le concept de patrons au logiciel depuis : Publication de Design Patterns, par Erich Gamma Richard Helm Ralph Johnson John Vlissides Introduction à l extreme Programming et au développement agile 6 / 76
7 Les débuts Projet C3 (Chrysler, 1996) : Naissance du processus Intervention de Kent Beck pour améliorer les performances Identification de maux plus profonds La direction lui confie l équipe pour récrire le logiciel Mise au point des pratiques XP avec Ron Jeffries Correspond à la somme des influences vues précédemment Octobre 1998 : Article dans Distributed Computing magazine sur C3 et XP De l utilisation du Wiki Wiki Web Ward Cunningham a mis au point ce site collaboratif Utilisé par la communauté XP pour affiner et discuter le processus Introduction à l extreme Programming et au développement agile 7 / 76
8 Les débuts (cont) Evolution et gain de popularité Septembre 1999 : Extreme Programming Explained par Kent Beck Processus presque identique à celui appliqué sur C3 Intégration du processus Scrum pour la gestion de projet Décembre 1999 : 1 e XpImmersion à ObjectMentor 31 Décembre 1999 : Création du groupe de discussion XP sur Yahoo! Juin 2000 : 1 e conférence internationale sur XP Septembre 2000 : Extreme Programming Installed écrit entre autre par Ron Jeffries Juillet 2001 : Première conférence XpUniverse Introduction à l extreme Programming et au développement agile 8 / 76
9 Le Manifeste Agile Réunion organisée par Kent Beck en Février personnalités, dont les créateurs de Crystal, Scrum, Adaptive Software Development, etc Nous cherchons de meilleures manières pour développer des logiciels en aidant les autres et en développant nous mêmes À travers ce travail nous en sommes venus à valoriser : Personnes et interaction plutôt que processus et outils Logiciel fonctionnel plutôt que documentation complète Collaboration avec le client plutôt que négociation de contrat Réagir au changement plutôt que suivre un plan En fait, bien que les éléments de droite soient importants, nous pensons que les éléments de gauche le sont encore plus Introduction à l extreme Programming et au développement agile 9 / 76
10 Mythe des phases Processus séquentiels La plupart dérivés du cycle en V Variantes intégrant parfois des sous-cycles itératifs 1 Cahier des charges 2 Document de spécifications 3 Document de conception générale 4 Document de conception détaillée 5 Plans de tests 6 7 Et l application? Introduction à l extreme Programming et au développement agile 10 / 76
11 Mythe des phases Processus séquentiels La plupart dérivés du cycle en V Variantes intégrant parfois des sous-cycles itératifs 1994 : Rapport CHAOS (étude sur 8000 projets) 16% finalisés dans les temps et le budget prévus 32% interrompus en cours de route Diagnostic courant des dérapages : Spécifications ambitieuses et Conception poussée Puis, enlisement de la construction Effet Tunnel Remise en cause de choix initiaux Mise à mal de la conception proposée Le processus correspond il aux besoins du projet? Introduction à l extreme Programming et au développement agile 10 / 76
12 Utopie des spécifications immuables Faits Sources principales de problèmes dans les spécifications : Erreurs Oublis Changements Définir un logiciel a priori est un exercice difficile, sauf dans le cas : D applications extrêmement simples De rares contextes connus et maitrisés Le client a du mal à imaginer ce que sera l application Conséquences Remises en question des spécifications Risques pour la conception liés au changement Introduction à l extreme Programming et au développement agile 11 / 76
13 Valeurs XP Communication Développement = Effort collectif de création Avoir une vision commune et pouvoir se synchroniser Qualité de la communication Communication directe et le contact humain Faiblesse pour la traçabilité et la structuration Augmentation de la réactivité Communication écrite présente, en général par du code Simplicité «La chose la plus simple qui puisse marcher» Simple Simpliste Eviter la complexité inutile dans le code Toute duplication doit être éliminée Introduction à l extreme Programming et au développement agile 12 / 76
14 Valeurs XP (cont) Retour d information (Feedback) Boucles de feedback pour réduire les risques Connaître l état du projet Rectifier le tir si nécessaire Facteur de qualité Acquisition d expérience Amélioration constante du travail Courage Se lancer dans un projet non entièrement spécifié Accepter de remanier une portion de code devenue complexe Appliquer les valeurs de feedback et de communication Accepter de montrer ses propres limites Maintenir une transparence complète Introduction à l extreme Programming et au développement agile 13 / 76
15 Principes XP Le client (maîtrise d ouvrage) pilote lui-même le projet, et ce de très près grâce à des cycles itératifs extrêmement courts (1 ou 2 semaines) L équipe 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 L équipe s organise elle-même pour atteindre ses objectifs, en favorisant une collaboration maximale entre ses membres L équipe met en place des tests automatiques pour toutes les fonctionnalités qu elle développe, ce qui garantit au produit un niveau de robustesse très élevé Les développeurs améliorent sans cesse la structure interne du logiciel pour que les évolutions y restent faciles et rapides Introduction à l extreme Programming et au développement agile 14 / 76
16 Sommaire 1 Introduction 2 Équipe et rôles XP 3 Pratiques XP 4 Processus XP 5 Autres considérations Introduction à l extreme Programming et au développement agile 15 / 76
17 Programmeur Deux hypothèses dans XP pour justifier l importance du code En génie logiciel, l activité correspondant à la fabrication est la compilation, pas la programmation Code clair, structuré et simple modifié autant de fois que nécessaire pour qu il soit compréhensible et non redondant est la meilleure forme de conception Tests et proximité du client Tests (cf Feedback) Eviter les décalages entre ce que l on veut coder et le comportement réel Ce qui n est pas testé n existe pas (cf Courage) Ecouter le client (cf Communication) Lui seul sait comment le logiciel doit fonctionner Introduction à l extreme Programming et au développement agile 16 / 76
18 Programmeur (cont) Conception pour un codage durable Elle est très importante! Elle a un but différent : Eviter ainsi : Pas montrer ce que l on a codé Pas fournir des documents remplis de schémas Garantir le long terme Fragilité (modification régression) Rigidité (petite modification nombreuses modifications) Immobilité (factoriser tout casser) Interventions sur la conception Collectivement lors des séances de planification Lors de l écriture des tests unitaires Par le remaniement (refactoring) Introduction à l extreme Programming et au développement agile 17 / 76
19 Programmeur (cont) Responsabilisation Retour du programmeur comme rôle central A la fois : codeur, testeur, concepteur et analyste Apprentissage Qualités humaines nécessaires XP : Ecole de l excellence Responsabilisés pour donner le meilleur d eux même ex : estimation des charges et délais Pratiques XP Programmation en binôme Responsabilité collective du code Tests unitaires Conception simple Règles de codage Intégration continue Remaniement Rythme durable Introduction à l extreme Programming et au développement agile 18 / 76
20 Client Qui est-il? Pas nécessairement le client contractuel Assistant à maîtrise d ouvrage Représentant des utilisateurs A défaut quelqu un pour agir comme client «artificiel» Chef de projet Ingénieur chargé des spécifications Client sur site et feedback Intégré à l équipe de développement Plus de cahier des charges vague ou incompréhensible Plus de démo truquée Explique se qu il souhaite aux développeurs Vision plus rapide du résultat Prise de conscience en cas d erreur Introduction à l extreme Programming et au développement agile 19 / 76
21 Client (cont) Scénarios clients Description informelle d une fonctionnalité ou d une interaction avec l utilisateur Le plus simple possible Démarrage du projet Des scénarios initiaux sont dégagés et présentés Ils sont classés par priorité et répartis en itérations A chaque itération Grâce au feedback introduit (logiciel fonctionnel) : Il peut revoir le contenu des itérations Modifier ses scénarios Il est garant des fonctionnalités du logiciel Introduction à l extreme Programming et au développement agile 20 / 76
22 Client (cont) Tests de recette But : préciser les contours des scénarios Données concrètes levant les ambiguïtés Preuve que le système fait ce qu il demandait A chaque fin d itération tous les tests de recette doivent passer avec succès Pratiques XP Planification itérative Rédaction des scénarios clients Séances de planification Tests de recette Intégration continue Rythme durable Introduction à l extreme Programming et au développement agile 21 / 76
23 Testeur Le bras droit du client Définit et automatise les tests de recette Conseille le client sur la testabilité d une fonctionnalité Utilisation d outils différents pour scripter Garant du sentiment de réussite sur le projet Test fonctionnel réussi Progression Communiquer pour motiver (graphique de progression) Compétences requises Programmeur hétéroclite (maîtriser l outillage de test) Rigoureux et intègre Pratiques XP Suivi des tests (planification itérative) Tests de recette Intégration continue Rythme durable Introduction à l extreme Programming et au développement agile 22 / 76
24 Tracker Missions Suivre les tâches en cours d itération Interroger les programmeurs Savoir où ils en sont Ne pas les mettre sur des charbons ardents Attention à ne pas dériver en discussion technique Détecter les problèmes avant qu il ne soit trop tard Révélateur Pas de prise d initiative Il fait en sorte que la tâche de 3 jours en prenne 4 et non 6 Introduction à l extreme Programming et au développement agile 23 / 76
25 Tracker (cont) Qui est-il? Pas un supérieur hiérarchique Quelqu un a qui on peut se confier De préférence pas un programmeur, mais quelqu un d extérieur Pour éviter les discussions techniques A défaut, ce rôle peut tourner entre les programmeurs à chaque itération Pratiques XP Planfication itérative Introduction à l extreme Programming et au développement agile 24 / 76
26 Manager Position dans l organisation Supérieur hiérarchique des programmeurs Ne fait pas partie intégrante de l équipe Chef du service auquel appartient l équipe Chef de projet global (dans le cadre d un sous-projet) Responsabilités Il s occupe matériellement de l équipe Il demande des comptes (sur les engagements pris) Interface avec l extérieur (dans le cadre d un sous-projet) Pratiques XP Scénarios client Planification itérative Rythme durable Introduction à l extreme Programming et au développement agile 25 / 76
27 Coach Garant du processus Il réunit tout les autres rôles Vérifie que chaque rôle est respecté Ses buts ultimes : Ses qualités Equipe autonome Chaque programmeur est en amélioration continue Expert de la méthode XP Expert technique Programmeur chevronné Architecte Pédagogue et sensible Sang-froid Pratiques XP Toutes! Introduction à l extreme Programming et au développement agile 26 / 76
28 Répartitions des rôles Plusieurs rôles pour une personne Attention aux combinaisons possibles Toutefois, pas de règle absolue S assurer qu une cumulation ne pousse pas à sacrifier une composante importante d un rôle Plusieurs personnes pour un rôle Programmeur, le plus grand nombre Tracker, une seule personne à un moment donné Coach, une personne unique Manager, une personne unique Client+Testeur, d une personne à une équipe Introduction à l extreme Programming et au développement agile 27 / 76
29 Compatibilité des rôles Programmeur Client Programmeur Tracker Manager Coach Programmeur!!! Client Testeur! Tracker!!! Manager! Coach!! bonne combinaison mauvais combinaison! combinaison envisageable mais risquée Introduction à l extreme Programming et au développement agile 28 / 76
30 Précautions Comportements contre-indiqués S attribuer les mérites ou rejeter la faute sur les autres Un codeur (même très compétent) faisant des choses que personne ne comprend refusant de travailler avec quelqu un de moins compétent Chercher à se rendre indispensable Eviter la spécialisation Tendance naturelle à la constitution de sous-groupes Avec XP, pas de conséquences tant que le groupe est petit Envisager des mécanismes de rotation pour les binômes Cas particulier du consultant 1 Le consultant est appelé pour un problème précis 2 Il travaille toujours accompagné par un programmeur 3 L équipe souhaitera probablement refaire le travail Introduction à l extreme Programming et au développement agile 29 / 76
31 Sommaire 1 Introduction 2 Équipe et rôles XP 3 Pratiques XP 4 Processus XP 5 Autres considérations Introduction à l extreme Programming et au développement agile 30 / 76
32 Pratiques XP Whole Team Customer Tests Continuous Integration Collective Ownership Pair Programming Test-Driven Development Simple Design Coding Standards Refactoring Sustainable Pace Planning Game Metaphor Small Releases Introduction à l extreme Programming et au développement agile 31 / 76
33 Pratiques XP Programmation Collaboration Gestion de projet Développement piloté par les tests Conception simple Remaniement Programmation en binôme Responsabilité collective du code Règles de codage Intégration continue Client sur site Rythme durable Livraisons fréquentes Planification itérative Introduction à l extreme Programming et au développement agile 32 / 76
34 Développement piloté par les tests Automatisation Tests d un logiciel sont généralement automatisables Automatisation moins de temps consacré aux tests Temps nécessaire à l automatisation plus long, mais Moins de défauts dans le code Moins de régressions Ecrire les tests en premier Position a priori paradoxale, mais Elimination du dilemme habituel en fin de projet Code plus facilement testable Moins d enchevêtrement Meilleure conception Tests fonctionnels Forme de spécification Tests unitaires Forme de conception détaillée Introduction à l extreme Programming et au développement agile 33 / 76
35 Développement piloté par les tests (cont) Tests Fonctionnels Dans le cas général, la recette permet de vérifier que : Le logiciel n a pas d anomalie constatée Les fonctionnalités livrées sont bien celles demandées Dans le cas XP : Tests de recettes spécifiés par le client Tests fonctionnels écrits par le testeur Livraison possible lorsque tous les tests réussissent Test Unitaires Ecrits avant le code à tester Plusieurs rôles : Rythmer la programmation (progression «d alpiniste») Guider la conception Documenter le code produit (cf notion de «contrat») Introduction à l extreme Programming et au développement agile 34 / 76
36 Développement piloté par les tests (cont) Test Unitaires (nouvelle implémentation) 1 Identifier une sous-partie du problème 2 Ecrire un test indiquant si le problème est résolu 3 Exécuter le test qui doit échouer 4 Ecrire le code 5 Exécuter le test pour vérifier que le code fonctionne correctement Test Unitaires (modification de conception) 1 Modifier le test concerné 2 Exécuter le test qui doit échouer 3 Modifier le code 4 Exécuter le test pour vérifier que le code fonctionne correctement Introduction à l extreme Programming et au développement agile 35 / 76
37 Conception simple Eviter la spéculation Conception = Investissement (en temps et/ou complexité) Identifier toutes les classes ou modules dont sera constitué le système, héritage Implémenter un système générique pour facilement implémenter chaque fonctionnalité spécifique Cet investissement peut-être bénéfique Mais si on a mal «spéculé»? XP : Se concentrer sur une et une seule fonctionnalité Obtenir la meilleure conception possible sans aller au-delà «Do the simplest thing that could possibly work» «You Aren t Gonna Need It» (YAGNI) Implémenter le strict nécessaire Complètement et correctement Tests unitaires compris Introduction à l extreme Programming et au développement agile 36 / 76
38 Conception simple (cont) Simplicité Facilité Le plus simple n est pas forcément le plus facile Par exemple, dupliquer le code d une méthode pour avoir une version légèrement modifiée est facile Méthode ayant des anomalies Rechercher toutes les variantes pour les corriger Toutefois, ne pas oublier de progresser Règles de simplicité XP Tous les tests doivent être exécutés avec succès Chaque idée doit être exprimée clairement et isolément Tout doit être écrit une fois et une seule Le nombre de classes, de méthodes et de lignes de code doit être minimal Introduction à l extreme Programming et au développement agile 37 / 76
39 Remaniement Définition «Procédé consistant à modifier un logiciel de telle façon que, sans altérer son comportement vu de l extérieur, on en ait amélioré la structure interne» Transformations de code Martin Fowler en a répertorié plusieurs dizaines Décrites avec grande précision Présentation proche des «Design Patterns» Beaucoup peuvent être appliqués mécaniquement Certains IDE commencent même à en automatiser certains (ie Eclipse) Exemples de résultats Elimination du code dupliqué Séparation des idées Elimination de code mort Introduction à l extreme Programming et au développement agile 38 / 76
40 Remaniement (cont) Lien avec les tests Chaque modification apportée par une transformation est minime Grâce aux tests on peut être certain qu aucune erreur n a été introduite On peut facilement revenir en arrière Comme dans la nature : Chaque remaniement est une mutation isolée Les tests font office de sélection naturelle Les mutations nocives sont éliminées La robustesse du code est accrue Introduction à l extreme Programming et au développement agile 39 / 76
41 Métaphores Dans un projet classique On cherche à communiquer Sur ce que l on attend du projet Sur ce que l on a réalisé D où un effort de rédaction non négligeable But : obtenir une vision commune Souvent noyée dans une documentation trop détaillée XP se focalise sur la vue d ensemble Conserver uniquement le strict nécessaire Eviter la redondance En général quelques pages suffisent Utilisation de métaphores Eviter le jargon technique Utiliser des «images» Introduction à l extreme Programming et au développement agile 40 / 76
42 Programmation en binôme Fonctionnement du binôme Toujours deux développeurs devant une machine Pilote : Ecriture du code, manipulation des outils Co-Pilote : Relecture continue du code, propositions Dialogue permanent pour réaliser la tâche en cours Formation des binômes Changement fréquent des binômes (plusieurs fois par jour) Sélection libre : On demande l aide de quelqu un d autre Il ne peut refuser ou seulement temporairement Exemples de critères de choix : (Faire) Profiter de l expérience Intérêt pour la tâche à réaliser Introduction à l extreme Programming et au développement agile 41 / 76
43 Programmation en binôme (cont) Répartition des tâches Chaque développeur est responsable de ses tâches Alors, à tout instant : Il travaille sur une de ses tâches Il aide quelqu un d autre à réaliser sa tâche NB : Une tâche pourra être réalisée en plusieurs fois Une pratique «rentable»? Un binôme est plus rapide sur une tâche donnée qu un programmeur seul Amélioration de la qualité du code Réduction du coût de maintenance Partage des connaissances, Cohésion d équipe Introduction à l extreme Programming et au développement agile 42 / 76
44 Programmation en binôme (cont) Précautions Rester clair : Collaboration active et continue Pas «un qui code l autre qui sur veille» Qualités humaines de l équipe déterminantes S assurer que le co-pilote ne «décroche» pas Gérer les différences de niveau (pas de marginalisation) S ouvrir sur le reste du groupe en cas de problème Rester réaliste Il est difficile de fonctionner en binôme 100% du temps Espace de travail Eviter le cloisonnement pour favoriser les échanges Concept de «War Room» Introduction à l extreme Programming et au développement agile 43 / 76
45 Responsabilité collective du code Modèles actuels : Responsabilité individuelle Chaque développeur évolue dans une partie réservée Nécessite de se mettre d accord sur les interfaces Limite les interférences Garantie une certaine autonomie Notion de «responsable» souvent entâchée de «faute» Séparation des connaissances Duplication de code Pas de progression dans les compétences Modèles actuels : Absence de responsabilité Code appartenant à toute l équipe et à personne à la fois Tout le monde peut modifier l application selon les besoins Développement opportuniste Design «plat de spaghettis» Introduction à l extreme Programming et au développement agile 44 / 76
46 Responsabilité collective du code (cont) Modèle XP Chaque binôme peut inter venir sur n importe quelle partie Mais chacun est responsable de l ensemble Par ex un binôme peut revoir une partie peu claire du code Fonctionne bien uniquement dans un cadre XP Tests unitaires Intégration continue Remaniement Règles de codage La fin des spécialistes? Non! Ils doivent devenir polyvalent Mais agissent comme consultant interne Mise en commun des connaissances Interlocuteurs privilégiés dans leur domaine Introduction à l extreme Programming et au développement agile 45 / 76
47 Règles de codage Pourquoi? Homogénéisation nécessaire (responsabilité collective) Prise en main plus rapide du code écrit par d autres A définir avant le démarrage du projet Parfois mal perçues, mais Adaptation assez rapide Prise de conscience du travail en équipe Peut s inscrire dans une démarche qualité Aspects couverts Présentation du code (indentation, espaces) Organisation des commentaires Règles de nommage (classes, méthodes, constantes) Système de noms (vocabulaire commun, métaphore) Idiomes de codage (parcours de liste, singletons) Introduction à l extreme Programming et au développement agile 46 / 76
48 Intégration continue Pourquoi éviter des périodes d intégration? Profiter immédiatement des efforts de chacun Coût de l intégration augmente très vite avec l éloignement dans le temps des intégrations successives Fréquence d intégration classique : 1/semaine Fréquence XP : 1/jour à n/heure Méthode de travail : Gestion de versions Test Unitaires = Tests de non-régression Processus suivi : 1 Récupération d une copie locale 2 Modification de la copie 3 Mise à jour de la copie locale lorsqu elle passe les tests 4 Correction des éventuels problèmes 5 Mise en dépôt de la copie locale lorsqu elle passe les tests Introduction à l extreme Programming et au développement agile 47 / 76
49 Client sur site Notion d équipe Client intégré à l équipe de développement Equipe Ensemble des développeurs «Whole Team» (client et programmeurs) Avantages Spécifications fonctionnelles généralement floues, ici : Client disponible pour apporter ses compétences métier Maitrise d ouvrage conservée par le client Définition des tests de recette par le client Une pratique inaccessible? Très difficile de trouver quelqu un de suffisamment disponible Introduction à l extreme Programming et au développement agile 48 / 76
50 Rythme durable Maintenir un niveau optimal Savoir travailler mais aussi se reposer! Beaucoup d énergie nécessaire pour : Trouver des solutions de conception simples Ecrire du code propre Penser à des tests unitaires Explorer avec son binôme les problèmes rencontrés On peut faire des heures supplémentaires Sur une cour te période de temps Suivie d une période de relâchement Traiter les problèmes réels Règle : «Pas d heures sup deux semaines de suite» Ne pas la respecter est le signe d un problème plus profond Plutôt le résoudre que le masquer par un sur plus de travail Introduction à l extreme Programming et au développement agile 49 / 76
51 Livraisons fréquentes Rythment le projet Livraisons régulières comme point de synchronisation Le client fixe ces dates, par exemple : Pour un projet de six ou sept mois On pourra espacer les livraisons d environ un mois et demi La première livraison arrivant au bout de deux mois La première livraison doit arriver le plus tôt possible Dissiper d éventuels malentendus Donner consistance au projet Les livraisons doivent être aussi proches que possible Pilotage précis du projet Donner des preuves de son avancement Introduction à l extreme Programming et au développement agile 50 / 76
52 Livraisons fréquentes (cont) Un «feedback» pour le client Mieux cerner ses besoins Etre rassuré sur l avancement réel du projet Un «feedback» pour l équipe Sentiment régulier de «travail fini» Confrontation du produit à un environnement réel Introduction à l extreme Programming et au développement agile 51 / 76
53 Planification itérative Rythme Environ 2 ou 3 itérations entre deux livraisons Pour un projet de six ou sept mois Itérations de deux semaines environ Séances de planification («Planning Game») Livraisons et itérations sont des cycles imbriqués Deux niveaux de granularité pour le pilotage Livraisons Fonctionnalités Itérations Tâches à réaliser par les développeurs Ces deux cycles sont découpés en trois phases 1 Exploration, identifier le travail et estimer son coût 2 Engagement, sélectionner le travail pour le cycle en cours 3 Pilotage, contrôler la réalisation de ce qui est demandé Introduction à l extreme Programming et au développement agile 52 / 76
54 Planification itérative : Livraisons Exploration (de plusieurs jours à quelques heures) Définir les scénarios client Granularité fine (plus fine que les Use Cases) Doit être testable Généralement notés sur des fiches A5 Plus simples à manipuler Estimer les scénarios client Attribution d un nombre de «points» (jours théoriques) Tenir compte du codage des tests et de la validation En cas d inconnue technique prototypage rapide Scinder/Fusionner des scénarios si nécessaire Introduction à l extreme Programming et au développement agile 53 / 76
55 Planification itérative : Livraisons (cont) Engagement (quelques heures seulement) Trier les scénarios (9 tas) Par priorité (client) : Indispensable, Essentiel, Utile Par risque (programmeurs) : Fort, Moyen, Faible Annoncer la «vélocité» de l équipe Nombre de points que peut traiter l équipe en une itération Pour la première itération le coach fourni sa propre estimation Répartir les scénarios parmi les livraisons à venir Le client «achète» les scénarios en fonction de la vélocité Création du plan de livraison provisoire Introduction à l extreme Programming et au développement agile 54 / 76
56 Planification itérative : Livraisons (cont) Pilotage (jusqu à la date de livraison) Suivre les tests de recette Nombre de tests réalisés par le client et les testeurs Nombre de tests validés Gérer les défauts Scénarios supplémentaires 1 Intégrer au mécanisme général de planification 2 Priorité absolue Et ensuite? Livrer sans délai Reporter les scénarios manquants Célébrer l événement et prendre du recul Repas hors du lieu de travail par exemple Bonne occasion pour se détendre Démarrage d un nouveau cycle Amélioration de la fiabilité des estimations Introduction à l extreme Programming et au développement agile 55 / 76
57 Planification itérative : Itérations Exploration Analyser les scénarios pour les scinder en tâches Activité de conception (même superficielle) Questions au client et discussion en sa présence Tâche : réalisable par un binôme en une ou deux journées Engagement Choisir et estimer des tâches Equilibrage des choix dans l équipe Fusion/Scission de tâches (si nécessaire) Avancement/Report de scénarios (si nécessaire) Production du plan d itération Introduction à l extreme Programming et au développement agile 56 / 76
58 Planification itérative : Itérations (cont) Pilotage Réalisation des tâches (mise à jour du plan d itération) Tournée du Tracker (au moins deux fois par semaine) Déceler tout dérapage au plus tôt Prendre des mesures correctives (alléger une charge) Stand-up meetings Chaque matin un point sur la situation ou les difficultés Pas une réunion technique ni un suivi des tâches Permet d organiser la journée (binômes) Et ensuite? Petite livraison informelle au client de l équipe Mise à jour des coûts des scénarios réalisés Célébrer l événement Un pot pour repartir sur de bonnes bases Introduction à l extreme Programming et au développement agile 57 / 76
59 Sommaire 1 Introduction 2 Équipe et rôles XP 3 Pratiques XP 4 Processus XP 5 Autres considérations Introduction à l extreme Programming et au développement agile 58 / 76
60 Cycle de vie XP User Stories Ȧrchitectural Spike Ṙequirements System Metaphor Uncertain Estimates Release Planning Spike Test Scenarios New User Story, Project Velocity Release Plan Confident Estimates Bugs Latest Version Ȧcceptance Iteration Tests Next Iteration Customer Approval Small Release Exploration Phase Planning Phase İterations to Release Phase Maintenance Phase Productionizing Phase Introduction à l extreme Programming et au développement agile 59 / 76
61 Cycle de vie XP User Stories Ȧrchitectural Spike Ṙequirements System Metaphor Uncertain Estimates Release Planning Spike Test Scenarios New User Story, Project Velocity Release Plan Confident Estimates Bugs Latest Version Ȧcceptance Iteration Tests Next Iteration Customer Approval Small Release Exploration Phase Planning Phase İterations to Release Phase Maintenance Phase Productionizing Phase Introduction à l extreme Programming et au développement agile 59 / 76
62 Itération New User Story, Project Velocity Release Plan Next Iteration Bugs User Stories Projet Velocity Failed Acceptance Tests Iteration Planning Unfinished Tasks Iteration Plan Development Learn and Communicate New Functionnality Bug Fixes Day by Day Latest Version Introduction à l extreme Programming et au développement agile 60 / 76
63 Itération New User Story, Project Velocity Release Plan Next Iteration Bugs User Stories Projet Velocity Failed Acceptance Tests Iteration Planning Unfinished Tasks Iteration Plan Development Learn and Communicate New Functionnality Bug Fixes Day by Day Latest Version Introduction à l extreme Programming et au développement agile 60 / 76
64 Développement Unfinished Tasks Learn and Communicate Iteration Plan Day by Day Tasks Failed Acceptance Tests Stand Up Meeting Too Much To Do Share Next Task or Failed Acceptance Test Collective Code Ownership Pair Programming Refactor Merciless Move People Around CRC Cards 100% Unit Tests Passed Acceptance Test Passed New Functionality Bug Fixes Introduction à l extreme Programming et au développement agile 61 / 76
65 Développement Unfinished Tasks Learn and Communicate Iteration Plan Day by Day Tasks Failed Acceptance Tests Stand Up Meeting Too Much To Do Share Next Task or Failed Acceptance Test Collective Code Ownership Pair Programming Refactor Merciless Move People Around CRC Cards 100% Unit Tests Passed Acceptance Test Passed New Functionality Bug Fixes Introduction à l extreme Programming et au développement agile 61 / 76
66 Le code appartient à tous CRC Cards Move People Around 100% Unit Test Passed Simple Design Complex Problem Change Pair We Need Help Run All Unit Tests Next Task or Failed Acceptance Test Pair Up Create Unit Test Failed Unit Test Passed Unit Test Pair Programming New Unit Tests New Functionality Continuous Integration Run Failed Acceptance Test Simple Code Complex Code Refactor Merciless Acceptance Test Passed Introduction à l extreme Programming et au développement agile 62 / 76
67 Feedback Release Plan Months Iteration Plan Weeks Acceptance Test Days Stand Up Meeting One Day Code Seconds Minutes Unit Test Pair Programming Pair Negotiation Hours Introduction à l extreme Programming et au développement agile 63 / 76
68 Sommaire 1 Introduction 2 Équipe et rôles XP 3 Pratiques XP 4 Processus XP 5 Autres considérations Introduction à l extreme Programming et au développement agile 64 / 76
69 XP et la modélisation Can you use UML with XP? Yes You can apply the artifacts of the UML activity diagrams, class diagrams, collaboration diagrams, component diagrams, deployment diagrams, sequence diagrams, statechart diagrams, and use case diagrams when you are taking an XP approach to development How do you use UML with XP? Minimally you should apply Agile Modelling and use UML artifacts on your XP project only where appropriate Ideally you should apply all of the principles and practices of Agile Modelling when doing so Introduction à l extreme Programming et au développement agile 65 / 76
70 XP et la documentation Au centre des débats «On n écrit pas de documentation dans XP» : Faux! XP tend à éliminer la paperasse mais restons nuancés Documentation utilisateur Manuel utilisateur, Procédure d installation Ils doivent être écrits, mais planifiés comme les tâches techniques Documents liés au projet Comptes rendus, Plannings Le client étant présent dans l équipe, l importance de ces documents est réduite Introduction à l extreme Programming et au développement agile 66 / 76
71 XP et la documentation (cont) Documentation technique Document de conception, Diagrammes Tests fonctionnels Spécification Tests unitaires Conception détaillée Remaniement Modification aisée de la conception Le code est de la documentation (génération automatique?) Autour du programmeur Code source comme principale production du projet Programmeur comme acteur essentiel Contrairement à certaines autres méthodes Il n est pas un simple exécutant Il dispose de pratiques pour être plus efficace Il accède à une certaine reconnaissance Introduction à l extreme Programming et au développement agile 67 / 76
72 Principaux facteurs de succès Sur le plan Humain Présence d un coach potentiel Quelques développeurs expérimentés et ouverts Une équipe capable de travailler en équipe Sur le plan Organisationnel Environnement de travail adapté («War Room») Hiérarchie consentante Culture d entreprise adaptée Pas de mérite basé sur les heures supplémentaires Pas de jeu politique (gagnant-gagnant) Pas d attachement aux méthodes linéaires, ou aux tonnes de documents comme reflet de la qualité Introduction à l extreme Programming et au développement agile 68 / 76
73 Principaux facteurs de succès (cont) Sur le plan Technique Possibilité de travailler sur des portions réduites de l application Valable dans le cas d une reprise d un gros projet Redécouper le logiciel dans un tel cas Langage de programmation permettant des mécanismes d abstraction et de factorisation La plupart des langages objets entrent dans cette catégorie Disposer d un outil de gestion de versions efficace Introduction à l extreme Programming et au développement agile 69 / 76
74 Le problème du contrat Aujourd hui en France Mise en œuvre d XP encore peu présente en entreprise Parfois pour des développements internes Contrats forfaitaires Un fournisseur s engage à un résultat donné, dans un délai donné pour un prix fixé Limites du modèle Périmètre fonctionnel rarement clair Rapports conflictuels Tout le monde perd Fige un maximum de paramètres (cahier des charges) Difficile de pratiquer XP dans ces conditions Sauf pour deux entreprises ayant une relation partenariale Impose l utilisation d avenants au contrat Introduction à l extreme Programming et au développement agile 70 / 76
75 Le problème du contrat (cont) Contrats d assistance technique («régie») Un fournisseur met à disposition du personnel compétent Le client assure maîtrise d ouvrage et maîtrise d œuvre Le fournisseur facture au client le temps passé Limites du modèle Repousse simplement la question de la maîtrise d œuvre Quelle est l expérience du client dans ce domaine? Motivation des collaborateurs «mis à disposition» peut être un problème La possibilité d appliquer XP dépendra donc du client S il est capable de le faire en interne Sinon une intervention extérieure peut permettre la transition vers XP Introduction à l extreme Programming et au développement agile 71 / 76
76 Le problème du contrat (cont) Contrats d assistance forfaitée Combinaison des deux modèles Facturation au temps passé Mais le fournisseur reste maître d œuvre Généralement difficile à faire accepter au client Nécessite une relation de confiance entre les deux parties Difficultés spécifiques à la France Culture institutionnelle française XP est une méthode privilégiant les réalités du terrain En France, les décisions partent du management pour se répercuter sur les opérationnels Directions financières attachées au contrat forfaitaire Budget prévisionnel dans un périmètre bien défini Besoins réels de l utilisateur financièrement inexistants Introduction à l extreme Programming et au développement agile 72 / 76
77 Avoir l œil critique Critiques possibles à l encontre d XP Trop anarchique Pas assez de documentation Trop extrême Culte du super programmeur Une utopie? Méthode profondément humaniste (cf manifeste agile) Tout le monde est-il honnête? Maîtriser XP c est savoir quand ne pas utiliser XP c est savoir adapter XP aux besoins courants Introduction à l extreme Programming et au développement agile 73 / 76
78 Autres méthodes agiles Methodology XP Scrum Lean FDD AUP Crystal DSDM Summarizing Phrase Simplicity Prioritized Business Value Return on Investment (ROI) Business Model Manage Risk Size and Criticality Current Business Value Introduction à l extreme Programming et au développement agile 74 / 76
79 Autres méthodes agiles (cont) Condition Small Team - Highly Volatile Requirements - - Distributed Teams High Ceremony Culture High Criticality Systems Multiple Customers / Stakeholders The table illustrates which conditions favor ( ), discourage ( ), or are neutral (-) XP Scrum Lean FDD AUP Crystal DSDM Introduction à l extreme Programming et au développement agile 75 / 76
80 Pour plus d informations sur XP L extreme Programming JL Bénard, L Bossavit, R Médina, D Williams Editions Eyrolles Extreme Programming Explained Kent Beck, Cynthia Andres XProgrammingcom Extreme Programming : A gentle introduction extreme Programming France Design Up Introduction à l extreme Programming et au développement agile 76 / 76
Introduction Les processus traditionnels extreme Programming Conclusion. extreme Programming. vers plus d agilité. F. Miller francois.miller@inpg.
vers plus d agilité F. Miller [email protected] FC INPG Octobre 2008 - version 1.0 Introduction Contexte Le monde bouge économie des moyens (humains, financier,...) ; recherche de plus d efficacité
Les méthodes Agiles Introduction. Intervenant : Tremeur Balbous [email protected] http://www.agilegardener.com/ 04/09/2008
Les méthodes Agiles Introduction Intervenant : Tremeur Balbous [email protected] http://www.agilegardener.com/ 04/09/2008 Les méthodes Agiles Le contexte Le Manifeste Agile Une tentative de définition
Méthodes agiles. www.businessinteractif.com CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS. Jean-Louis Bénard jlb@businessinteractif.
Méthodes agiles www.businessinteractif.com Jean-Louis Bénard [email protected] CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS 0 20 mai 2002 Sommaire Méthodes agiles : une réponse à un malaise?
Les méthodes itératives. Hugues MEUNIER
Les méthodes itératives Hugues MEUNIER INTRODUCTION. Toute les méthodes ont le même but : la maîtrise du budget, du planning et de la qualité des projets de développement informatique Plusieurs approches
Gestion de projet Agile. STS IRIS Module 4.2 - «Gérer et organiser un projet informatique»
Gestion de projet Agile Module 4.2 - «Gérer et organiser un projet informatique» Sommaire Introduction Principes et méthodes Agiles Scrum 2 Introduction Gestion de projet : démarche structurante assurant
Règles d engagement. Présentation Diapositives Bibliographie Questions Les vertus de la marche
Règles d engagement Présentation Diapositives Bibliographie Questions Les vertus de la marche Plan Rappels sur l agilité Scrum : une implantation de l agilité Scrum ou XP? Conclusion Historique sélectif
Topologie du web - Valentin Bourgoin - http://www.valentinbourgoin.net. Méthodes agiles & SCRUM
Méthodes agiles & SCRUM 1/ Pourquoi les méthodes agiles? Définition d une méthode agile. Fondamentaux. Quand les utiliser? 2/ SCRUM En quoi est-ce une méthode agile? Sprints et releases. Le Product Owner.
Gestion Projet. Cours 3. Le cycle de vie
Gestion Projet Cours 3 Le cycle de vie Sommaire Généralités 3 Séquentiel 7 Itératif/Incrémental 17 Extreme Programming 22 Que choisir? 29 Etats Transverse 33 Cours 3 2006-2007 2 Généralités Cours 3 2006-2007
Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles
Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles Laurent PY CEO, Smartesting [email protected] @py_laurent www.smartesting.com Guillaume Coquelle Testeur,
Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer
Le Processus RUP Database Administrator Project Leader H. Kadima Performance Engineer Release Engineer Analyst Designer / Developer Tester Table des matières 1. De l artisanat à l industrialisation de
Conduite de projets SI. Les méthodes «Agiles» N QUAL/1995/3660e ORESYS
Conduite de projets SI Les méthodes «Agiles» N QUAL/1995/3660e ORESYS Agilité : de quoi parle-t-on? Agilité de l entreprise Urbanisme Architectures SOA Agilité du SI ERP Plateformes applicatives agiles
Développement itératif, évolutif et agile
Document Développement itératif, évolutif et agile Auteur Nicoleta SERGI Version 1.0 Date de sortie 23/11/2007 1. Processus Unifié Développement itératif, évolutif et agile Contrairement au cycle de vie
Yannick Prié Département Informatique Faculté des Sciences et Technologies Université Claude Bernard Lyon 1 2011-2012
Yannick Prié Département Informatique Faculté des Sciences et Technologies Université Claude Bernard Lyon 1 2011-2012 1/3 Méthodes et processus 2/3 Processus unifié 3/3 Méthodes Agile 2011-2012 / Yannick
Cours Gestion de projet
Cours Gestion de projet Méthodes de conduite de projet Version Date Auteur V1.8 Septembre 2007 Pascal HEYER 1 Méthodes de conduite de projet Ce document est publié sous la licence libre Creative Commons-BY-NC-SA
Introduction au génie logiciel
Introduction au génie logiciel Guillaume Laurent ENSMM 2007 G. Laurent (ENSMM) Introduction au génie logiciel 2007 1 / 36 Plan du cours 1 Problématique du génie logiciel 2 Méthodes de développement logiciel
Le Product Backlog, qu est ce c est?
Le Product Backlog, qu est ce c est? Ludovic Larché Agile Tour 2012 à Rennes le 4 octobre 2012 Sommaire > Rappels théoriques : qu est ce qu un Product Backlog? > Le Product Backlog n est pas seul! > Techniques
Plan. 1 Cycles de développement. 2 Méthodes agiles, principes généraux. 3 Comment se passe un Sprint?
Plan nitiation au Génie Logiciel Cours 5 ntroduction au π développement agile T. Genet ([email protected]) (STC/RSA) GEN-5 1/ 28 T. Genet ([email protected]) (STC/RSA) GEN-5 2/ 28 Bibliographie Plan L informatique
Jean-Pierre Vickoff www.vickoff.com
Techniques du futur Agile Communication - Architecture - Méthode Vers une approche Agile de 3 ème génération Jean-Pierre Vickoff www.vickoff.com Protocole de séance : Précisions techniques immédiates possibles
Les Bonnes PRATIQUES DU TEST LOGICIEL
Les Bonnes PRATIQUES DU TEST LOGICIEL SOMMAIRE Qu est-ce que le test logiciel? Pourquoi le test est-il un maillon crucial de l ingénierie logicielle? Quels sont les différents types de tests? Qu est-ce
Scrum Une méthode agile pour vos projets
Avant-propos 1. Objectif du livre 17 2. Notre démarche 17 3. Structure du livre 18 4. Remerciements 20 Scrum, une méthode agile avant tout 1. Le grand départ 21 2. La gestion de projet informatique 22
Guide de Préparation. EXIN Agile Scrum. Foundation
Guide de Préparation EXIN Agile Scrum Foundation Édition Décembre 2014 Droits d auteur 2014 EXIN Tous droits réservés. Aucune partie de cette publication ne saurait être publiée, reproduite, copiée, entreposée
Les Méthodes Agiles. description et rapport à la Qualité. Benjamin Joguet Rémi Perrot Guillaume Tourgis
Les Méthodes Agiles description et rapport à la Qualité Benjamin Joguet Rémi Perrot Guillaume Tourgis 1 Plan Présentation générale d'agile Qu'est ce qu'une méthode Agile? Le manifeste Les valeurs Les principes
XP : plus qu'agile. Extreme Programming v2 et Développement Responsable. Thierry Cros
XP : plus qu'agile Extreme Programming v2 et Développement Responsable Thierry Cros Retrouvez cette présentation sur le site http://thierrycros.net Licence CC-BY-NC-SA XP : plus qu'agile Pourquoi XP Installer
Analyse,, Conception des Systèmes Informatiques
Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance
GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET
GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET 1 Tianxiao LIU Licence Professionnelle Réseaux & Sécurité Université de Cergy-Pontoise http://depinfo.u-cergy.fr/~tliu/lpg.php PLAN Objectif et
Les méthodes Agile. Implication du client Développement itératif et incrémental
Les méthodes Agile Simon ALEXANDRE - CETIC Plan Overview Agile ne signifie pas Agile signifie Objectifs poursuivis Pourquoi les méthodes Agile apparaissent-elles? Principales causes des échecs de projets
Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr
Cours de Java Sciences-U Lyon Java - Introduction Java - Fondamentaux Java Avancé http://www.rzo.free.fr Pierre PARREND 1 Octobre 2004 Sommaire Java Introduction Java Fondamentaux Histoire de Java Machine
Les Méthodes Agiles. Plan. Lecture. Objectifs du cours
Plan Les Méthodes Agiles Aurélien Tabard Master Informatique Université Claude Bernard Lyon 1 2013 2014 1. Retour rapide sur les méthodes de conception 2. Principes des méthodes Agiles 3. XP : extreme
Testeur Agile Niveau Fondation 2014 - Bertrand Cornanguer, Vice-chair Agile tester WG
Testeur Niveau Fondation 2014 - Bertrand Cornanguer, Vice-chair tester WG Enquêtes 2013 sur l Agilité Seriez-vous interessé par la certification Testeur? Enquête ISTQB (70 pays juin octobre 2013) Ingénieurs
25/12/2012 www.toubkalit.ma
25/12/2012 www.toubkalit.ma 1 Définition Exemple des méthodes agiles Valeurs Principes Le cycle itératif et incrémental (Itération/Sprint) Schéma de travail Méthode Scrum. Méthode XP (Extreme programming).
Soyez agile. Dans l industrie du logiciel, la. De plus chaque projet informatique
Soyez agile Dans l industrie du logiciel, la gestion de projet est confrontée à de nombreux défis. Le principal est de pouvoir assurer l adéquation d un produit et de ses fonctionnalités avec les besoins
Scrum + Drupal = Julien Dubois
Pourquoi j aime Scrum Pourquoi Scrum et Drupal sont faits pour s entendre Scrum + Drupal = Julien Dubois Happyculture.coop De quoi allons-nous parler? 1. Que sont les méthodes agiles? 2. Présentation de
Méthode Agile de 3 ème génération. 2008 J-P Vickoff
PUMA Essentiel Méthode Agile de 3 ème génération 1 Structure de la présentation PUMA Essentiel méthode Agile de 3 ème génération Quelques principes Agiles Principales pratique Agile de pilotage Structure
Maîtrise d ouvrage agile
Maîtrise d ouvrage agile Offre de service Smartpoint 17 rue Neuve Tolbiac 75013 PARIS - www.smartpoint.fr SAS au capital de 37 500 - RCS PARIS B 492 114 434 Smartpoint, en quelques mots Smartpoint est
GL - 2 2.2 Processus de développement Cycles de vie
GL - 2 2.2 Processus de développement Cycles de vie Lydie du Bousquet [email protected] En collaboration avec J.-M. Favre, Ph. Lalanda, I. Parissis, Y. Ledru 1 Plan Introduction Modèles en cascade
Agile Maroc 24 Novembre 2010. Méthodes agiles. Thierry Cros. http://etre-agile.com. Agile Maroc 24 novembre 2010
Agile Maroc 24 Novembre 2010 Méthodes agiles Thierry Cros 1 Thierry Cros 10 ans déjà... 2010 Création Extreme Programming France 2009 SigmaT Les Agilistes Toulousains 2010 Membre de «Fédération Agile»
CHAPITRE 3 : LES METHODES AGILES?
CHAPITRE 3 : LES METHODES AGILES? UE Gestion de Projet Master 1 STIC 2014/2015 Céline Joiron 2 Introduction Après avoir présenté les cycles de vie «classiques» de la gestion de projet L objectif de ce
Génie logiciel (Un aperçu)
(Un aperçu) (sommerville 2010) Laurent Pérochon INRA URH 63122 St Genès Champanelle [email protected] Ensemble d activités conduisant à la production d un logiciel Sur un échantillon de
Architecture pragmatique pour la gestion du cycle de vie des applications (ALM)
Architecture pragmatique pour la gestion du cycle de vie des applications (ALM) Concepts Agile appliqués à l architecture et à la conception Jean-Louis Maréchaux [email protected] Jean-Louis Maréchaux
Séance 1 Méthodologies du génie logiciel
Séance 1 Méthodologies du génie logiciel Objectifs : Histoire du développement du logiciel. La crise du logiciel. Explorer les différentes méthodologies de développement. Comprendre l importance d adopter
Conditions gagnantes pour démarrer sa transition Agile
Conditions gagnantes pour démarrer sa transition Agile 1 4 Les De plus en plus d organisations voient l Agilité comme une piste de solution aux problèmes auxquels elles sont confrontées. Par ailleurs,
But de cette introduction à la gestion de projets :
But de cette introduction à la gestion de projets : Présenter quelques méthodes de conception logicielle. Replacer la conception de bases de données dans un contexte plus vaste. Présenter quelques méthodes
Jean-Pierre Vickoff. 2008 J-P Vickoff
Agilité étendue Jean-Pierre Vickoff 1 Structure de la présentation PUMA Essentiel méthode Agile de 3 ème génération Le mouvement Itératif-Incrémental (Agile) Agilité étendue au SI et PUMA Essentiel Entreprise
DES SYSTÈMES D INFORMATION
URBANISATION & CONCEPTION DES SYSTÈMES D INFORMATION Le concept d urbanisation repose sur une analogie connue entre le Système d Information (SI) et la ville, dans lesquels interviennent tour à tour urbanistes
Plateforme de capture et d analyse de sites Web AspirWeb
Projet Java ESIAL 2A 2009-2010 Plateforme de capture et d analyse de sites Web AspirWeb 1. Contexte Ce projet de deuxième année permet d approfondir par la pratique les méthodes et techniques acquises
Programmation Agile Mise en oeuvre via Scrum et l'extreme Programming (XP)
Programmation Agile Mise en oeuvre via Scrum et l'extreme Programming (XP) B. Mermet 2010 Plan La programmation Agile et L'artisanat du logiciel Mise en œuvre avec Scrum Mise en œuvre avec l'extreme Programming
Les cinq premiers pas pour devenir vraiment agile à XP Day Suisse 2009 par Pascal Van Cauwenberghe et Portia Tung: La Rétrospective
Ce qui était bien Ce qui n était pas bien Questions J ai appris Bon résumé des valeurs Simplicité du format Présentateurs sympathiques et joie communicative Bonbons Utilisation réelle du feedback Présentation
Le Product Owner Clé de voute d un projet agile réussi
Le Product Owner Clé de voute d un projet agile réussi Cédric Pourbaix - EFIDEV Qui est le product owner? SM PO Scrum Team Qui est le product owner? SM PO Scrum Team Qui est le product owner? marketing
Méthodes de développement
1 / 9 Méthodes de développement Méthodes agiles 1 - Introduction... 2 2 -Le manifeste agile et les méthodes agiles... 2 2.1 Le manifeste agile... 2 2.2 Les méthodes agiles... 3 3 - Caractéristiques communes
Retour d expérience implémentation Scrum / XP
Retour d expérience implémentation Scrum / XP Bruno Orsier Octobre 2008 p.1 Bruno Orsier, Agile Tour 2008 Grenoble Plan Qui sommes nous? Pourquoi Scrum/XP? Historique de la mise en œuvre Bilan Sondage
Vision Produit. Un sacré attracteur pour une équipe auto-organisée. Thierry Cros
Vision Produit Un sacré attracteur pour une équipe auto-organisée Thierry Cros Sommaire Attracteur et équipe auto-organisée Vision Produit Contenu Qui fait quoi? Formats Vision : un sacré attracteur http://etre-agile.com
Méthodes Agiles et gestion de projets
Méthodes Agiles et gestion de projets Eric LELEU Consultant Solutions Collaboratives Contact [email protected] Site Personnel http://home.nordnet.fr/~ericleleu Blog http://ericleleu.spaces.live.fr La
TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château
Rappel TP3 Intégration de pratiques agiles En direct-live du château 40 41 Scénario d intégration agile 1. User Stories (1) 1. Rédiger les User Stories (exigences) 2. Planifier les Itérations (quoi / quand)
EXIN Agile Scrum Master
Guide de préparation EXIN Agile Scrum Master Édition de juillet 2015 Copyright 2015 EXIN All rights reserved. No part of this publication may be published, reproduced, copied or stored in a data processing
Ne renvoyez pas vos architectes! Utilisez-les avec agilité
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 [email protected] Qui suis-je? Jean-Louis
Scrum et l'agilité des équipes de développement
NormandyJUG Scrum et l'agilité des équipes de développement Par Dimitri Baeli & Nicolas Giard 23 Février 2010 Présentation des intervenants Dimitri Baeli http://twitter.com/dbaeli VP Quality Enterprise
Agilitéet qualité logicielle: une mutation enmarche
Agilitéet qualité logicielle: une mutation enmarche Jean-Paul SUBRA Introduction : le manifeste Agile Manifeste pour le développement Agile de logiciels Nous découvrons comment mieux développer des logiciels
backlog du produit Product Owner
Méthodes agiles : Définition: selon Scott Ambler «Une méthode agile est une approche itérative et incrémentale pour le développement de logiciel, réalisé de manière très collaborative par des équipes responsabilisées
Les méthodes agiles en développement informatique : Fondements théoriques et retours d expérience
Les méthodes agiles en développement informatique : Fondements théoriques et retours d expérience Sommaire Préface... 3 Introduction... 5 Partie I : Les fondements théoriques... 7 Chapitre I : La méthode
Eclipse Process Framework et Telelogic Harmony/ITSW
Eclipse Process Framework et Telelogic Harmony/ITSW Boris Baldassari 1 Résumé Une introduction à Eclipse Process Framework (EPF) et au processus OpenUP, et comment tirer profit de ces initiatives dans
Les méthodes agiles UM2 2011-2012. 2011-2012 Les méthodes agiles S. Mathon
Les méthodes agiles UM2 2011-2012 1 2 Sommaire Introduction L origine des Méthodes Agiles Le déroulement d un projet Scrum Au démarrage d une version Au démarrage d une itération/sprint Le déroulement
ISTQB Agile Tester en quelques mots ISTQB Marketing Working Group
ISTQB Agile Tester en quelques mots ISTQB Marketing Working Group Mai 2014 Qu est-ce que l ISTQB? ISTQB : International Software Testing Qualifications Board (www.istqb.org): Association sans but lucratif
L'agilité appliquée à nous-mêmes. Philippe Krief, PhD Development Manager IBM France Lab
L'agilité appliquée à nous-mêmes Philippe Krief, PhD Development Manager IBM France Lab Agenda Où en était l équipe RPP il y a 24 mois Réorganisation de l équipe et du projet autour de Scrum et de RTC
UML est-il soluble dans les méthodes agiles?
Pascal ROQUES Valtech Training UML est-il soluble dans les méthodes agiles? octobre 07 Résumé On entend beaucoup parler actuellement de deux approches ayant l'air fondamentalement opposées : l'approche
User stories et Backlog de produit
User stories et Backlog de produit User-stories ou scénarios : Une user story ou un scénario est une exigence du système à développer formulée en une ou deux phrases dans le langage des utilisateurs pour
PagesJaunes.fr Mise en place de Scrum de scrum. Fabien Grellier Agile Tour 2010 7 Octobre
PagesJaunes.fr Mise en place de Scrum de scrum Fabien Grellier Agile Tour 2010 7 Octobre 1 Roadmap Le contexte PagesJaunes.fr Le projet PagesJaunes.fr 2009 Rétrospective Conclusion 2 Le contexte PagesJaunes.fr
Tuesday, October 20, 2009. Nantes
Tuesday, October 20, 2009 Nantes Retour d'expérience SCRUM/XP dans un contexte CMMI-DEV niveau 2 SM CMM Integration, IDEAL, and SCAMPI are service marks of Carnegie Mellon University. Capability Maturity
Gé nié Logiciél Livré Blanc
Gé nié Logiciél Livré Blanc Version 0.2 26 Octobre 2011 Xavier Blanc [email protected] Partie I : Les Bases Sans donner des définitions trop rigoureuses, il faut bien commencer ce livre par énoncer
Enterprise Scrum Organisation des développements chez exo. Agile Tour Rennes 2010 / 10 / 07
Enterprise Scrum Organisation des développements chez exo Agile Tour Rennes 2010 / 10 / 07 Les Projets et Produits exo Open Source exo JCR exo Portal / GateIn / WebOS exo Social exo Content DMS, WCM, Workflow
Développement ebusiness
Développement ebusiness Cédric Pulrulczyk ( [email protected] ) Alcatel Université Lille I March 2005 Plan Analyse des besoins Méthodologie XP Modélisation UML Outil de développement Tests et
Les mécanismes d'assurance et de contrôle de la qualité dans un
Les mécanismes d'assurance et de contrôle de la qualité dans un projet Agile SPIN de Montréal - ETS 5 mars 2012 Qui sommes nous? mathieu boisvert Coach Agile Chargé de cours Co auteur d un livre avec Sylvie
Processus d Informatisation
Processus d Informatisation Cheminement de la naissance d un projet jusqu à son terme, deux grandes étapes : Recherche ou étude de faisabilité (en amont) L utilisateur a une idée (plus ou moins) floue
En face du commanditaire, on met un chef de projet qui connait le domaine (banque, administration, etc.)
Atelier «Science du projet» séance 4 8 novembre 2008 Compte rendu 1. Sébastien Larribe : la méthode AGILE, méthode de gestion de projet Sébastien Larribe part de l hypothèse que des méthodes de conception,
Les méthodes Agiles. Introduc)on aux méthodes Agiles Exemple : Scrum
Les méthodes Agiles Introduc)on aux méthodes Agiles Exemple : Scrum Défini)on de base Les méthodes Agiles sont des procédures de concep)on de logiciel qui se veulent plus pragma)ques que les méthodes tradi)onnelles
Introduc)on à l Agile
Introduc)on à l Agile 1 D où je viens Études M2 info : Paris Diderot (2009) MS Management de Projets Technologiques : ESSEC / Telecom Paris (2010) Aujourd hui Consultant à OCTO Technology (Conseil en SI)
REX Scrum Master du terrain
REX Scrum Master du terrain Ludovic Larché Agile Tour 2012 à Rennes le 4 octobre 2012 Qui suis je? Ludovic LARCHE Agile Scrum / Kanban Consultant Scrum Master depuis 2008 Accompagnement de Product Owner
Certification Scrum Master
avec Jeff Sutherland Les méthodes Agiles représentent indéniablement une approche nouvelle et différente dans la conduite de projets. Au lieu de suivre un plan à la lettre en assignant des tâches à une
Christophe Leroy Marc Lainez. L Agilité est-elle soluble dans la culture francophone?
Christophe Leroy Marc Lainez L Agilité est-elle soluble dans la culture francophone? Le Manifeste Agile http://agilemanifesto.org/ 2 Les 4 valeurs Agiles Equipe Personnes et interactions plutôt que processus
Extreme Programming. Le projet social. Angèle Batanero Thierry Cros. http://etre-agile.com. Agile Tour 2010 : XP, le projet social
Extreme Programming Le projet social Angèle Batanero Thierry Cros 1 Qui sommes-nous? Angèle Batanero Développeur Thierry Cros C++ Java Coach depuis 10 ans 2 Agenda XP, qu'es aco? Valeurs, principes Pratiques
Agilité et Recherche Journée COMPIL Olivier INIZAN - INRA PEPI-IDL/URGI. 13 juin 2012
Agilité et Recherche Journée COMPIL Olivier INIZAN - INRA PEPI-IDL/URGI 13 juin 2012 Mise en place de l agilité dans une unité INRA une histoire en 4 épisodes prologue X. P. I. L. O. V. E. Y. O. U contexte
Les 10 pratiques pour adopter une démarche DevOps efficace
Les 10 pratiques pour adopter une démarche DevOps efficace William Gravier RESPONSABLE D ACTIVITE DEVOPS SOCIETE POESI 1 QU EST-CE QUE DEVOPS? 2 LES TROIS PROCESSUS DEVOPS 3 L AGILITE DES ETUDES ET L ITILISISATION
LA MÉTHODE AGILE VS LE CYCLE EN V UNE RÉVOLUTION DANS LA GESTION DE PROJET. Franck BEULÉ
LA MÉTHODE AGILE VS LE CYCLE EN V UNE RÉVOLUTION DANS LA GESTION DE PROJET Franck BEULÉ 18 avril 2012 Bienvenue L'hôte de ce soir Franck BEULÉ Chef de Projet senior Chez Vision IT Group depuis 2 ans Actuellement
Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES
Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES Quelques constats Etude du Standish Group Seul 1/3 des projets informatiques sont qualifiés de succès 50 % sont livrés et opérationnels, mais sont sortis du
Bertrand Cornanguer Sogeti
JFIE 2014 Bertrand Cornanguer Sogeti Trésorier du CFTL Chair du groupe Audit de l ISTQB Vice-chair du groupe Agile Tester de l ISTQB 14/10/2014 Introduction Comme beaucoup de sujets, l ingénierie des exigences
Gestion de projets logiciels. Xavier Dubuc
Gestion de projets logiciels Résumé blocus Xavier Dubuc 16 janvier 2011 1 Table des matières 1 Planification (PERT-GANTT) 3 1.1 Définitions............................................. 3 1.2 Analyse un
AGILE IPHONE DEVELOPMENT
AGILE IPHONE devday for iphone, Geneva 2010 DEVELOPMENT Jérôme Layat [email protected] BREVE PRESENTATION Directeur Technique hortis, le studio 10 ans de pratique de l Agilité: développement, coaching
Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational
IBM Software Group Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational Fernard Bonaguidi [email protected]
Formation agile. Formation agile Created on 24 janv. 2012 Edited on 29 févr. 2012. Page 1 sur 16
Formation agile Page 1 sur 16 1. Qui sommes-nous?... 3 1.1. Pierre-Emmanuel Dautreppe... 3 1.2. Norman Deschauwer... 3 1.3. L association DotNetHub... 3 2. Introduction... 5 3. Agile Manifesto... 6 4.
Comment optimiser les tests avec une démarche d automatisation simplifiée
P A C I F I C A - A S S U R A N C E S D O M M A G E S Comment optimiser les tests avec une démarche d automatisation simplifiée Jean-Luc VILLETTE (PACIFICA) Eddy JABES (ALTEN) Journée Française des Tests
Retour d expérience. Le rôle du Business Analyst chez Orange. Nadia Magarino & Christophe Dufour 29 avril 2015
Retour d expérience Le rôle du Business Analyst chez Orange Nadia Magarino & Christophe Dufour 29 avril 2015 Plus de 161 000 salariés à votre service mobile entreprises internet et fixe Plus de 161 000
GESTION DE PROJET : LA METHODE AGILE
GESTION DE PROJET : LA METHODE AGILE Le SCRUM est une méthode de gestion de projet. Elle a pour but d améliorer la productivité des équipes. Ce terme est inspiré du terme Scrum en rugby qui désigne une
XP : ce célèbre inconnu
XP : ce célèbre inconnu Extreme Programming Thierry Cros http://etre-agile.com 1 XP : plus qu'agile Pourquoi XP Installer XP Rôles et Cycle de Vie Pratiques : Coder et livrer Développement Responsable
Forthcoming Database
DISS.ETH NO. 15802 Forthcoming Database A Framework Approach for Data Visualization Applications A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH for the degree of Doctor of
Scrum. ... pour des projets informatiques agiles. Pascal Lando Certified Scrum product owner
Scrum... pour des projets informatiques agiles Pascal Lando Certified Scrum product owner e-merchant Laboratoire Mis IUP Miage d Amiens [email protected] 2 octobre 2013 Ceci n est pas un cours
Sécurité logicielle. École de technologie supérieure (ÉTS) MGR850 Automne 2012 Automne 2012. Yosr Jarraya. Chamseddine Talhi.
MGR850 Automne 2012 Automne 2012 Sécurité logicielle Yosr Jarraya Chargé de cours Chamseddine Talhi Responsable du cours École de technologie supérieure (ÉTS) 1 Plan Motivations & contexte Développement
Logiciel Libre Cours 3 Fondements: Génie Logiciel
Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli [email protected] Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/
Forum AMOA ADN Ouest. Présentation du BABOK. 31 Mars 2013 Nadia Nadah
Forum AMOA ADN Ouest Présentation du BABOK 31 Mars 2013 Nadia Nadah Ce qu est le BABOK Ce que n est pas le BABOK Définition de la BA - BABOK version 2 Le processus de Business Analysis La structure du
