Publications de Christophe Thibaut

Software Craftsmanship

La fin de la « dette technique » : du passé ne pas faire table rase

Dans les articles qui précèdent, j'ai exprimé l'idée de remplacer, dans le modèle que nous utilisons lorsque nous parlons de "gérer la dette technique" d'une solution logicielle, le diagnostic : Notre solution est endettée techniquement par l'hypothèse : Notre solution repose sur des procédés en conflit Cette hypothèse permet de répondre plus efficacement au problème de la "dette technique" en ce qu'elle substitue à une métaphore inopérante des outils permettant d'appréhender plus précisément et plus efficacement le problème en question. Le propos n'est pas de…

Lire la suite
Software Craftsmanship

La fin de la « dette technique » : résoudre les conflits

Dans les articles précédents, j'ai essayé d'établir sur la base d'exemples (simples) cette observation : Lorsque nous considérons une solution logicielle existante, nous parlons souvent de la "dette technique" qui caractérise cette solution. Par ce terme, nous voulons pointer un certains nombre de défauts de qualité (de maintenabilité, etc.), qui sont comme autant de manquements à un état de l'art communément admis, lequel reste en fait indéfini et hypothétique. Le terme de “dette technique”, popularisé par Ward Cunningham, désignait initialement un procédé particulier de conception…

Lire la suite
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

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

Prévenir ou guérir ?

Although the crew was aware of ice in the vicinity, they did not reduce the ship's speed, and continued to steam at 22 knots (41 km/h; 25 mph), only 2 knots (3.7 km/h; 2.3 mph) short of her maximum speed of 24 knots (44 km/h; 28 mph).[22][e] Titanic's high speed in waters where ice had been reported was later criticized as reckless, but it reflected standard maritime practice at the time. According to Fifth Officer Harold Lowe, the custom was "to go ahead and depend upon the lookouts in the crow's nest and the watch…

Lire la suite
Software Craftsmanship

Le demi-cercle (épisode 52 — Cathédrale de sable)

- N’empêche, si le code pouvait parler… - Il dirait : « pitié, achève-moi tout de suite » - Sérieusement… Tu te demandes comment Hugo et Jérémie peuvent continuer de se concentrer sur le code de l’application alors que la rumeur court depuis quelques heures, que ce code, et tout le projet, partiront bientôt en infogérance. Est-ce qu’il ne vaudrait pas mieux se concentrer sur autre chose ? La documentation ! Qu’est-ce que je fais ensuite ? Pourquoi est-ce qu’on en est là ? Jérémie…

Lire la suite