Arrêtons de parler de code de qualité, ce qu'il faut c'est du code agile !

Arrêtons de parler de code de qualité, ce qu'il faut c'est du code agile !

908a0c79fc96a06684fa7e2a523bde1b?s=128

Marek Kalnik

June 24, 2014
Tweet

Transcript

  1. Arrêtons de parler de code de qualité, ce qu'il faut

    c'est du code agile ! Marek Kalnik PHPTour Lyon 2014
  2. Je m'appelle Marek Architecte et Team Manager chez Theodo TDD

    et Good Code addict @marekkalnik
  3. comment l'écrire ? code de qualité

  4. code de qualité, c'est ça : Hodor. Hodor? Hodor. Hodor.

    Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor! Hodor? Hodor? Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor? Hodor! Hodor! Hodor? Hodor! Hodor? Hodor. Hodor! Hodor. Hodor. Hodor? Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor! Hodor? Hodor? Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor? Hodor! Hodor! Hodor? Hodor! Hodor? Hodor. Hodor. Hodor. Hodor! Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor! Hodor. Hodor! Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor! Hodor. Hodor. Hodor? Hodor. Hodor? Hodor. Hodor? Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor! Hodor? Hodor? Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor? Hodor! Hodor! Hodor? Hodor! Hodor? Hodor. Hodor! Hodor. Hodor. Hodor? Hodor. Hodor? Hodor. Hodor? Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor! Hodor? Hodor? Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor? Hodor! Hodor! Hodor? Hodor! Hodor? Hodor. Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor. Hodor? Hodor. Hodor? Hodor. Hodor? Hodor. Hodor? Hodor. Hodor! Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor. Hodor! Hodor. Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor. Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor! Hodor. Hodor. Hodor? Hodor. Hodor? Hodor. Hodor. Hodor! Hodor.
  5. on sait comment l'écrire This is extremely dirty code. Sorry

    for the inconvenience but the client don't want us to make it clean. This is my worst commit ever, I do not endorse this but I'm forced.
  6. comment le vendre ? code de qualité

  7. comment nous nous voyons

  8. comment nous voient nos clients

  9. la réalité

  10. les clients achètent du...

  11. Prestashop ? les clients achètent du... phpmd : The method

    indexProductPrices() has an NPath complexity of 2 117 035 203.
  12. Wordpress ? les clients achètent du... phpmd : wordpress/wp-includes/query.php:2149 The

    method get_posts() has an NPath complexity of 107 489 719 299 364 984 418 938 035 070 419 110 614 196 551 680 000
  13. Baremetrics.io 2 months after start – rebuild from scratch Result

    : doubled MRR
  14. des très beaux projets !

  15. est-elle inutile ? la qualité

  16. est-elle bien définie ? la qualité

  17. None
  18. Qu'est-ce qui est vraiment important ?

  19. The fast eat the slow

  20. Agile

  21. Notre plus haute priorité est de satisfaire le client en

    livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée.
  22. Un logiciel opérationnel est la principale mesure d’avancement.

  23. Accueillez positivement les changements de besoins, même tard dans le

    projet.
  24. La simplicité – c’est-à-dire l’art de minimiser la quantité de

    travail inutile – est essentielle.
  25. La charte du Code Agile a une grande valeur ajouté

    est livré rapidement et régulièrement est opérationnel s'adapte aux changements de besoins minimise la quantité de travail inutile
  26. La charte du Code Agile a une grande valeur ajouté

    est livré rapidement et régulièrement est opérationnel s'adapte aux changements de besoins minimise la quantité de travail inutile
  27. valeur Clean Code Dirty Code Good Business Value Excellent Code

    Good Code Poor Business Value Bad Code Garbage Code Anthony Ferrara : Beyond Clean Code
  28. succès orienté utilisateur analytics ! valeur

  29. définir le succès au début du projet valeur

  30. faire des ateliers utilisateur réguliers UserVoice sur chaque site valeur

  31. toujours avoir des analytics le CA est aussi un indicateur

    valeur
  32. déploiement des tests qui permettent de limiter les risques

  33. déploiement définir le DONE en prod

  34. ops monitoring devops philosophy

  35. ops You built it, you run it

  36. C'est en modifiant son code qu'on apprend si notre design

    est bon. Martin Fowler #isTDDDead évolution
  37. Refactor early, refactor often. évolution

  38. évolution Agile Data DDD Code review

  39. coder vite KISS – n'adressez pas des besoins qui n'existent

    pas !
  40. coder vite Tuez rapidement les fonctionnalités qui ne servent plus

  41. coder vite DRY – mais pas trop DRY

  42. Ça fait beaucoup !

  43. None
  44. http://goo.gl/Bhs6RM

  45. Et après ?

  46. Créez la confiance

  47. Orientez la qualité vers vos objectifs

  48. Merci ! Questions ? @marekkalnik