Devoxx 2023 – Le craft : des concepts au déploiement à l’échelle

Informations

Abstract

Présenté par Matthieu VINCENT DevSecOps, et Guillaume LE DAIN développeur, tous deux à Sopra Steria.

Introduction

Cette conférence avait pour but de partager comment Matthieu et Guillaume, ont réussi à mettre de leur côté leur hiérarchie afin de valoriser le Craft.

On commence par les bases du Craft, en expliquant comment c’était conçu en réponse à quelles problématiques.
On voit un rappel sur les 3 principales méthodologies de travail qui ont existé dans la communauté du développement logiciel :

  • Le cycle en V smiley_vomi,
  • L’agilité,
  • Et le Craft.

Rien que sur l’introduction, j’ai noté quelques petites choses :

  • La fatigue d’absolument tout genrer au masculin en instant, et encore plus que de raison (c.-à-d. que rares ont été les conférences inclusives, mais là fiou…). Arrêtez de dire CraftsMANship les mecs. Vos valeurs de code n’ont rien à voir avec votre genre. On en reparle après.
  • Une incohérence en parlant de pertinence de tests, pour ensuite vendre le TDD (Test Driven Developpement).

Rassembler

En créant une communauté entièrement tech en interne, pour rassembler les personnes et les connaissances : Tech’Me Up (NP : Votre mascotte est en effet très mignonne, j’en ai trois stickers du coup). Avec pour objectif de professionnaliser le développement : « Développons ensemble une culture d’excellence tech reconnue de tous et au service de nos clients ». (NP : Qualificatifs utilisés masculins, + du full masculin encore).

La méthode des 4 S

Factuellement, la mise en place du Craft à l’échelle projet, comment ça se traduit ?

  • Session Refresh / Entraide
    • Périmètre : Échanges sur des sujets ou diffucltés rencontrés par l’équipe au quotidien.
    • Modalité : Session de travail avec des labos inter-équipe,
    • Fréquence : Hebdomadaire
  • Smart Refresh / Appui
    • Périmètre : Veille Nouvelles technologies, REX, etc…
    • Modalité : Magasine, newsletter, blog, webinaire, etc…
    • Fréquence : Mensuelle
  • Skill Refresh / Tutorat
    • Périmètre : Katas ou exercices de code, permettant de perfectionner ses compétences à travers la pratique et la répétition,
    • Modalité : Coding Dojo, Mob programming, etc…
    • Fréquence : Bi-mensuelle
  • Squad Refresh / Responsabilisation
    • Périmètre : Technologies utilisées et à déployer sur le projet,
    • Modalité : Référant technique qui tourne sur chaque technologie,
    • Fréquence : PI ou Trimestriel

Pour la mise en place à l’échelle

Étape 1 : Les RH

« Développer les compétences individuelles et collectives pour adresser les nouveaux métiers, fidéliser nos collaborateurs, intéresser nos potentiels futurs collaborateurs. »

NP : Pas de femmes à Sopra, on avait déjà compris (oui j’vais être chiante, ce n’est pas grave, j’vais être aussi lourde que ça l’a été d’écouter tout au masculin).

Une plateforme de formation interne a été mise en place, avec des formations en ligne et des formations en présentiel qui sont données par des personnes expertes au sein de Sopra Steria.

On observe sur la slide la fiche correspondant à l’expert technique de Niveau 3. (NP : On peut pas être experte à Sopra).

  • On y voit des Tech skills avec une notation sur 4 (La stack tech principale, DevSecOps, Admin Sys, etc…),
  • Une rubrique sur l’éducation (Certifications et conférences dédiées à la technologie),
  • Un verbatim censé représenter comment la personne doit se percevoir (« Je suis expert dans une ou plusieurs technologies et suis les évolutions de son écosystème et du marché. J’aime avoir un coup d’avance, ce qui me permet d’anticiper les évolutions. Je suis un ambassadeur reconnu : je partage mon savoir en interne et en externe, je promeus notre expertise auprès de nos clients. ») (NP : vous me voyez venir sur le masculin hein),
  • Ensuite une liste d’attendus supplémentaire, sur différents axes, les avants-ventes, l’accompagnement clientèle, intervention complexes, etc…,
  • Pour finir, des axes d’évolution vers le niveau supérieur.

