WeBlog
  • Culture agile
    • Méthodes agiles
    • Métiers et expertises
    • Créativité et idéation
  • Management et Organisation
    • Leadership
    • Collaboration d’équipe
    • Transformation et Changement
  • Tech et Digital
    • Intelligence Artificielle
    • DevOps et Craftsmanship
    • Expérience utilisateur et Digital Delivery
    • Data et Cybersécurité
    • Architecture et Technologies
  • Monde du Travail
    • Bien être au travail
    • Carrière
  • FR
Pas de résultat
Voir tout les résultats
Discover Wemanity
WeBlog
  • Culture agile
    • Méthodes agiles
    • Métiers et expertises
    • Créativité et idéation
  • Management et Organisation
    • Leadership
    • Collaboration d’équipe
    • Transformation et Changement
  • Tech et Digital
    • Intelligence Artificielle
    • DevOps et Craftsmanship
    • Expérience utilisateur et Digital Delivery
    • Data et Cybersécurité
    • Architecture et Technologies
  • Monde du Travail
    • Bien être au travail
    • Carrière
  • FR
Pas de résultat
Voir tout les résultats
Discover Wemanity
WeBlog

Software Craftsmanship : quand la qualité complète la fonctionnalité

Par François Lecomte
08/2018
dans Tech et Digital
Software Craftmanship

Inspiré d’Agile, mais pas seulement, le Software Craftsmanship redéfinit le rôle du développeur pour répondre aux contraintes modernes des entreprises. Développer un logiciel de qualité nécessite non seulement le recours à des développeurs compétents, mais qui, de plus, aiment leur travail, y trouvent un sens et cherchent continuellement à progresser. François Lecomte, Développeur & Tech Community Energizer chez Wemanity, nous détaille sa génèse et ses principes fondamentaux.

1. Que recouvre le concept de « Software Craftsmanship » ? Quand est-il apparu ? Et pourquoi ?

F.L. : Le métier de développeur informatique a énormément évolué ces dernières années. La digitalisation des entreprises est bien sûr l’un des moteurs de cette évolution : le rythme d’apparition des nouvelles technologies ne cesse de s’accélérer, comme leur cycle d’obsolescence, et les entreprises exigent des délais de développement plus en phase avec le rythme d’évolution des marchés. Fini le temps où un projet informatique s’échelonnait sur plusieurs mois ou années, place à l’Agilité.

Si le 20e siècle fut celui de l’industrie, le 21e est celui de l’information. Aux grandes puissances industrielles – pétrole, automobile, armement, … – succèdent des entreprises dont l’activité repose sur la maîtrise de l’information, telles Google ou Facebook. Le monde industriel était caractérisé par la notion de réplication, portée aux nues par le Fordisme et le Taylorisme : un même produit était répliqué à des millions d’exemplaires et plus on produisait, plus la puissance de l’entreprise était importante. Au 21e siècle, le paradigme évolue. L’information est reine et si la réplication est synonyme de perte de valeur (du fait de l’évolution des modes de consommation), la personnalisation est le nouveau Graal. Les modes de fonctionnement évoluent vers plus d’échanges, de collaboration et d’analyse d’informations.

Le Software Craftsmanship est apparu après l’Agile, aux alentours de 2008. Il fait référence à la notion d’« artisanat » et donc de qualité des développements et s’inspire également de valeurs qu’on retrouve dans les arts martiaux, notamment humilité, respect et partage. Alors que les quatre valeurs de l’Agilité – expérimentation, collaboration, adaptation et interaction – se concentrent sur la souplesse des cycles de développement et ciblent tous les métiers, le Software Craftsmanship privilégie l’interaction et s’adresse exclusivement aux développeurs informatiques. Le Manifeste du Software Craftsmanship reprend les valeurs d’Agile, en les poussant un cran plus loin :

  • Pas seulement des logiciels opérationnels, mais aussi des logiciels bien conçus.
  • Pas seulement l’adaptation aux changements, mais aussi l’ajout constant de valeur
  • Pas seulement les individus et leurs interactions, mais aussi une communauté professionnelle.
  • Pas seulement la collaboration avec les clients, mais aussi des partenariats productifs

2. Comment appliquer ces concepts concrètement ?

F.L. : L’approche s’appuie sur 5 fondements principaux :

