Software Craftsmanship

Software Craftsmanship

Un test peut en cacher un autre – Un peu de théorie

Introduction En discutant avec des développeurs, je remarque plusieurs choses : Nos approches sur l’architecture applicative du code sont différentes Les définitions que nous donnons aux catégories de tests sont différentes Les façons de rédiger les tests sont différentes Sans généraliser, je pense qu'il est parfois difficile dans ce contexte d'identifier précisément quoi tester et comment. Être au clair sur ces trois points me semble important et permet de me faciliter la vie et d'être plus confiant au quotidien, laissant beaucoup moins de place à…

Lire la suite
Software Craftsmanship

Meriem Berkane, CTO : “Le Tech Lead est l’incarnation de nos valeurs et le garant de la vision technique d’OCTO.”

Chez OCTO depuis plus de 10 ans , Meriem fait partie des personnes fondatrices de l’entreprise. Ancienne leadeuse de la tribu Nouvelles Architectures de Données, elle est désormais CTO et participe à la définition de la vision stratégique et technique d’OCTO. Qui de mieux pour nous parler du “tech leading à la OCTO” ?

Lire la suite
Software Craftsmanship

Interview Céline Gilet – « Le Tech Lead n’est pas un super héros ! »

Depuis plus de 4 ans chez OCTO, Céline, membre de la tribu CRAFT, est devenue une référence parmi nos Tech Lead. Découvrez sa vision de ce rôle à part. Pour toi, quel est le rôle du Tech Lead ?  Pour moi, c’est faire en sorte que l’équipe au sens large (Développeurs, Ops, Fonctionnels, Product Owner) arrive à délivrer régulièrement de la valeur. Concrètement, il s’agit de jongler et prioriser en permanence entre plusieurs casquettes : expertise, accompagnement, coaching et formation.

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

Vos tests d’infrastructure de bout-en-bout avec Kitchen

Au cours de précédents articles, nous vous avons introduit le Test Driven Development sur du code d’infrastructure avec des outils tels que Molecule ou Terratest. Dans cet article, nous vous présenterons Kitchen-CI, un outil qui permet, avec l’aide de bibliothèques de test comme InSpec ou ServerSpec, de tester les différentes briques de son infrastructure. Kitchen Kitchen-CI (de son vrai nom) est un outil écrit en Ruby par les développeurs de Chef. À l’aide de plugins spécifiques, il permet d’effectuer des tests pour vérifier la conformité…

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

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