Quelle organisation pour développer? Les principes et les valeurs de l extreme programming



Documents pareils
Méthodes Agiles et gestion de projets

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

Gestion Projet. Cours 3. Le cycle de vie

25/12/2012

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

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

Développement itératif, évolutif et agile

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

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

CINEMATIQUE DE FICHIERS

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

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

Méthodes de développement

Les méthodes itératives. Hugues MEUNIER

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

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

Scrum Une méthode agile pour vos projets

Séance 1 Méthodologies du génie logiciel

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

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

Introduction au génie logiciel

CHAPITRE 3 : LES METHODES AGILES?

Cours Gestion de projet

Les Bonnes PRATIQUES DU TEST LOGICIEL

Agile 360 Product Owner Scrum Master

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

1/15. Jean Bernard CRAMPES Daniel VIELLE

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

Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES

Testeur Agile Niveau Fondation Bertrand Cornanguer, Vice-chair Agile tester WG

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

Modèle de changement d organisation. Leanpizza.net présente. Petit Guide Rapide du jeu de cartes Modèle de Changement d Organisation

Qualité et Test des Logiciels. Le génie logiciel. Moez Krichen.

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

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

Retour d expérience implémentation Scrum / XP

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

Les Méthodes Agiles. description et rapport à la Qualité. Benjamin Joguet Rémi Perrot Guillaume Tourgis

Guide de Préparation. EXIN Agile Scrum. Foundation

But de cette introduction à la gestion de projets :

Introduction à la modélisation

DÉPLOIEMENT D UN ERP. Cours dispensé pour les L3 MSI Elaboré par : Mehdi M tir 2013/2014 Chapitre 3 : Modélisation des besoins

1. Considérations sur le développement rapide d'application et les méthodes agiles

L Intégration Continue & Agilité

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

Méthodologies SCRUM Présentation et mise en oeuvre

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

En face du commanditaire, on met un chef de projet qui connait le domaine (banque, administration, etc.)

2. Activités et Modèles de développement en Génie Logiciel

Ingénierie des méthodes Agiles : Que cache l opposition entre déploiement et livraison en continu? Faut-il adopter DevOps 1?

Présentation aux entreprises du numérique

DES SYSTÈMES D INFORMATION

Analyse,, Conception des Systèmes Informatiques

Développement ebusiness

Introduction à l extreme Programming et au développement agile

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

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

ERP5. Gestion des Services Techniques des Collectivités Locales

Outil de gestion et de suivi des projets

GL Le Génie Logiciel

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

Business & High Technology

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Extreme Programming. Le projet social. Angèle Batanero Thierry Cros. Agile Tour 2010 : XP, le projet social

Eclipse Process Framework et Telelogic Harmony/ITSW

INDUSTRIALISATION ET RATIONALISATION

