Le Software Craftsmanship représente la meilleure démarche de développement pour répondre aux enjeux de qualité
Une démarche Software Craftsmanship, aussi nommée artisanat du logiciel, permet de mieux maîtriser les contraintes techniques et de qualité de cette transformation. Extension du manifeste Agile, elle a pour but de professionnaliser le métier du développement au travers du concept d’artisanat, en mettant en avant un savoir-faire particulier et un haut niveau de qualité. Le mouvement Software Craftsmanship connait aujourd’hui un fort engouement, dans le monde de l’IT. Il répond en effet aux dérives de l’industrie du logiciel, dont la tendance est à l’externalisation et aux préoccupations financières plutôt qu’à la responsabilisation des développeurs.
Une démarche Crafts qui doit favoriser l’amélioration continue
Nous pensons que la méthode Software Craftsmanship ne s’arrête pas à vous délivrer les bons principes et pratiques pour coder, nous poussons la démarche jusqu’à l’amélioration continue afin de faire évoluer votre culture du développement logiciel. C’est ainsi que vous pouvez remettre en question votre façon de travailler au quotidien et de grandir. Il faut amener vos équipes et vos développeurs à se poser les bonnes questions et évoluer de façon autonome.
À nos yeux, un savoir-être particulier et le partage de certaines valeurs sont de véritables prérequis à la réussite de la mise en place de cette démarche exigeante. Les 4 valeurs annoncées par le manifeste craftsmanship sont les suivantes :
Pas seulement des logiciels opérationnels, mais aussi des logiciels bien conçus.
Valeurs
Pas seulement l’adaptation aux changements, mais aussi l’ajout constant de valeur.
Communauté
Pas seulement les individus et leurs interactions, mais aussi une communauté professionnelle.
Productivité
Pas seulement la collaboration avec les clients, mais aussi des partenariats productifs.
Nos conseils pour bien débuter votre démarche Software Craftsmanship
Le Software Craftsmanship n’est donc pas uniquement une transformation organisationnelle : les pratiques mises en place pour le développement devront également répondre aux promesses de l’agilité.
Mais pour créer de la valeur, il est nécessaire de se départir du schéma classique de développement où le développeur – voire le « codeur » – est cantonné dans un rôle de simple exécutant. Les artisans développeurs partagent une culture et un « esprit Craft ». C’est à cette condition que la mise en œuvre du software craftsmanship pourra être pleinement efficiente, et apporter un ROI rapide et facilement mesurable.
Il ne suffit pas qu’un logiciel soit fonctionnel, il faut qu’il soit bien conçu.
Nos offres pour réussir votre transition
vers le Software Craftsmanship
Pour initier concrètement cette approche Software Craftsmanship, nous mettons en place un coaching adressé aux équipes techniques, dans le prolongement de l’agilité. Nous pouvons également mettre en place un accompagnement au changement pour faire adhérer à cette démarche qualité.
L’accompagnement opérationnel est également un volet essentiel pour réussir à implanter cette démarche dans votre entreprise. Notre Coach Craft acculture et accompagne la transformation de votre delivery autour de la démarche Crafts, le Lead Craft impulse et anime la démarche Crafts au sein des équipes et le Dev Craft amène des bonnes pratiques de qualité pour développer dans le respect des exigences de cette démarche.
Pour accompagner au quotidien l’évolution des pratiques des équipes de développement, nous proposons également plusieurs ateliers que nous adaptons en fonction des contextes et des User Stories à travailler par l’équipe. En plus des thèmes clés comme le pair programming et mob programming, le TDD, le Clean Code, nous animons aussi des sessions sur l’Event Storming, L’Example Mapping, le Crappy Dev, Le Contract Testing et l’Arrange-Act-Assert.
1. Initier, acculturer et former
Inside propose un programme d’initialisation de la démarche Crafts ainsi qu’un catalogue de formation :
Vérification des prérequis Agile
Évangélisation de la direction IT
Définition des modalités d’accompagnement adaptées
Formation TDD (Test Driven Development)
Formation Clean Code
2. Coacher et transformer votre Delivery
Nous coachons vos équipes et mettons en place un développement accompagné :
Maintenir la productivité : garantir aux équipes une vélocité constante sur leurs sprints tout en absorbant les concepts Crafts
Industrialiser, capitaliser et unifier sur tous les projets, les pratiques de coaching délivrées par les équipes
Nos atouts :
Des kits pour organiser des ateliers Agile / DevOps
Un guide du coaching Craft
Des katas de code
3. Accompagner et animer votre service informatique
Notre équipe de Leads Crafts et notre communauté Inside, accompagnent en continue vos équipes jusqu’à ce qu’elles soient autonomes :
Mesurer l’évolution de la maturité de l’équipe
Animer des ateliers d’appropriation (TDD, Clean Code, Pair Programming…)
Réduire le temps de coaching pour laisser l’équipe autonome
Maintenir des points de passage réguliers afin de s’assurer que les fondamentaux sont encrés
Nous pouvons également mettre à disposition nos Insiders développeurs Craft au sein de votre entreprise.
Vous souhaitez échanger avec nos experts autour de la démarche software craftsmanship, c’est par ici !
Nos publications développement et digital
Notre sélection d'articles autour du Craftsmanship et du Clean Code
Qu’est-ce que l’artisanat logiciel ou Software Craftsmanship ?
Le Software Craftsmanship est un mouvement qui incarne une quête d’excellence dans le développement logiciel, privilégiant la qualité, la fiabilité des applications et une approche collaborative. Ce mouvement cultive l’art du code « propre » et maintenable, en mettant l’accent sur le partage des connaissances et l’entraide.
Ce mouvement est apparu à la suite de la publication en 2021 de l’ouvrage de Pete McBreen, « Software Craftsmanship ». Il s’est ensuite accéléré en 2008, en résonance avec les valeurs de l’Agilité, et en particulier la 5ème édition du livre Le Manifeste Agile.
Quelle est la différence entre le software engineering et le Software Craftsmanship ?
Chez Inside, nous percevons le software engineering comme une approche ayant pour objectif de créer des logiciels robustes et performants, en s’appuyant sur des processus établis et des composants standards pour structurer le développement. Le Software Craftsmanship, quant à lui, privilégie la qualité du code en valorisant une culture d’amélioration et de transmission du savoir ainsi que les compétences du développeur et l’interaction continue.
Quels sont les autres concepts au cœur de ces enjeux de qualité du code ?
Le professionnalisme : #eXtreme Programming (XP)
Délivrer régulièrement de la valeur : #Agilité
Programmation en binôme : #Pair programming
Amélioration continue # Refactoring & clean code
Intégrer, tester, packager : #Intégration continue
Collaborer & automatiser : #DevOps
Test avant code : #Test driven development
Cartographie des processus : #Event storming
Qualité des User Stories : #Example Mapping
Démarche de tests complexes : #Contract Testing
Structuration des tests unitaires : #Arrange-Act-Assert