Note de lecture : Configuration Management Principles and Practices, par Anne Mette Jonassen Hass

Note: 4; Trop volumineux et pas du tout agile, mais avec certaines bonnes idées.

De prime abord, l’ouvrage attire l’attention : la gestion de configuration est une pièce essentielle de nos pratiques d’ingénierie, et en voire la mouture agile manquait cruellement jusqu’à présent. Mais comme nous allons le voir, il est plutôt curieux que cet ouvrage ait été édité dans la « Agile Software Development series », car il est résolument orienté processus.

Les 350 pages de ce volume sont structurées en 5 parties pour un total de 26 chapitres. C’est assurément une belle bête, toutefois bien rythmé. La première partie compte 5 chapitres pour environ 75 pages pour répondre à cette question : qu’est-ce que la gestion de configuration ? C’est par des définitions et un métamodèle que le premier chapitre tente de répondre à cette question. On y passe en revue des concepts tels qu’identification, stockage, change control… cela semble complet mais c’est surtout complexe !

On passe la seconde avec les modèles de maturité : CMMi d’abord puis SPICE ensuite, plus précisément dédié à la gestion de configuration mais sans un poil d’agilité. Un chapitre fort ennuyeux. Dans la même veine, le chapitre 3 nous présente les standards internationaux ! C’est plus ennuyeux encore, mais on sera sans doute content d’avoir un endroit où les retrouver… Le chapitre 4 est très court, il s’agit juste d’une évocation des organismes gravitant autour de ce sujet. Enfin cette première partie se referme sur une évocation des tâches liées à la gestion de configuration. Le propos n’est pas inoubliable.

Lire la suite
Publicité

Note de lecture : Rapid Development, par Steve McConnell

Note : 9 ; Passionnant, complet et éclairé ! Book of the year 2002 !

Voici un livre à coté duquel il ne faut pas passer. Ne vous laissez pas intimider par le titre, qui peut vous faire croire qu’il s’agit d’une apologie du RAD: il n’en est rien, il s’agit plutôt du développement efficace ».
Avec pas moins de 600 pages constitués de 43 chapitres regroupés en 3 parties, voilà bien un ouvrage impressionnant. La première d’entre-elle couvre une centaine de pages avec 5 chapitres. Le très court chapitre introductif évoque les « pratiques efficaces » évoquées dans l’ouvrage et comment elles se structurent. C’est au second chapitre que l’on en apprends plus avec les 4 piliers du développement rapide associé à 4 dimensions sur lesquelles on peut agir.

