Note de lecture : Patterns for Effective Use Cases, par Steve Adolph & Paul Bramble, with Alistair Cockburn & Andy Pols

Note: 7 ; Un (excellent) complément au « Writting Effective Use Cases » d’Alistair Cockburn.

Les cas d’utilisation sont un peu passés de mode depuis la grande époque UML, jusqu’au début des années 2000. C’est bien de cette époque que date cet ouvrage dont on peut pourtant dire qu’il serait injuste de le considérer comme passé de mode ! Il s’inscrit dans la lignée du « writting effective Use Cases » d’Alistair Cockburn qui promeut une écriture intentionnelle, courte et efficace par rapport aux Cas d’Utilisation « interactionnels » qui noircissent beaucoup de pages et ont donné une image si déplorable de cette pratique.

L’ouvrage a adopté le forme « Pattern Language ». Elle n’est pas toujours appropriée pour un livre d’environ 200 pages, mais on doit bien constater qu’ici cela ne pose guère de problème. Ceux-ci sont partitionnés sur 7 chapitres (auxquels il faut ajouter le chapitre introductif). Chaque pattern occupant environ 6 à 8 pages, donc assez pour être développé et pas trop pour ne pas devenir indigeste. Le premier chapitre investigue ce qu’est réellement un cas d’utilisation de qualité. C’est du moins la promesse faite par ce chapitre dont le titre est un peu trompeur. Si les auteurs nous montrent effectivement ce qu’est un bon Cas d’utilisation par rapport aux mauvais cas d’utilisation (toute ressemblance avec les bons et les mauvais chasseurs…), le chapitre sert surtout de table de matière et au langage de patterns et d’introduction à la forme pattern. Cela dit, il n’y a rien de mal à cela et c’est même nécessaire.

Le chapitre 2 nous prend un peu par surprise : « The Team » évoque les aspects collaboration et coopération gravitant autour de l’écriture des cas d’utilisation ! Ainsi, ParticipatingAudience met l’accent sur l’implication des utilisateurs et des parties prenantes, tandis que BalancedTeam détaille la pertinence de former des groupes d’écriture diversifiant les points de vue. En réalité, les éléments évoqués sont un peu des nouvelles d’hier, mais les expliciter ne peut pas faire de mal. Le chapitre 3 « The Process » s’inscrit dans la continuité. Le chapitre est assez riche et ne commet pas l’erreur de proposer un workflow de rédaction. BreathBeforeDepth est sans doute l’un des patterns cruciaux de ce chapitre. Les auteurs y référencent de très nombreux autres patterns, sans doute trop. Mais le propos est crucial pour la réussite d’une démarche « cas d’utilisation ». Je suis plus surpris d’y trouver TwoTierReview qui aurait d’avantage eu sa place dans le chapitre précédent, à mon avis. Le QuittingTime est une bonne idée : il rappelle que « pas trop n’en faut » et qu’ajouter du détail peut être contre-productif. C’est une mise en garde dont j’ai eu à faire bon usage, car je dois avouer avoir été coupable de ce travers !

Lire la suite
Publicité

Note de lecture : Gestion de Configuration : Maîtrisez vos changements logiciels, par Linda Djezzar

Note: 6 ; Une très bonne introduction aux processus de gestion de configuration, même si elle me laisse un peu sur ma faim.

Cet ouvrage fort digeste est destiné à faire comprendre ce qu’est la gestion de configuration, ses enjeux, sa mise en œuvre et ses apports. En ce sens, le livre est avant tout destiné aux managers. Comme nous allons le voir, il fait quand même l’effort de s’ancrer dans la réalité des outils de gestion de configuration, on pourrait presque dire qu’il s’agit d’un ouvrage hybride !

Justement, jetons un coup d’œil au texte. Tout d’abord, il est court avec ses 140 pages, ce qui renforce son ancrage vers les managers (quoique pour eux, même cela commence à être long…). Le texte est rythmé en 9 chapitres, ce qui constitue une taille moyenne assez réduite pour chaque chapitre. J’aime bien. Pour structurer encore plus, malgré la taille réduite du texte, les chapitres sont regroupés en 3 parties. La première d’entre-elle, « l’état de l’art », est constituée de 3 chapitres sur une cinquantaine de pages. Et l’on va commencer à explorer les concepts de base au premier d’entre-eux, sur une douzaine de pages. Après un trop court éclairage historique, on rentre directement dans un ensemble de définitions, certes rébarbatives, mais que l’auteure arrive à rendre digestes. Finalement, c’est la fin du chapitre qui serait la plus intéressante, mais les fonctions de la gestion de configuration sont traitées bien succinctement…

Même s’il ne compte qu’une quinzaine de pages, le second chapitre reprends là où le premier nous avait laissé en plan : les fonctions de la gestion de configuration. Bien sûr, on ne peut pas dire que le panel d’outils évoqués respire la modernité (CVS, PVCS, Clear Case…), ni que l’inscription dans le cycle de travail soit d’inspiration agile, mais il ne faut pas oublier que le texte date du début des années 2000 et au moins l’illustration est bien ancrée dans la réalité du cycle de développement. Le 3ème chapitre va donner à manger aux managers et aux cellules qualité avec l’évocation des modèles de maturité. Ce n’est pas le meilleur moment du livre.

Lire la suite

Note de lecture : Radical Focus 2nd edt., par Christina Wodtke

Note : 7 ; Les OKRs par la pratique, efficace et pertinent.