Je m’interroge sur le niveau de détail des tâches à réaliser, si ceux-ci sont bien plus explicites, afin que leur validation ou refus soit factuel, et ne se fasse pas à la tête.

Mis à part ça, de l’extérieur en tout cas, ce qui a été présenté est intéressant et est une bonne chose pour permettre aux équipes de toujours évoluer et monter en compétence.

Accompagnement de carrière avec un ‘Carriere framework’ (hé comme à theTribe, même si pas d’information si ça impact le salaire).

Sur celle-ci, on retrouve 4 grandes thématiques :

  • L’expertise métier :
    • DDD (Domain Driven Design),
    • Microservices et conception,
    • Cursus Tremplin SB3 >>,
    • Solution Builder experiences Architecte Solution,
    • Cursus Craftsmanship Solution Building, (NP : J’ai dit quoi sur CraftsMANship),
    • DEP Technical Leader/Architect.
  • Les outils et méthodes :
    • Méthodes Agile / Scrum Master,
    • Numérique durable et éco-conception (hé celui-ci, on aime),
    • Parcours Application Security >>.
  • Cloud et DevOps :
    • Parcours certifiant sur Microsoft Azure – Les fondamentaux,
    • Parcours certifiants sur AWS – STFP : Cloud Practitioner Essentiels,
    • Parcours sur Google Cloud – Google Cloud Fundamentals : Core Infrastructure,
    • DevOps.
  • Technologies :
    • Java && Javascript,
    • Bases de données, Data, Intelligence artificielle, Cloud et DevOps.
  • Parcours de formation à jour, que ce soit côté technique, mais aussi côté manager,
  • Permet également le mentorat

Argumentaires pour vendre vos bonnes pratiques :

  • Pair programming :
    • Onboarding projet,
    • Apprentissage par l’action,
    • Concentration maximisée en travaillant à deux,
    • (Normalement) moins de stress,
    • Réflexion plus intense
    • Réduction du bus factor.
  • TDD (La majorité des arguments qui arrivent, n’étaient pas mentionnés, c’est du plus) :
    • C’est une méthode de développement et non une stratégie de tests,
    • Le code est conçu pour être testé et est donc testable,
    • Le produit a des tests assurés sans biais (car on vérifie qu’ils échouent avant de produire notre code),
    • On s’assure la non-régression lorsque nous ajoutons de nouvelles fonctionnalités,
    • Le code produit est instantanément refactorisé, ainsi, il est optimisé pendant la phase de développement,
    • Les tests sur le code font également offices de documentation, et rendent l’onboarding sur un projet plus facile et efficient, ainsi que la récupération du code par un.e autre dev,
  • L’ensemble des bonnes pratiques (concepts SOLID, Clean Code, TDD, etc…) :
  • Rendent le code de meilleure qualité,
  • Permettent au code d’être plus maintenable,
  • Répondent aux enjeux de passation de savoirs sur un projet,
  • Permettent l’amélioration continue, à l’échelle d’un projet mais globale également sur l’ensemble des équipes,
  • Permettent également d’harmoniser les compétences techniques en les montant, au global de l’entreprise.

NP : Tous ces arguments sont inutiles sans comprendre les besoins de votre hiérarchie, ou de votre clientèle. Si ces arguments n’engendrent pas d’avantages, ou ne résolvent aucune problématique connue, ils ne servent à rien.

Concentrons-nous d’abord sur les besoins avant de lâcher des argumentaires qui ne seront pas écoutés, car ils ne répondront à aucune problématique.

Étape 2 : L’opérationnel

