Software Craftsmanship

Software Craftsmanship

« Dette Technique » et procédés en conflit

Dans mon précédent article, je me proposais de bannir le terme "Dette Technique" de mon vocabulaire de travail lorsque celui-ci n'est pas utilisé dans son acception initiale : [Contracter une Dette Technique] : procédé (heuristic) dans lequel on contrevient temporairement à l'état de l'art du projet afin de réaliser un objectif intermédiaire prioritaire. mais dans cette acception, devenue générale dans notre industrie et au delà : La Dette Technique : état général d'une solution jugée non conforme à l'état de l'art minimal communément admis dans…

Lire la suite
Software Craftsmanship

En finir avec la « dette technique »

The First Law of Technology Transfer: Long-range good tends to be sacrificed to short-range good. The Second Law of Technology Transfer: Short-range feasibility tends to be sacrificed to long-range perfection. Jerry Weinberg - Quality Software Management (Dans toute cette discussion, le terme : procédé (heuristic) fait référence à une méthode utilisée dans un contexte donné, sans garantie de résultat, pouvant contredire d'autres procédés, qui permet de réduire le temps de recherche d'une solution, et dont l'acceptation dépend du contexte d'utilisation et non d'un standard absolu.…

Lire la suite
Software Craftsmanship

Transmettre la culture de la qualité logicielle : l’exemple du webcenter d’AXA

Produire du code de qualité est une question de culture et de savoir-faire spécifiques. Ce fait est souvent sous-estimé dans les organisations. Pourtant la non-qualité du code produit des effets bien visibles : désengagement des développeurs, time to market plus long, fonctionnalités dans les applications plus difficiles à ajouter ou à faire évoluer, risques d'indisponibilité de l’application... Comment dans ces conditions créer au niveau des équipes comme de l’entreprise tout entière une véritable culture de la qualité autour du code ? Retour d’expérience avec Antoine…

Lire la suite
Software Craftsmanship

Sortir de la consanguinité logicielle

Depuis plusieurs années que je suis consultant chez OCTO, j’ai eu plusieurs fois l’occasion d’auditer le fonctionnement d’équipes de développement, que ce soit pour des audits internes ou des due diligences techniques. Dans ce contexte,  j'ai pu constater un comportement récurrent dans de nombreuses entreprises, notamment chez les startups numériques.

Lire la suite
Software Craftsmanship

Démarrer un projet plus vite que l’UDD

De nos jours, il n'est plus besoin de vanter les mérites d'une usine de développement (UDD) au sein d'un projet. La systématisation des tâches de vérification (compilation, standards de code, tests unitaires, etc.) aide grandement à repérer rapidement les problèmes de qualité. Cependant, il peut arriver en début de projet que celle-ci se laisse désirer et qu'il faille commencer les développements en son absence. Voyons donc comment assurer un minimum des bienfaits de la systématisation dès le lancement de projet. Dépôt Git Si vous développez…

Lire la suite
Software Craftsmanship

A la recherche de pratiques robustes : User Story

(Dans cette série d'articles, nous nous inspirons de la Via Negativa pour partir à la recherche de pratiques robustes, basées sur des connaissances négatives, et dont le principe est d'identifier rapidement et avec certitude ce qui ne fonctionne pas, afin de construire un système plus solide.) Scénario Utilisateur : Ce que ça n'est pas Le terme user story est devenu si répandu qu'il y a lieu de soupçonner une récupération en masse plutôt qu'une assimilation du pattern. Afin d'éliminer d'entrée la confusion avec certaines altérations,…

Lire la suite
Software Craftsmanship

Via Negativa — à la recherche de pratiques robustes

Tests, Bugs, et Preuves de programme… Dans son livre, Antifragile, N.N. Taleb introduit la notion de via negativa, qu’il emprunte à la théologie classique, afin d’expliquer la robustesse d’un savoir formé par négation : nous avons une connaissance bien plus solide de ce qui n’est pas vrai, (de ce qui ne fonctionne pas), que de ce qui est vrai (ou fonctionne) : So the central tenet of the epistemology I advocate is as follows: we know a lot more what is wrong than what is…

Lire la suite
Software Craftsmanship

Pair programming ou comment partager

A travers les yeux d’un nouveau développeur, découvrir comment le pair programming permet de créer un binôme plus performant que la somme des deux individus qui le compose.   La genèse   J’ai fait mes premiers pas en informatique dans le rôle de chef de projet. Pour apprendre ce métier j’ai pu avoir des cours théoriques à l’université, en intégrant les bases du cycle en V. Puis en entreprise quelques jours de formation pour avoir des notions d’agilité via Scrum. Ensuite on m’a mis seul…

Lire la suite