"Partageons ce qui nous départage", nous souhaitons diffuser régulièrement à l'extérieur d'OCTO les pratiques qui nous permettent de nous améliorer au quotidien.
Si les BOFs constituent l'événement principal pour partager nos retours d'expérience, on voit aussi régulièrement des OCTOs investir une salle de réunion durant la pause de midi pour aborder leur(s) sujet(s) de prédilection, dans le cadre d'un BBL, ou Brown Bag Lunch.
Je vous propose donc un retour sur notre BBL des Artisans Codeurs, qui nous réunit régulièrement sur le thème du mouvement Software Craftsmanship. Ce mouvement vise notamment à remettre en valeur le métier de développeur : nous pensons qu'être développeur est une carrière aussi prestigieuse que celle de chef de projet ou de consultant, et que le développement de logiciel est une activité complexe pour laquelle la qualité n'est pas négociable.
Afin de partager ces valeurs et de permettre aux plus jeunes (et pas que les plus jeunes !) de progresser, il faut donner les moyens de faire cet apprentissage permanent.
La première saison de ce BBL s'achève et c'est l'occasion de résumer ce que nous avons partagé tout au long de cette année. Le concept est simple :
Plusieurs ouvrages font office de référence sur le sujet, autant sur le métier de développeur (The Pragmatic Programmer, Clean Coders, etc.) que sur les techniques de développement (Clean Code, Code Complete, Refactoring, Working Effectively with legacy Code, etc.).
Nous avons choisi Clean Code, A Handbook of Agile Software Craftsmanship. Il s'agit d'un ouvrage collectif dirigé par "Uncle" Bob Martin, qui reprend pas à pas les bases des bonnes pratiques du développements logiciel.
Les sujets abordés (Nommage, Commentaires, Fonctions, Formatage, Gestion des erreurs...) peuvent paraître simples ou classiques, et les pratiques encouragées dans le livre semblent souvent relever du bon sens, mais en prenant le temps de se (re)poser les bonnes questions sur les bases, nous avons appris beaucoup :
Mais d'abord, en quoi ça consiste du code propre ? Bob Martin a posé la question à plusieurs "pointures" du petit monde du développement logiciel et le résume très bien en introduction de son livre, mais nous nous sommes néanmoins prêtés au jeu :
Si on ne devait retenir que quelques idées de ce livre :
Il faut néanmoins savoir rester pragmatique et ne pas essayer d'appliquer à la lettre ces pratiques quelles que soit les circonstances. Il faut donc garder à l'esprit que des enjeux tels que les performances d'une application, ou tout simplement garantir la livraison des fonctionnalités peuvent nécessiter des concessions mineures.
Après une saison riche en rebondissements du BBL Clean Code, il est temps d'enfiler nos blouses et d'entrer dans la salle d'opérations. Opérations à coeur ouvert sur des sujets au bord de l'arrêt cardiaque, débriefing post-opératoire ou encore séances pratiques d'apprentissage, le programme sera riche.
Le but de cette seconde saison du BBL des Artisans Codeurs est de se retrouver pour partager nos pratiques de "Clean Coders" sur des cas concrets.
Plusieurs exercices seront pratiqués :
Du code qui fait mal, ou tout simplement du code à améliorer : on cherchera des pistes d'amélioration tous ensemble et à initier un premier refactoring.
Les bonnes pratiques ont été appliquées sur un projet ? On partage ça, et on challenge le code en essayant de réaliser une mini story fictive.
Pour mesurer le tout : le nombre de WTF / minute, un indicateur empirique idéal !
Se former à de nouveaux langages, une nouvelle API, ou juste trouver la meilleure implémentation d'une problématique, le tout au format Dojo ou en binôme.
Ce format informel est facile à mettre en oeuvre : un seul pré-requis, un minimum d'engagement de la part des participants. Pourquoi pas chez vous ?