[Résumé Agile2015] Agile Craftsmanship and Technical Excellence

Présentateur: Steve Ropa, VersionOne
Agile 2015, Jeudi AM, http://sched.co/36WJ

À retenir

  • Le manque d’excellence technique n’est pas un problème techniquec’est un problème humain!
  • Un modèle d’apprenti (« Apprenticeship ») serait une très bonne manière de développer une excellence technique. Mais ce n’est peut-être pas réaliste considérant notre industrie.
  • Un modèle plus réaliste est peut-être d’instaurer des micro-certifications (« badges ») au sein de vos entreprises.
  • Comme professionnel, il est important de prendre soin de ses outils (autant technologique qu’humain). Il faut les garder propres, à jour et bien aiguisés.

Détails

Modèle de l’apprenti (« Apprenticeship » )

  • La meilleure manière d’apprendre est en le faisant
  • Beaucoup d’autres domaines ont un programme où l’apprenti devient graduellement un compagnon et peut-être un maître (ex.: électriciens, plombiers, médecins …).
  • C’est un peu la même idée que dans les arts martiaux (ceintures)
    Au début dans les arts martiaux, vous n’apprendrez que des mouvements. Puis vous comprendrez plus tard que ces réflexes sont essentiels pour pratiquer l’art.
  • Le mentor doit donner l’exemple!
  • Une fois à ce niveau, le mentor apprend en enseignant.

En résumé: Un apprenti sait qu’il existe des Design Patterns et les connaît, car c’est ce que sa formation lui a donné. Mais c’est au contact avec des maîtres, en les appliquant au quotidien, en pratiquant, qu’il les maîtrisera au point de ne plus savoir pourquoi il faut l’utiliser dans ce contexte précis.

Les Micro-Certifications

  • Selon le présentateur, il est probablement irréaliste d’avoir un programme d’apprenti (« apprenticeship ») dans notre domaine à cause de la réalité de l’industrie.
  • Une alternative serait d’avoir des micro-certifications. Attention: on ne parle pas de certification de produits, mais de pratiques.
  • Les niveaux vont de débutant à expert. Mais vous n’avez pas besoin d’avoir plus que, disons, 5% d’experts.
  • Il est probablement irréaliste à court terme de penser que l’on peut créer cela à une échelle internationale. Par contre, pourquoi ne pas débuter au sein de votre organisation?

Caractéristiques clés d’un bon « Carftman »
(selon le présentateur)

  • TDD (le vrai…)
  • Intégration continue (vraiment continue…)
  • Tests d’acceptation automatisés en continu
  • Livraison continue / DevOps

Observations du présentateur en vrac

  • Red-Green-Refactor (TDD… Real TDD) est dans notre ADN
  • Les développeurs adorent créer et fabriquer
  • Souvent on oublie l’importance de commencer par faire les choses à la main avant d’utiliser des outils ou des « framework » déjà faits. Cela permet d’apprendre leur raison d’être, limitations et le bonnes pratiques associées.

Entretenir ses outils

Un bon professionnel entretient ses outils. Il les garde propres, les aiguise, etc. Il se tient aussi informé des nouveaux outils et façons de faire.

Pensons à un professionnel de la construction, normalement, il garde ses outils bien rangés pour les retrouver et ne pas perdre de temps. Il va aussi s’informer pour connaître les nouvelles techniques lui permettant de sauver du temps, mais aussi de mieux construire (plus étanche, plus durable …).

Divers

Suggestion de lecture: The secrets of consulting

Pour ceux que se le demande: Oui! VersionOne font du TDD à l’interne selon ce qu’il a dit.