Le 3ème chapitre aborde les erreurs classiques des projets listés selon les 4 dimensions (personnes, processus, produit et technologie) avec chaque fois un petit paragraphe descriptif. C’est synthétique et efficace. Le chapitre suivant qui s’attaque aux fondamentaux est plutôt touffu, car il aborde les différents volets tels que gestion de projet, pratiques d’ingénierie et assurance qualité (où bizarrement, on parle assez peu de tests. C’est un peu old school, mais il faut aussi considérer l’âge vénérable de l’ouvrage… La gestion des risques au chapitre 5 est aussi un peu « à l’ancienne », mais dans la catégorie le texte fait remarquablement bien le travail, avec une nomenclature et une catégorisation des risques ainsi qu’une démarche claire et guidée.

La seconde partie, qui reprend le titre de l’ouvrage compte pour sa part 10 chapitres pour un total de 280 pages. Le chapitre 6 qui l’ouvre attaque les problématiques liées au développement rapide. On y trouve pêle-mêle des préoccupations telles que la planification des dates de réalisation, les attentes irréalistes ou la perception de lenteur. Chaque sujet est traité avec finesse et pertinence. Le chapitre 7 nous offre une belle perspective historique sur les cycles de développement, allant du cycle en cascade au modèle en spirale en passant au « code and fixe » (le mode bordel). Il ne s’arrêta pas là car il évoque aussi le stagged delivery et le prototypage. Bref, une belle représentation de différents modèles où est juste absent le mode agile encore très embryonnaire à cette époque. Même si le corpus de connaissance sur les estimations n’est pas directement transposable au monde agile (il s’appuie beaucoup sur le point de fonction), même si le cône d’incertitude est un sujet de discorde avec Laurent Bossavit, ce chapitre 8 rentre remarquablement en profondeur dans le sujet et sera à lui seul une lecture recommandée.

Lire la suite

Note de lecture : Automatisation des activités de test, par Olivier Denoo, Marc Hage Chahine, Bruno Legeard & Eric Riou du Cosquer edt.

Note : 4 ; Des contributions assez hétéroclites autour de l’automatisation, mais parfois intéressantes !

Les ouvrages collectifs sont rarement de grandes réussites. Celui-ci n’échappe pas à la règle, avec des contributions assez inégales. Toutefois, je lui reconnaitrais le mérite d’associer à l’agilité la nécessité d’automatiser les tests !

Le format de l’ouvrage dépassera légèrement de votre bibliothèque. Fort de 220 pages imprimé sur papier glacé en couleur, il faut bien dire que le CFTL a bien fait les choses. Le texte tire parti de cette impression en couleur avec de très nombreuses illustrations, le volume s’avale plutôt rapidement. Le texte est divisé en 3 parties pour un total de 22 chapitres, chacun d’entre-eux est donc plutôt court. La première partie « l’automatisation dans le test » et compte 5 chapitres pour 53 pages. C’est un panel des pratiques d’automatisation que nous livre le 1er chapitre : court et bien fait, il ne nous apprend cependant guère de choses utiles.

Le second chapitre aborde le périmètre de ce qui peut automatisé dans les activités de test. On n’y apprend pas grand-chose non plus, mais cela a le mérite d’être écrit du point de vue du testeur, ce qui est original. Ainsi le panel des activités de test est bien décomposé, mais le propos reste assez stratosphérique. Le chapitre 3 sur le test et la démarche devops s’avère être l’un des plus intéressants de l’ouvrage. Ses 2 points forts sont l’accostage des différents types de test avec le pipeline CI/CD et la présentation du « shift left », le concept le plus intéressant et le plus original du livre !

Lire la suite

Note de lecture : Le S.I. démystifié, par Yves Caseau

Note 7 ; Une impressionnante maitrise du sujet, mais un texte qui a mal supporté l’épreuve du temps…

Yves Caseau est l’auteur d’un des rares ouvrages valables dans le domaine de l’urbanisation des systèmes d’information. Il était justice de m’intéresser à cet opus qui finalement s’inscrit dans la continuité de ce propos et m’a été chaudement recommandé (merci Aude !). L’objectif de l’ouvrage est plutôt ambitieux, car il veut donner les clés au DSI pour appréhender la gouvernance de son SI. L’objectif est d’autant plus ambitieux que l’ouvrage ne compte guère plus de 200 pages. Mais pourrait-on convaincre un DSI de distraire le temps nécessaire à lire un pavé de 500 pages ? Quoi qu’il en soit, comme on le verra, le challenge est plutôt réussi.

Le texte en lui-même compte environ 210 pages réparties en 3 parties, chacune d’entre-elle comptant 3 chapitres. La première d’entre-elle est consacrée à l’analyse de la valeur du SI, le tout sur une soixantaine de pages. Le premier chapitre adresse la question du coût du SI, une question à laquelle l’auteur consacre 30 pages. Une histoire, qui servira de fil rouge à l’ouvrage ouvre le chapitre. S’il n’est pas indispensable, il rend la lecture plus ludique. Un bon point. L’auteur arrive à bien défricher la question en un espace réduit. Il offre des outils mais surtout une clé d’entrée : mesurer le coût du SI, c’est mesurer la taille du parc applicatif.

Le second chapitre adresse une question épineuse, celle de la valeur métier. L’auteur adosse nettement son propos à celui de Nicolas Carr dans « Does IT Matters ? ». De manière générale, les très nombreuses références bibliographiques sont un second niveau de richesse de l’ouvrage ! Dans ce chapitre, l’auteur explore différentes approches, la plupart adosser à la valeur financière. Ce n’est peut-être pas la meilleure approche, mais le DSI y est souvent challengé… Le chapitre 3 qui clôt cette première partie est consacrée à la mesure de la performance. Ici, c’est le benchmarking qui est mis en avant dans le texte, mais aussi les ratios tels que le très connu OPEX/CAPEX. A noter que pour rationaliser l’opex, l’auteur propose un « calendrier lent et industriel » pour les mises en production. Autant pour l’agilité …

Lire la suite

Note de lecture : A Tour of C++ 2nd edition, par Bjarne Stroustrup

Note : 5 ; Une introduction qui résiste quand même beaucoup sous la dent

S’embarquer pour un tour avec Bjarne Stroustrup, cela ressemble davantage à une descente de rapides qu’à une croisière pour le troisième âge. La première édition s’arrêtait au C++11, celle-ci adresse C++17, avec un regard vers C++20, même si la norme a quelque peu évolué depuis la parution de l’ouvrage.
Le format du livre n’a guère changé : avec 225 pages sur 16 chapitres, il reste dans les canons du volume précédant. On pourrait croire que le premier chapitre à vocation introductive n réserve aucune surprise, mais ce serait sans compter sur la déduction de type avec « auto » ni sur les constexpr qui trouveront leur usage dans le template metaprogramming. Les types utilisateurs du second chapitre introduisent, mais avec si peu de clarté, les enum class qui doivent concurrencer les énumérations de Java et entretien fort perfidement la confusion entre struct et class ! La limpidité n’a jamais été le fort du créateur du C++.

Pour le chapitre 3 consacré à la modularité, ce sont les modules qui sont la grosse nouveauté… à venir dans le C++ 20 ! Mais le texte évoque aussi les évolutions concernant les exceptions et les structured bindings. Le texte est clair, ce qui n’est pas coutumier. Le chapitre 4 se focalise sur les classes et aborde aussi les conteneurs (qui seront aussi abordés plus loin). Peu de nouveautés en vue ici hormis les nouveaux initialiseurs et unique_ptr qui remplace avantageusement l’exécrable auto_ptr (paix à son âme).

Les opérations essentielles, au chapitre 5 aborde, entre autres chose, le move operator et les « références droites ». Le concept est difficile et il faut bien dire qu’il était acquis que cela serait très, très mal expliqué ici. Le détour par le « modern C++ » s’avérera indispensable. L’opérateur littéral est aussi évoqué sans non plus que son usage soit spécialement clair. Les templates sont au menu du chapitre6, ce qui nécessite de s’accrocher car il y a beaucoup de nouveautés ici. Toutefois, les gros morceaux seront d’avantage abordés au chapitre 7. Cela laisse à l’auteur la possibilité d’évoquer les concepts mais sans les présenter ce qui nous laisse joyeusement dans le brouillard. Bien joué.

Lire la suite