– Un vrai focus sur la qualité : on n’écrit plus du code juste pour répondre à un besoin, on se soucie également d’atteindre un haut niveau de qualité, correspondant à des standards ou des normes partagées, qui amélioreront considérablement la durée de vie du logiciel. Non seulement le nombre de bugs sera très réduit, mais il sera également plus simple et rapide pour les développeurs d’opérer des modifications.

–  Humilité : il est essentiel de savoir se remettre en question régulièrement. Pour cela, il convient de prendre en compte le feedback des utilisateurs et de ses pairs, et de s’inscrire dans un cercle vertueux d’amélioration continue.

– Partage : chaque développeur doit admettre qu’il n’est pas expert en tout ! Le Software Craftsman aime partager ses développements pour recueillir des avis « extérieurs » et s’intéresser à ce que font les autres pour s’enrichir. Ici intervient la notion fondamentale de « collective ownership » : le code n’appartient à personne, c’est un bien commun qu’il convient de veiller à ne pas dégrader. Lorsqu’on n’est pas d’accord, on discute pour trouver des compromis.

– Pragmatisme : les projets ont des contraintes (budget, temps) qu’il convient de prendre en compte en s’efforçant de trouver des solutions simples et d’offrir de la souplesse.

– Professionnalisme : le client est un partenaire. Il a le droit de se tromper, de changer d’avis, de ne pas être disponible et bien sûr, de critiquer. Il revient au développeur de proposer des solutions alternatives. La notion d’individualité disparaît au profit de l’équipe et rien n’est jamais parfait.

Donc, les deux principales valeurs sont la qualité et l’interaction ?

F.L. : Exactement. On le voit, la démarche est entièrement centrée sur la qualité. D’où la référence à l’artisan qui crée un produit unique, à la différence de l’industriel qui réplique un même produit en grande quantité. Cette notion de qualité est au cœur de l’ouvrage « The Clean Code » de Robert C. Martin, qui présente les bonnes pratiques de développement logiciel et explique comment qualifier la qualité d’un code informatique. On remarque que les tests deviennent une composante essentielle du processus de développement. On ne teste plus à la fin du projet, mais on s’affranchit de la phase de spécifications en rédigeant les tests avant le code (approches « Test First » et « Test-driven development»), ce qui offre d’importants gains de temps et de qualité.

Parallèlement, le Software Craftsmanship met en relief la notion de communauté. Un développeur ne travaille pas seul. Il commence sa journée par un point rapide (« stand-up ») où il échange avec les autres membres de l’équipe et les partenaires, pour s’assurer que les tâches de chacun s’inscrivent toujours dans les objectifs qui ont été fixés. Au final, il ne consacre à l’écriture du code que 10 % de son temps, alors qu’il en dédie 50 % à la lecture du code et 40 % aux échanges, au partage et à la synchronisation avec l’équipe. Il est, en réalité, beaucoup plus ouvert que les codeurs d’antan : l’interaction (avec l’équipe, mais également avec l’extérieur, via les réseaux sociaux et les forums) devient un prérequis.

3. Pourquoi le Software Craftsmanship est un passage obligé aujourd’hui ?  

F.L. : Le monde change. 80 % des entreprises actuelles auront certainement disparu dans les cinquante prochaines années. Les entreprises ont besoin de se transformer, et pas uniquement au niveau de leur maîtrise des nouvelles technologies, mais également et surtout en interne, au niveau de leurs processus, de leur culture et de leur organisation, en encourageant l’Agilité.

Ce qui n’induit pas que le rôle des développeurs informatiques soit négligé… bien au contraire. Et ici, le bien-être et la qualité de vie au travail prennent toute leur importance. On ne raisonne plus en termes d’heures de présence, mais de résultats. Les entreprises doivent comprendre que les développeurs qui maîtrisent les toutes dernières technologies sont conscients à la fois de leur valeur et de leur rareté. La pénurie de profils technologiques pointus augmente tous les ans (40 000 postes de développeurs ne sont pas pourvus en France et plus d’un million dans le monde) et ils le savent. Au-delà d’améliorer drastiquement la qualité des développements, le Software Craftsmanship offre aux développeurs de l’autonomie et du sens, tout en s’inscrivant dans une démarche communautaire. C’est un moyen de progresser continuellement et indirectement de les fidéliser.

