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...

Avatar for Cyrille DUPUYDAUBY

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