Vous cherchez à vous lancer réellement dans une démarche OKR ? Ce petit ouvrage est sans doute pour vous. Il ne s’agit plus ici de répondre au « pourquoi » mais au « quoi et au « comment ». Il cherche à combiner, plutôt heureusement, la compréhension de l’état d’esprit des OKRs, les éléments constitutifs de la démarche et la mise en pratique.

Petit, cet ouvrage l’est assurément par le format, ses 220 pages le rend d’une lecture aisée. Le texte est structuré en 4 parties, qui ne sont pas réellement constitués de chapitres, mais plutôt de sections. La première partie est une nouvelle, courte de 75 pages. Nous y faisons la connaissance de Hanna et Jack, créateurs d’une start-up, et de Jim leur « business angle ». Ce narratif va nous permettre de comprendre comment les OKRs vont leur permettre de piloter l’avenir de leur start-up, de prendre des décisions difficiles et de mettre en œuvre un suivi des indicateurs et des actions. Bien sûr, il s’agit d’un contexte start-up, mais cela permet quand même de se rendre compte d’un fonctionnement « par l’exemple ».

La seconde partie compte une cinquantaine de pages et détaille les éléments du framework. Elle commence à mettre en relief les causes d’échec des objectifs. C’est une bonne introduction au framework lui-même : les objectifs et les key results y sont expliqués et illustrés d’exemples. C’est un très bon point, l’auteur cadre parfaitement les propriétés et les questions à se poser pour obtenir de bons objectifs (et les key results associés).

Lire la suite

Note de lecture : Évaluer pour former, par Gilles Baillat, Jean-Marie De Ketele, Léopold Paquay & Claude Thélot

Note : 2 ; Académique et obscur

Il est difficile de la nier, le sujet est particulièrement pointu. Comme son nom l’indique, le livre est entièrement consacré à l’évaluation de formation sous ses différentes formes. Ce sujet est par ailleurs un élément prépondérant du référentiel Qualiopi. Comme son nom ne l’indique pas, l’ouvrage est une compilation d’articles. Ce n’est pas un ouvrage collectif dans la mesure où chaque article qui forme autant de chapitres n’était pas destiné à figurer dans ce volume. Mais il partage avec l’ouvrage collectif le défaut du manque de cohérence et hélas d’autres aussi comme nous le verrons au fur et à mesure.

Avec 200 pages, le texte ne fait pas vraiment peur de prime abord. Il est constitué de 12 chapitres répartis en 3 parties. La première d’entre-elle « les démarches d’évaluation : pour quoi ? Pour qui ? » regroupe 4 chapitres sur près de 55 pages. Elle s’ouvre sur la finalité de l’évaluation au sein du système éducatif. Le style est assez académique, mais il faudra s’y faire car c’est le trait commun à tous les chapitres. Le titre ne ment pas, on parle bien du système éducatif et de la manière dont l’évaluation s’y inscrit, sans rentrer dans la pratique de l’évaluation. Étant consacré au système éducatif, le propos est sans intérêt dans le cadre de la formation professionnelle. Le second chapitre semble plus prometteur. Il est consacré à l’analyse de l’évaluation mais met de côté l’aspect pratique avec un propos à la limite du travail de recherche. Ce n’est pas sans intérêt, mais peu transposable.

Le 3ème chapitre nous renvoie au système éducatif et plus précisément au protocole PISA et la manière dont celui-ci prend en compte les évaluations internationales. Sans compter que la matière n’est d’aucun intérêt dans le cadre de la formation professionnelle, je ne suis pas parvenu à m’intéresser au sujet. Cette première partie se conclut par un chapitre 4 consacré aux questions éthiques. Le propos couvre les aspects qui concernent tout aussi bien la formation professionnelle et mettent en lumière l’aspect délicat et périlleux de l’exercice d’évaluation. Sans doute le chapitre le plus utile (ou le moins inutile) de cette première partie.

Lire la suite

Note de lecture : Measure What Matters, par John Doerr

Note : 7 ; Des story-tellings inspirants autour des OKRs

Ce n’est pas le livre par lequel tout a commencé, mais bel et bien celui qui a popularisé les OKRs ! L’auteur ne m’était pas connu avant, mais son parcours de business angel est plus qu’impressionnant. Pourtant c’est aux côtés d’Andy Groove, chez Intel qu’il a vécu et découvert la démarche OKR.

Avec 250 pages, il s’agit d’un texte qui fait la part belle au narratif et se lit vite. Il est structuré en 2 parties pour un total de 21 chapitres. La première partie « OKR in action » couvre 170 pages pour 14 chapitres. Le premier chapitre « Google meets OKR » nous raconte comment l’auteur a introduit cette pratique à la génèse de cette compagnie. Un bien beau story-telling qui nous aide à comprendre l’intérêt de la démarche.

On remonte un peu le temps avec le chapitre 2 consacré au véritable père des OKRs : Andy Grove. C’est un morceau d’histoire passionnant que nous livre ici l’auteur, non seulement celle d’Andy Grove que l’auteur admire, mais celle d’Intel. C’est aussi l’occasion de comprendre comment cette approche se démarque du MBO de Peter Drucker. A ne pas rater. Le chapitre 3 « operation crush » raconte comment Intel a mis en œuvre son approche OKR pour abattre son adversaire Motorolla dont le processeur 68000 était pourtant largement meilleur que le 8086 ! Une histoire contée par Bill Davidow qui s’inscrit dans la suite du chapitre 2.

Lire la suite

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

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