Plus un état d’esprit qu’une méthodologie formelle, le Software Craftsmanship s’enracine peu à peu dans les équipes de développement, car il concilie une exigence de qualité qui permet de répondre précisément et rapidement aux besoins des clients, avec un objectif d’amélioration continue des compétences des développeurs. Satisfaction garantie à la clé, à la fois pour les clients et les développeurs !

Pour aller plus loin :

Tout ce que avez toujours voulu savoir sur le Software Crafstmanship, c’est ici.


En résumé :

Le Software Craftsmanship, c’est quoi ?

Le Software Craftsmanship est apparu après l’Agile, aux alentours de 2008. Il fait référence à la notion d’« artisanat » et donc de qualité des développements et s’inspire également de valeurs qu’on retrouve dans les arts martiaux, notamment humilité, respect et partage.

Quels sont les principes du Software Craftsmanship?

Le Manifeste du Software Craftsmanship reprend les valeurs d’Agile, en les poussant un cran plus loin :
– Pas seulement des logiciels opérationnels, mais aussi des logiciels bien conçus.
– Pas seulement l’adaptation aux changements, mais aussi l’ajout constant de valeur.
– Pas seulement les individus et leurs interactions, mais aussi une communauté professionnelle.
– Pas seulement la collaboration avec les clients, mais aussi des partenariats productifs

Quels sont les fondements du Software Craftsmanship?

Focus sur la qualité, humilité, partage, pragmatisme et professionnalisme.

François Lecomte

François Lecomte

Développeur, Tech Coach et Leader de WeSquad, Francois Lecomte est aussi un entrepreneur, passionné par l'innovation et la technologie. Il est désireux d'aider les équipes informatiques des startups et des entreprises à produire plus rapidement et plus efficacement.

Pour aller plus loin

un robot et une main qui se touche
Tech et Digital

L’IA vs. le jugement humain : trouver le bon équilibre

L’intelligence artificielle (IA) prend une place grandissante dans de nombreux domaines, comme la finance ou la santé. Cela soulève une...

Il y a 3 semaines
Une IA et une blockchain
Tech et Digital

L’interaction clé entre blockchain et IA : Une alliance révolutionnaire

L’intelligence artificielle et la blockchain transforment ensemble le paysage technologique. Leur synergie repose sur une relation mutuelle : l’IA rend...

Il y a 4 semaines
Une main humaine et un robot se touchent
Tech et Digital

Construire une culture prête pour l’IA

Le changement peut être intimidant, surtout lorsqu'il s'agit d'un saut technologique important. Je me souviens du jour où mon père...

Il y a 4 semaines
Un homme et une IA travaillant ensemble sur un ordinateur
Tech et Digital

IA générative : la révolution du travail au-delà de l’automatisation

L'IA générative est sur le point de redéfinir le concept même de travail. L’IA est souvent vue comme un simple...

Il y a 4 semaines

On vous recommande

Méthode Kanban : Définition, Nos Explications | Wemanity

Méthode Kanban : définition et application concrète

octobre 13, 2021
Comment replacer les enjeux sociétaux au cœur de l’entreprise ?

Comment replacer les enjeux sociétaux au cœur de l’entreprise ?

octobre 30, 2018
Contener gestion DATA

La gouvernance Data au service de l’usage éthique des données en entreprise : une méthode proposée par Wewyse

mars 22, 2023
Le growth hacking est mort ? Vive le growth marketing !

Le growth hacking est mort ? Vive le growth marketing !

novembre 24, 2021

Catégories

  • Culture agile
  • Management et Organisation
  • Monde du Travail
  • Tech et Digital
Powered by Wemanity logo

Catégories

  • Culture agile
  • Management et Organisation
  • Monde du Travail
  • Tech et Digital

Join our community and receive our newsletter.

Rejoignez notre communauté et recevez nos dernières actus.

Sluit je aan bij onze community en verkrijg onze newsletter.

Pas de résultat
Voir tout les résultats
  • Culture agile
    • Méthodes agiles
    • Métiers et expertises
    • Créativité et idéation
  • Management et Organisation
    • Leadership
    • Collaboration d’équipe
    • Transformation et Changement
  • Tech et Digital
    • Intelligence Artificielle
    • DevOps et Craftsmanship
    • Expérience utilisateur et Digital Delivery
    • Data et Cybersécurité
    • Architecture et Technologies
  • Monde du Travail
    • Bien être au travail
    • Carrière
  • FR