Software Craftsmanship

Software Craftsmanship

Le demi-cercle (épisode 47 — Négotiations)

Il est onze heures dix. Tu réprimes un bâillement. Ce n'est pas de l'ennui, pas encore la faim, plutôt de la fatigue. Si tu dormais un peu plus, au lieu de faire le soir ce que tu n'as pas le temps de faire dans la journée, tu ne bâillerais pas à 11h10. Vous êtes tous présents : "L'équipe étendue", comme dit Victor, votre nouveau Product Owner. La réunion de planification s'est quelque peu transformée en session de design. Au tableau blanc, Victor trace à l'aide…

Lire la suite
Software Craftsmanship

Architecture Hexagonale : trois principes et un exemple d’implémentation

Documentée en 2005 dans son blog par Alistair Cockburn, l’Architecture Hexagonale est une architecture logicielle qui a beaucoup d’avantages et connaît depuis 2015 un regain d’intérêt. L’intention originale de l’Architecture Hexagonale est : Allow an application to equally be driven by users, programs, automated test or batch scripts, and to be developed and tested in isolation from its eventual run-time devices and databases. Soit en français : Permettre à une application d’être pilotée aussi bien par des utilisateurs que par des programmes, des tests automatisés…

Lire la suite
Software Craftsmanship

Le demi-cercle (épisode 46 — Télescopage)

… Faced with a choice do both … Use ‘unqualified’ people … Question the heroic approach … Brian Eno / Peter Schmidt — Oblique strategies Le bureau est vide. Les fenêtres sont grandes ouvertes, afin de profiter de la fraîcheur du matin. Ils sont déjà au café. Tu les rejoins au coin café/cuisine. Hugo a ramené des croissants. Farid et Audrey sont occupés à essayer de faire fonctionner la machine à café. Tu demandes : - Vous avez reçu un mail de Maria ? Jérémie,…

Lire la suite
Software Craftsmanship

Le demi-cercle (épisode 45 — Explications)

Neuf heures. Tu relis le mail que Jérémie a envoyé à tout le monde hier soir en vue de la réunion de ce matin. Tu l'imprimes en 10 exemplaires. de : teamxxl à : jb.locronan, m.lazare, m.perez, c.couvreur, l.deronge sujet : post-mortem incident mise en production version VIP Bonjour, Suite à votre demande d'analyse post-mortem de l'incident qui a retardé la mise en production de la version VIP, et après première analyse, nous vous communiquons les faits suivants : L'écran de l'accueil ne s'affiche pas…

Lire la suite
Software Craftsmanship

Le demi-cercle (épisode 44 — Exceptions)

Dans le bus qui te ramène chez toi, tu prends un bonbon acidulé que tu gardais pour après la mise en production. Tu déplies soigneusement le papier jaune translucide et l'aplatis entre la paume de ta main et ta jambe. Tu portes le papier à hauteur d'yeux et tu observes la rue par la fenêtre du bus. Là, tu te comportes comme un idiot. Blip. Tu t'empares de ton smartphone. Il y avait longtemps. C'est Hugo… Il y a moyen que tu me rappelles ?…

Lire la suite
Software Craftsmanship

La pyramide des tests par la pratique (5/5)

Jusqu’à présent, dans les articles précédents (1, 2, 3, 4), nous avons toujours mis en place des tests en isolation, nous fournissant ainsi un feedback précis et fiable - et plus ou moins rapide selon qu’on teste unitairement ou avec des tests de composants (contexte Spring à charger). Mais ces tests ont leurs limites, justement du fait de l’isolation. Dans cet article nous allons traiter des tests qui se trouvent plus haut dans la pyramide: les tests d’intégration et les tests de bout en bout.

Lire la suite
Software Craftsmanship

La pyramide des tests par la pratique (4/5)

Dans le dernier article, nous décrivions les tests de composant, tests mi-unitaires mi-intégration permettant de valider à la fois l’intégration au sein de notre application (injection de dépendances) et aussi avec les composants périphériques. Le tout en restant suffisamment isolés de ces derniers pour limiter les frottements à l’exécution. L’isolation fonctionnant à merveille, le test de client d’API souffre d’un défaut majeur : lorsque le fournisseur change la signature du service, nous en sommes au courant bien trop tard. C’est ce que les tests de…

Lire la suite
Software Craftsmanship

La pyramide des tests par la pratique (2/5)

Dans le précédent article, nous avons abordé la théorie autour de la pyramide des tests : quelle stratégie adopter pour assurer la qualité et la non-régression de notre application pour un coût raisonnable. Nous avons notamment abordé la notion de feedback et l’importance d’avoir des feedbacks rapides, précis et fiables. Les tests unitaires remplissent typiquement ces critères pour un investissement modéré. Au travers de cet article et d’un exemple concret, nous allons détailler la mise en pratique de tests unitaires automatisés et nous tenterons de…

Lire la suite
Software Craftsmanship

La pyramide des tests par la pratique (1/5)

Si vous lisez ce blog ainsi que nos publications, vous n’êtes pas sans savoir à quel point les tests sont indissociables de la qualité logicielle, et j’oserais même dire de la réussite logicielle. J’insiste sur ce point car trop souvent encore chez nos clients, les tests sont la cinquième roue du carrosse lorsqu’il s’agit de développement. Les conséquences, vous les connaissez : une quantité astronomique d’anomalies remontées en recette, des bugs bien mesquins en production et pire encore, un logiciel qui s'ankylose petit à petit……

Lire la suite