eXtreme Programming, une introduction
Upcoming SlideShare
Loading in...5
×
 

eXtreme Programming, une introduction

on

  • 1,645 views

Introduction à eXtreme Programming

Introduction à eXtreme Programming

Conférence donnée à l'XPday du 30 mars 2009

Statistics

Views

Total Views
1,645
Views on SlideShare
1,644
Embed Views
1

Actions

Likes
0
Downloads
26
Comments
0

1 Embed 1

http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    eXtreme Programming, une introduction eXtreme Programming, une introduction Presentation Transcript

    • Be prepared for changes! Hortis GRC SA - www.hortis.ch Introduction à XP
    • eXtreme Programming, une introduction Par Didier Besset didier.besset@hortis.ch Hortis GRC SA - www.hortis.ch
    • Coût du développement software 10000 8000 6000 Cost But de XP 4000 2000 0 0 5 10 15 20 Time Barry W. Boehm , Software Engineering Economics, Prentice Hall PTR, 1981; ISBN: 0138221227 3 Hortis GRC SA - www.hortis.ch Introduction à XP
    • eXtreme Programming: principes  Développement itératifs,  Plannification adaptable, pas rigide,  Architecture évolutive, non-contraignante,  Des tests, des tests, et encore des tests,  Be prepared for changes! 4 Hortis GRC SA - www.hortis.ch Introduction à XP
    • La Métaphore du Cycle eXtreme Programming Méthodologies Rapid Application Héritées des gros systèmes Development5
    • Historical Perspective eXtreme Programming Méthodologies Rapid Application Héritées des gros systèmes Development6
    • Perspective littéraire  Voltaire (1694-1778), Dictionaire Philosophique :  “ Le bon sens est la chose du monde la mieux partagée, car chacun pense en être bien pourvu.” 7 Hortis GRC SA - www.hortis.ch Introduction à XP
    • eXtreme Programming en quelques mots  Utilisation du bon sens,  Faire les choses simplement,  Priviliégier la communication,  Interagir de près avec le client;  Faire tout cela à 100%,  Sans compromis!  Be prepared for changes! 8 Hortis GRC SA - www.hortis.ch Introduction à XP
    • Perspective littéraire  René Descartes (1596-1650), Discours de la méthode : • “ ... La seconde, de diviser chacune des difficultés que j’examinerais, en autant de parcelles qu’il se pourrait, et qui serait requis pour les mieux résoudre.” (page 47 de l’édition G.F. 1966) 9 Hortis GRC SA - www.hortis.ch Introduction à XP
    • Méthodologie “Cascade” Analyse Années Design Code Analyse dépassée! Test 10 Hortis GRC SA - www.hortis.ch Introduction à XP
    • Application de la 2ème méthode de Descartes Fonctions Tâches Projet Analyse Analyse Design Code Analyse Design Test Analyse Code Design Jours Code Test Design Test Années Analyse Analyse Design Code Design Test SemainesAnalyse Code Design Code Code Test Analyse Test Design Analyse Test Code Test Design Analyse Design Code Code Test Analyse Test Design Code Test 11 Hortis GRC SA - www.hortis.ch Introduction à XP
    • Plannification à la SCRUM  Client et développeurs écrivent ensembles les fonctionalités sur un support (cartes ou JIRA):  User stories;  Le client donne des priorités à chaque fonctionalités ,  Les développeurs fractionnent chaque fonctionalité en tâches,  Les développeurs attribuent “une mesure de complexité” à chaque tâche. 12 Hortis GRC SA - www.hortis.ch Introduction à XP
    • Plannification à la SCRUM  La mesure de complexité peut se convertir en temps de réalisation,  vélocité (auto-calibrée!);  La complexité de chaque fonctionalité est calculée comme la somme des complexités de chaque tâche,  Le client décide alors de la prochaine livraison du système. 13 Hortis GRC SA - www.hortis.ch Introduction à XP
    • Plannification à la SCRUM  Si une date de livraison est en passe d’être dépassée...  ... on signale le probléme au client...  ... qui décidera des fonctionalités a retirer pour conserver la date de livraison;  Après une “bonne” livraison, le client décide de la mise en service. 14 Hortis GRC SA - www.hortis.ch Introduction à XP
    • Structure en itérations et livraisons User Stories Sénarios de test New user Requirements Bugs stories Plannifi- Release Latest Recette Iteration Acceptance Livraison plan version client cation Structure Estimation de Architecture la vélocité 15 Hortis GRC SA - www.hortis.ch Introduction à XP
    • Les 8 chemins vers XP Sépar. métier et technique Simplicité Test Programmer en paires Intégration continue Code à tous Livraisons fréquentes Refactoring 16 Hortis GRC SA - www.hortis.ch Introduction à XP
    • Séparation métier et technique  Le client connait son métier,  Les développeurs connaissent leurs outils,  Le client définit les priorités,  Les développeurs définissent les délais. 17 Hortis GRC SA - www.hortis.ch Introduction à XP
    • Séparation métier et technique  Le client a le dernier mot pour doit les développeurs pas!  décider des enchainements (workflow),  définir les champs, les menus et les boutons,  choisir une charte graphique;  Les développeurs ont le dernier mot pour pas! doivent le client  décider d’une architecture,  choisir leurs outils (langage, data base, etc...),  définir les classes et les interfaces. 18 Hortis GRC SA - www.hortis.ch Introduction à XP
    • Tests  Test Driven Design:  Écrire un test avant de coder;  Tests unitaires écrits par les développeurs:  Tester tout ce qui peut “foirer”,  utiliser les valeurs limites;  Tests d’acceptance écrits par le client:  Vérification des requirements,  Bon départ pour la documentation;  Be prepared for changes! 19 Hortis GRC SA - www.hortis.ch Introduction à XP
    • Intégration Continue  Chaque changement est immédiatement inclus dans un système déployé,  Le déploiement fait partie du développement,  Un système utilisable existe en permanence,  les développeurs peuvent essayer le système,  le client aussi!  Be prepared for changes! 20 Hortis GRC SA - www.hortis.ch Introduction à XP
    • Livraisons fréquentes  Conséquence directe du principe d’intégration continue,  Le client a le système en main le plus tôt possible,  Cela lui donne l’occasion de réagir avant qu’il ne soit trop tard,  Choc des nouvelles fonctionnalités atténué,  Be prepared for changes! 21 Hortis GRC SA - www.hortis.ch Introduction à XP
    • Simplicité  Écrire du code lisible (pas de virtuosité),  Les autres doivent pouvoir le lire,  vous aussi, après quelques semaines!  Les intentions doivent être claires:  Utiliser des standards (format, coding),  Éviter les abbréviations,  Éviter les commentaires;  Ne pas prévoir le futur (vous n’êtes pas devin):  C’est une perte de temps pour aujourd’hui,  Ce sera une perte de temps demain! 22 Hortis GRC SA - www.hortis.ch Introduction à XP
    • Programmation par paires  2 personnes font plus que le double de travail,  “One types while the other thinks,”  Une variation des paires est le meilleur moyen de faire circuler l’information,  Les nouveaux venus sont promptement intégrés,  Les juniors apprennent beaucoup plus vite...  … et donc, contribuent beaucoup plus vite! 23 Hortis GRC SA - www.hortis.ch Introduction à XP
    • Le code appartient à tous  Chaque développeur doit savoir tout faire,  Pas de chasse gardée, pas de “prima donna”,  Personne ne doit être indispensable,  Donc, le projet ne s’arrêtera pas si quelqu’un s’absente,  Le principe de simplicité est un pré-requis. 24 Hortis GRC SA - www.hortis.ch Introduction à XP
    • Refactoring  Amélioration continue qui fait partie du développement,  Architecture évolutive, qui s’adapte:  “This skill helps develop software that stays soft, and allows more focus on features and less on infrastructure, delivering more value without risking the long term.” (Ron Jeffries)  Be prepared for changes! 25 Hortis GRC SA - www.hortis.ch Introduction à XP
    • Conséquences sur le code  Coder dans l’ordre suivant:  “Make it run ” Créer un cas test, le faire passer,  “Make it good ” Refactorer le code pour en améliorer la lisibilité et l’architecture,  “Make it fast ” Si besoin est, optimiser l’exécution;  “Say things once and once only! ”  Ne rien duplifier  “extract method” au lieu de “cut&paste”. 26 Hortis GRC SA - www.hortis.ch Introduction à XP
    • Les 8 chemins vers XP (conclusion) Sépar. métier et technique Simplicité Customers know their business, Clearly stated code, no duplicated logic, Developer team knows how to use the tools. fewest number of objects. Test Programmer en paires “One types, the other thinks”. This ensures Automated tests ensure that a change does not create new errors. Business test cases. the best communication within the team. Intégration continue Code à tous Anyone would can contribute to the code will. Customers can always see a working version. Customers get the best of our developers. Full control over development. Livraisons fréquentes Refactoring Customers make their product evolve with When adding a new feature, existing code is the market. Changes are possible on the fly. adapted if needed, ensuring code reuse. 27 Hortis GRC SA - www.hortis.ch Introduction à XP
    • Questions ? 28 Hortis GRC SA - www.hortis.ch Introduction à XP