« Développer et maitriser notre expertise et nos méthodes de travail pour répondre aux enjeux de qualité, de sécurité et de maintenabilité de nos clients et de leurs plateformes. Proposer un environnement de travail épanouissant et moderne. »

  • Mise en place d’un parcours Craft, (NP : Celui-ci est sûr… 6 jours, et ça, ça m’interroge fortement) :
    • Jour 1 : Fondamentaux du TDD,
    • Jour 2 : Tests unitaires, clean code, concepts SOLID, couverture de code, doublure de tests,
    • Jour 3 : Architecture hexagonale, clean architecture,
    • Jour 4 : pair et mob programming, task-oriented, git et flows,
    • Jour 5 : Refacto de legacy, rappels clean architecture, et DDD (Domain-driven design),
    • Jour 6 : BDD et ATDD (Acceptance Test Driven Developement), écoles de TDD, communauté et bilan.

NP : Pour 6 jours, avec tous ces sujets, j’ai du mal à y voir de la qualité personnellement, sachant que ces six jours ne sont pas consécutifs, mais pris sur une demi-journée une fois toutes les deux semaines. Je suis assez dubitative sur ce que je perçois de ce parcours, et y mets de grosses réserves.

  • La méthode du craft en 4 S développée plus haut,
  • Des environnements de travail améliorés :
    • Poste de développement boosté,
    • Des licences intelliJ, Docker, etc…, (Bon si votre boite le fait pas ça quand vous en avez besoin, mettez-vous en grève, c’est quoi ça ?),
    • Plateforme de formation interne accessible à toustes (NP : le mot vient de moi, tmtc), et en tout temps,
  • Excellence algorithmique…

Étape 3 : La communication

« Permettre la mise en visibilité de nos experts techniques et de nos savoir-faire en interne et externe. »

  • Valoriser nos experts, nos projets en interne, et en externe,
  • Participer à des conférences en interne et en externe,
  • tech_assembly : 2 fois par an sur 2 jours, conférences en interne avec environ 1000 personnes,
  • Un peu plus de 400 personnes ont pu participer à des conférences externes en 2022,
  • Permets de s’essayer en speaker en interne d’abord.

Des problèmes sur la communication ont été évoqués, en lâchant les bons arguments aux mauvaises personnes. Je vous solutionne cette problématique en une phrase : Vous ne pouvez rien vendre à une personne dont vous ne connaissez pas les besoins. 🙂

Conclusion

On finit avec une dernière slide en inclusif éclaté au sol : je cite « Professionnaliser les dév(eloppeur.se)s. ». Faites semblant de faire un effort au moins en fait.

L’écriture inclusive, c’est une SEULE solution parmi :

  • Des mots épicènes,
  • Les mots au deux genres principaux (le/la),
  • Les mots avec des parenthèses (pardon, mais celui-ci, on peut le bannir, je ne suis pas à foutre entre parenthèse selon mon avis 🙂 ),
  • Les mots avec des points / points médians ou tiret.

Vous avez réalisé zéro effort tout au long de votre conférence, 0, nada, wallou, quetchi, et sur la dernière slide vous vous foutez du monde. Ça laisse un sale gout pour une fin de conférence, qui, dans l’ensemble, était honnête. Ne m’érnevez plus SVP, et faites de réels efforts à l’écrit comme à l’oral.
On dit développeuse et développeur, experte et expert, craftman et craftwoman, crafteur et crafteuse.

Sinon, j’ai apprécié la conférence, même si elle me soulève pas mal d’interrogation sur le contenu réel, le factuel et la qualité de ce qui est réalisé. Mais un REX sur la mise à l’échelle dans une entreprise de la taille de Sopra Steria, ç’a peut avoir de la valeur.

Pour approfondir le sujet

  • Manifeste du Software Craftsmanship, ici. (NP : Seul Guillaume a signé le manifeste)
  • Les bases des méthodes de ventes CAP, CAB.
Voir l’article Devoxx au complet
Retour en haut