Upgrade to Pro — share decks privately, control downloads, hide ads and more …

XP renaissance 1.2

XP renaissance 1.2

Updated version of a presentation of eXtreme Programming
what it is and how it helps teams improve...

Cyrille DUPUYDAUBY

November 29, 2017
Tweet

More Decks by Cyrille DUPUYDAUBY

Other Decks in Technology

Transcript

  1. A propos du speaker • Architecte senior @ SG •

    A été pilote sur XP à la Société générale • Pratique surtout XP, ou Scrum + XP, Kanban+XP • OSS: Créateur de Michonne, premier contributeur de NFluent • Retrouvez moi sur le web: @cyrdup, many-cores.com (blog), dupdob (github), speakerdeck et slideshare @cyrdup
  2. La crise du logiciel • Beaucoup de projets échouent •

    Enjeux de modularité et de reuse • Langage C++, Smalltalk @cyrdup
  3. Planifier et contrôler • Le nombre de développeurs doublent tous

    les 5 ans • Répliquer les méthodes du bâtiment et de projet industriel @cyrdup
  4. SCRUM • 3 piliers: Transparence, Inspection, Adaptation • Organisé autour

    de cérémonies • Liberté de l’équipe de choisir ses pratiques • Amélioration continue @cyrdup
  5. Des causes connues • scrummerfall (Brad Wilson) => 2007 •

    waterfall+scrumm, a.k.a iterative waterfall, un sprint fait d’une phase d’étude, une phase d’exécution, une phase de test • flaccid scrum (Martin Fowler) =>2009 • application exclusive et naïve des cérémonies Scrum @cyrdup
  6. eXtreme Programming • Centré sur des valeurs humaines • Mise

    en avant des pratiques techniques • Coeur: 5 valeurs et 14 principes @cyrdup
  7. Les réponses • XP est une méthode intégrale • Enjeux

    des valeurs • Qualité mise en avant • Pratiques innovantes reprises massivement par le craftmanship @cyrdup
  8. Feedback • Le retour est indispensable pour savoir si on

    avance dans la bonne direction @cyrdup
  9. Simplicité • “La perfection est atteinte, non pas lorsqu'il n'y

    a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer.” • St Exupery @cyrdup
  10. Humanité Economique Bénéfice Mutuel Réplication Amélioration Diversité Réflexion Flux Opportunité

    Redondance Echec Qualité Baby steps Responsabilité acceptée @cyrdup
  11. Humanité Economique Bénéfice Mutuel Réplication Amélioration Diversité Réflexion Flux Opportunité

    Redondance Echec Qualité Baby steps Responsabilité acceptée @cyrdup
  12. Sit together & Informative workspace • Proximité immédiate • Open

    space pour l’équipe • Utiliser les murs (stories, backlog) @cyrdup
  13. Whole team • Toutes les personnes nécessaires au projet •

    Y compris: les ops, experts et utilisateur(s) • à 100% @cyrdup
  14. Test First programming • Ecrire un test qui échoue avant

    d’écrire ou changer du code • Ecrire juste ce qu’il faut de code pour que le test passe • Remettre le code au propre @cyrdup
  15. Test First programming • TDD is dead (DHH) => 2014

    • Trop de tests unitaires crée de la dette @cyrdup
  16. Incremental design • Le design est une activité continue, au

    fur et à mesure et non pas seulement en une passe au début @cyrdup
  17. Cycle trimestriel • Sélection du (des) thème(s) • Revue large

    • identification des goulots • intégration dans l’entreprise @cyrdup
  18. Slack • Il est important de se garder de la

    marge pour mieux gérer les risques de glissement @cyrdup
  19. 10 minutes build • Le build doit être rapide afin

    de donner du feedback utile @cyrdup
  20. Les limites • Nécessitent un minimum d’expérience • ne scale

    pas naturellement (<= 10 personnes) • s’intègre mal en entreprise classique @cyrdup
  21. Références • XP • eXtreme Programming Explained, (Kent Beck) •

    http://www.extremeprogramming.org/ • TDD • Test Driven Development Explained, (Kent Beck) • Growing Object-Oriented Software Guided by Tests (S.Freeman & N.Pryce) @cyrdup
  22. Test-Driven Development Simple Design Pair Programming Refactoring Collective Ownership Coding

    Standard Continuous Integration Sustainable Pace Metaphor Whole Team Customer Tests Planning Game Small Release XP Practices
  23. RAD & DSDM • Réalisation itérative à rythme rapide •

    Surveillance de l’adéquation aux besoins • Basé sur un plan • Réversibilité de tout développement
  24. Crystal METHODS • Ensemble de méthodes similaires • Attention sur

    les personnes • Itératif, amélioration continue, communication proche, sécurité… • Pratiques techniques