Gestion de Projet. Génie Logiciel. Renaud Marlet. LaBRI / INRIA. (d'après A.-M. Hugues) màj 19/04/2007

Le Product Backlog, qu est ce c est?

User stories et Backlog de produit

L assistance à maîtrise des projets logistiques risqués

OPTIMISER SON PROCESSUS DE TEST AVEC UNE APPROCHE BOITE GRISE

Brique BDL Gestion de Projet Logiciel

Service de réplication des données HP pour la gamme de disques Continuous Access P9000 XP

Rapport technique n 8 :

Mettre en place une infrastructure Web nouvelle génération avec Drupal et Acquia

REX Scrum Master du terrain

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

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP - MAGENT O. 30 ans - 6 ans d'expérience

Contact: Yossi Gal, Téléphone:

Agilitéet qualité logicielle: une mutation enmarche

Scrum + Drupal = Julien Dubois

Gestion de Projet Agile

Génie logiciel (Un aperçu)

Business Intelligence

MediMail SLA 1/1/2014 1

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

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

GESTION DE PROJET : LA METHODE AGILE

impacts du Cloud sur les métiers IT: quelles mutations pour la DSI?

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

Processus d Informatisation

Le génie logiciel. maintenance de logiciels.

Fonctions Informatiques et Supports Opérationnels

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

backlog du produit Product Owner

Jean-Pierre Vickoff J-P Vickoff

Comment mettre en oeuvre une gestion de portefeuille de projets efficace et rentable en 4 semaines?

Transcription:

Les principes et les valeurs de l extreme programming XP sont bons 1

Principes Revue de code Production systématique de cas tests Refactoring Solutions simples Métaphores Intégration quotidienne cycles de développement très rapides [http://fr.wikipedia.org/wiki/extreme_programming] 2

Valeurs La communication La simplicité Le feedback Le courage Le respect [http://fr.wikipedia.org/wiki/extreme_programming] Toute chose appartient à qui la rend meilleure Debugging is fun because it begins with a mistery 3

Les méthodes agiles SCRUM sont bonnes Individus et interactions vs. Processus et outils Logiciel qui fonctionne vs. Documentation exhaustive Collaboration du client vs. Négociation de contrat Réponse au changement vs. Suivi d'un plan prédéfini [http://fr.wikipedia.org/wiki/scrum] 4

Courage et Solidarité Appropriation collective du code L'équipe est collectivement responsable de l'application. Chaque développeur peut faire des modifications dans toutes les portions du code, même celles qu'il n'a pas écrites. Les tests diront si quelque chose ne fonctionne plus. Refactoring (ou remaniement du code) Amélioration régulière de la qualité du code sans en modifier le comportement. On retravaille le code pour repartir sur de meilleures bases tout en gardant les mêmes fonctionnalités. Les phases de refactoring n'apportent rien au client mais permettent aux développeurs d'avancer dans de meilleures conditions, et donc plus vite. [http://fr.wikipedia.org/wiki/extreme_programming] 5

Langage commun et communication fluide Convention de nommage Puisque tous les développeurs interviennent sur tout le code, il est indispensable d'établir et de respecter des normes de nommage pour les variables, routines, méthodes, objets, classes, fichiers, etc. Utilisation de métaphores On utilise des métaphores et des analogies pour décrire le système et son fonctionnement. Le fonctionnel et le technique se comprennent beaucoup mieux lorsqu'ils sont d'accord sur les termes qu'ils emploient. [http://fr.wikipedia.org/wiki/extreme_programming] 6

Qualité, utilisabilité, réactivité Intégration continue Lorsqu'une tâche est terminée, les modifications sont immédiatement intégrées dans le produit complet. On évite ainsi la surcharge de travail liée à l'intégration de tous les éléments avant la livraison. Les tests facilitent grandement cette intégration : quand tous les tests passent, l'intégration est terminée. Tests unitaires Avant d'implémenter une fonctionnalité, le développeur écrit un test qui vérifiera que son programme se comporte comme prévu. Ce test sera conservé jusqu'à la fin du projet, tant que la fonctionnalité est requise. À chaque modification du code, on lance tous les tests écrits par tous les développeurs, et on sait immédiatement si quelque chose ne fonctionne plus. [http://fr.wikipedia.org/wiki/extreme_programming] 7

Un exemple d atelier de génie logiciel : Code_Aster Modèle collectif ouvert, de type logiciel libre 8

1. Identifier le périmètre de responsabilité 2. Contractualiser le versionnement 3. Lotir et organiser les travaux 4. Communiquer et intégrer 9

Identifier le périmètre de responsabilité : La fiche qualité / le plan qualité logiciel Logiciels Logiciels indispensables pour indispensables pour utiliser utiliser Aster Aster Logiciels Logiciels nécessaires nécessaires à certaines commandes à certaines commandes Outils périphériques Outils périphériques 10

Identifier le périmètre de responsabilité : Pilote stratégique Comité directeur Pilote opérationnel Club Utilisateurs Équipe d intégration REX Engagement de ressources Signalement REX Développement Développement Utilisation Chantier logiciel Chantier modélisation 11 Équipe Coeur Utilisateurs et chantiers applicatifs

Gestion de configuration : Pas de cycle en V à l échelle du code Releases hebdomadaires XP XP Versions de développement utilisables et accessibles Mise en exploitation régulière de versions qualifiées XP 12 NEW NEW 8.1.16 8.1.16 NEW NEW 7.5.2 7.5.2 STA STA 8.1.0 8.1.0 STA STA 7.5.0 7.5.0 1 maj / semaine 1 maj / semaine 1 release / 6 mois 1 maj / mois 11 release maj / mois / 6mois 1 release / 6mois 1 release / 6 mois 2 ans 2 ans STA STA 6.8 6.8 Sans maintenance Sans maintenance

Lotir les travaux : types d interventions sur le code : Nature Cas test «cassé» Origine Développeur Canal Mise à jour Signalement de disfonctionnement Utilisateur REX Prioritaire! Lotissement chantier applicatif Développeur / Utilisateur REX Évolution noyau Développeur / Utilisateur REX + planification activité Requête utilisateur Utilisateur REX 13 Refactoring Développeur Initiative collective et individuelle

Lotir les travaux Découper chaque chantier en interventions autonomes et restituables : De plus petite dimension possible Qui feront l objet de fiches REX individuelles Qui seront utilisables, documentables, testables Qui seront intégrées dans le code sans délai XP + SCRUM, méthodes agiles 14

Organiser le développement : outil de REX Le REX est plus qu un bug-tracker : Outil de gestion de tous types d intervention sur le code 15

Organiser le développement : outil de REX Identifiant de l intervention sur le code Tracé dans les pv de mise à jour 16 Avancement de la fiche : Émise Enregistrée Résolu Validé_EDA Fermé

Organiser le développement : outil de REX Émetteur de la demande Contexte projet Responsable du travail à réaliser 17

Organiser le développement : outil de REX Validation, cas tests Tracé qualité Impact sur versions Impact documentation 18

Le cycle de vie d une intervention sur le code : Émission d une fiche REX XP Affectation à un développeur Étude d impact Affectation hebdomadaire par équipe noyau Tous acteurs concernés Codage + validation + documentation 19 XP Débat d intégration Intégration Obligatoire. Réunion hebdomadaire de l équipe noyau + tous développeurs Environnement de gestion de sources + contrôle qualité des développements

Importance de la communication et des métaphores : XP Créer des structures (réunions, comités ) officielles de contrôle des développements : En amont (pré-développement) : Pour préciser le besoin fonctionnel avec l utilisateur Pour réaliser l étude d impact architectural avec l équipe noyau Ne rien faire à l insu des responsables des sources impactés En aval (pré-intégration) : Fonction d exigence : tests, documentations Fonction de vigilance : robustesse, performances, utilisabilité Fonction de cohérence : sources, interface utilisateur 20

Les trois paliers (exigences) du développement : 1 Fiabilité : Un modèle doit donner des résultats justes 2 Robustesse : Un modèle quelconque (industriel) doit donner des résultats fiables 1 3 Performance : Un modèle quelconque (industriel) de grande taille doit donner des résultats fiables 1 et robustes 2 Ne pas aborder la mise au point dans un autre ordre! 21

1 Fiabilité 2 Robustesse 3 Performance 22

Qui développe? Dualité langage haut niveau / langage bas niveau Fortran Piliers du code architectes d opérateurs Intégrateurs de nouveaux modèles API bibliothèques Intergiciel haut/bas niveau Informaticiens purs Python Fortran Intégrateurs de modules pré-câblés (loi de cmpt) Python Macro-commandes Développeurs application métier Python Fichier de commandes Utilisateur 23

Choix de langage : Haut niveau : FORTRAN pour performances et accessibilité pour tous Bas niveau : Python pour puissance et accessibilité pour tous 24 http://www.cs.rpi.edu/~szymansk/oof90.html