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.

Continuer à lire « Note de lecture : Configuration Management Principles and Practices, par Anne Mette Jonassen Hass »

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.

Continuer à lire « Note de lecture : Rapid Development, par Steve McConnell »

Note de lecture : Waltzing with Bears, par Tom DeMarco & Timothy Lister

Note : 6 ; La continuité de Peopleware, mais décevant quand même

Ce nouvel opus du binôme DeMarco – Lister est dédié à la gestion du risque, la « gestion de projet pour les adultes » comme le disent si bien les auteurs. L’originalité de ce court opuscule est l’approche « probabilistique » du risque, au contraire de la plupart des approches qui voient la gestion des risques comme un phénomène binaire.

Malgré la petite taille de cet opuscule qui ne compte que 175 pages, les auteurs sont parvenus à découper celui-ci en 5 parties pour un total de 23 chapitres ! Il faut donc s’attendre à ce que ces derniers soient plutôt courts. Le propos est par ailleurs assez dense, on le verra. La première partie tente de répondre au « pourquoi » de la gestion des risques, sur un peu moins de 30 pages réparties sur 4 chapitres. Elle s’ouvre sur un chapitre abordant l’attitude des projets par rapport aux risques, dont les auteurs nous assènent qu’ils doivent être vus comme des opportunités. Cela se résume bien par la citation d’ouverture : si un projet n’a aucun risque, ne le faite pas ! Au second chapitre, on découvre quelles sont les activités de la gestion de risque. Cela nous amène à comprendre que, ainsi que les auteurs l’énonce dans le titre du chapitre, que la gestion de risque, c’est en définitive la gestion de projet pour les adultes.

Le 3ème chapitre est un interlude, où l’absence de gestion de risque est illustrée via la gestion des bagages du nouvel aéroport de Denver. Un propos précis, agréable à lire et mettant en évidence les lacunes de gestion des risques. C’est un plaidoyer pour la gestion des risques qui enfin conclut cette première partie. Il liste en une dizaine de points les avantages à tirer d’une gestion des risques sérieuse.

Continuer à lire « Note de lecture : Waltzing with Bears, par Tom DeMarco & Timothy Lister »

Note de lecture : Joel on Software, par Joel Spolsky

Note : 8 ; Inclassable, instructif et passionnant.

Aussi surprenant que cela puisse paraitre, ce livre est simplement la compilation des « posts » de Joel Spolsky sur son blog « Joel on Software ». Les textes n’en ont pas été retouchés, ni rallongés pas plus qu’ils n’ont été agrémentés. Ils ont simplement été mis en page, rassemblés en un livre avec table des matières, index, couverture, relire et tout et tout.

Donc ce que vous pouvez acheter sous forme de livre, vous pouvez le lire gratuitement sur le net ! Le livre, justement, couvre 45 posts regroupés en 4 parties (la 5ème est consacrée aux annexes). Les posts sont ainsi regroupés de manière thématique et la taille de ces parties est en conséquence inégale. La première partie va aussi s’avérer la plus longue. Elle regroupe 19 posts et cible les pratiques de développement (au sens large). 3 sujets ont attisé ma curiosité ici. La série de 4 posts sur les spécifications, d’abord. Elles contiennent les germes de la définition du PO mais révèlent aussi un point de vue pour moi dépasser : écrire pour limiter la communication entre les intervenants, et gagner en efficacité ! Le second sujet a trait au craftsmanship. Il est la prémices du mouvement du même nom, même si l’auteur ignore encore (ou volontairement ?) la culture agile naissante. Le troisième sujet est marginal et évoque le « biculturalisme » chez Microsoft. Un sujet qui explique bien des choses sur la société.

La seconde partie est consacrée à la gestion des développeurs et est riche de 9 posts. Le plus célèbre, et très souvent référencé encore aujourd’hui est « The Law of Leaky Abstraction ». Cette loi stipule qu’une abstraction de haut niveau, destinée à masquer une réalité de plus bas niveau, montrera des failles ou des faiblesses dans certaines conditions. Le corolaire de cette loi est qu’on ne peut se contenter de connaitre cette abstraction de haut niveau, mais qu’il est nécessaire de connaitre voir de maitriser le niveau sous-jacent, car il expliquera certains comportements de cette « abstraction qui fuit ». Je conseille aussi deux posts consacrés au recrutement et à la rémunération. Vous n’êtes pas obligés d’être d’accord avec l’auteur, mais au moins donnent-ils à réfléchir.

Continuer à lire « Note de lecture : Joel on Software, par Joel Spolsky »

Note de lecture : Applying RCS and SCCS, par Don Boliger & Tan Bronson

Note : 8 ; Une excellente surprise, qui va plus loin que la mise en œuvre de RCS en présentant les finalités de la gestion du changement.

Pourquoi parler de SCCS et de RCS quand on utilise Clear Case ? au mi-temps des années 90, c’est le genre de questions que l’on pouvait se poser. Cet excellent ouvrage ne se limite pas à la comparaison de ces 2 utilitaires (il donne la préférence à RCS, l’ancêtre de CVS). Nous allons le voir.
L’ouvrage est du genre mastoc avec ses 23 chapitres sur 440 pages hors annexes. Comptez 50 pages de plus pour ces dernières ! Le premier chapitre est un simple tour de chauffe destiné à présenter les concepts de base de la gestion des sources.

Les chapitres 2 à 4 viennent en triplet, et ce sera vrai pour la suite de l’ouvrage : d’abord les principes généraux, puis la déclinaison RCS et enfin celle de SCCS. On commence ici avec les concepts de base : la copie de travail d’un fichier, la gestion du verrouillage… Bref, tout ce qui permet de faire une modification. Le chapitre RCS marche exactement dans les traces du chapitre 2 en présentant la syntaxe de cet outil pour lancer les commandes correspondantes. Il en va presque de même pour SCCS dont la philosophie est légèrement différente. Mais un tableau récapitule lesdites commandes pour les deux outils à la fin de chaque chapitre. Pratique.

Le second triplet nous fait faire un grand bond en avant, car on y aborde les concepts tels que branches, numéros de révision et snapshots. Les auteurs adoptent un angle « cas d’utilisation », plus pragmatique mais pas toujours facile à suivre. Pour la déclinaison RCS, le texte s’appuie beaucoup sur les fonctionnalités de branching (et donc de merge) de l’outil, tandis que le snapshot n’est guère évoqué. Côté SCCS, les choses paraissent même plus pauvres, mais on parvient à faire le lien avec le chapitre des généralités.

Continuer à lire « Note de lecture : Applying RCS and SCCS, par Don Boliger & Tan Bronson »

Note de lecture : Effective methods for Software testing 2nd edition, par William E. Perry

Note : 6 ; Une approche des tests très développée et d’une vision très large, mais présentée en cycle « V » classique…

Voilà le seul ouvrage traitant de tests « à l’ancienne » de ma bibliothèque. Cela rend ce volume d’autant plus important qu’il éclaire un pan de la culture test qu’il est nécessaire de comprendre. Dans le monde agile, les tests sont essentiels, et s’ils sont en majeure partie abordés différemment, comprendre cet écosystème reste un élément majeur pour aborder le changement.

Le livre est volumineux, certes, avec 800 pages mais ce n’est pas le plus volumineux publié dans le domaine. Au moins est-il bien rythmé avec 26 chapitres regroupés en 5 parties. A première d’entre-elles ne couvre qu’un seul chapitre sur une trentaine de pages. Son focus est l’évaluation des compétences et capacités de test. On y distingue l’évaluation du processus de test et l’évaluation des testeurs, le tout s’appuyant sur des corpus de connaissance entretenus par des organismes. Bref, on nage en plein dans les grilles d’audit. Cela ne fait guère envie mais au moins, on sait ce qui existe en la matière.

Avec 4 chapitres sur plus de 120 pages, la seconde partie est plus conséquente. Elle évoque la mise en place d’un environnement de test. Nous allons voir en quoi cela consiste. Le chapitre 2 adresse la stratégie de test, mais l’approche proposée, axée sur les phases de développement et les facteurs de risques ne se projette pas sur un cycle de développement agile. Dans la continuité, le chapitre 3 nous propose de construire une méthodologie de test, mais clairement axée sur un modèle en cascade, qui se conclut par un plan de test dont le template est passé en revue « in extenso ». Là non plus, rien de directement exploitable, mais il est riche d’enseignement de voir un véritable plan de test qui est souvent évoqué de manière bien abstraite.

Continuer à lire « Note de lecture : Effective methods for Software testing 2nd edition, par William E. Perry »

Note de lecture : Des solutions Objet, par Grady Booch

Note : 8 ; Toute la perspicacité et l’expérience de Grady Booch dans cet incontournable ouvrage. Malheureusement, la traduction française et la qualité éditoriale ne sont pas à la hauteur.

Grady Booch est ce que nous pourrions appeler un récidiviste. Encore une fois il nous gratifie d’un excellent ouvrage. Aujourd’hui, il s’agit de mettre en lumière les meilleures pratiques sur la gestion de projets objets, itératifs et incrémentaux. Trois éléments principaux servent de charpente à l’ouvrage : Les histoires vécues (par Grady Booch), les conseils et les trucs et astuces.

Le livre lui-même est composé de 7 chapitres totalisant 290 pages pour sa partie principale. Le premier chapitre « premier principes » se focalise sur la nature incrémentale et itérative des projets objet, tout en mettant l’accent sur le fait que la structuration objet est facilitante mais ne suffit pas à garantir le succès d’un projet. L’auteur met clairement l’accent sur la nature émergente du projet et de son architecture, ce que sous-tend le caractère itératif, une architecture qui ne s’arrête d’ailleurs pas à la décomposition en classes. C’est un très bon chapitre qui met le doigt là où il faut.

Le second chapitre « produit et processus » est moins passionnant et date bien le livre d’une époque « anté-agile ». La première partie du chapitre pose des concepts et conseils de structuration objet qui forment le socle de la « méthode Booch » que l’on retrouvera plus tard en partie dans UML », tandis que la seconde partie est d’avantage focalisée sur la méthode. On y voit les prémices d’Unified Process, même si en l’état c’est plus léger. Mais il reste indiscutablement un fossé avec l’agilité.

Continuer à lire « Note de lecture : Des solutions Objet, par Grady Booch »

Note de lecture : Managing Risk, par Elaine M. Hall

Note : 5 ; Une appréhension remarquable du sujet, mais exposée de façon par trop abstraite.

Les ouvrages publiés sous le sceau du SEI ont la réputation d’être pointus et hermétiques. Celui-ci ne fait pas exception. L’auteur est une consultante reconnue qui a entre autres œuvré sur des contrats militaires. L’humour et la poésie n’ont guère leur place et, comme nous allons le voir, l’approche est très structurée. De quoi donner froid dans le dos aux tenants de l’agilité à première vue, mais cela peut être différent en y regardant de plus près.
L’ouvrage n’est pas anecdotique avec ses 360 pages hors annexes. Il ne compte pas moins de 5 parties pour un total de 23 chapitres. Au moins cela rythme-t-il la lecture ! Dans la première partie, nous allons partir à la découverte de la gestion des risques, le tarif est de 65 pages sur 3 chapitres. Le premier chapitre est aussi le plus conséquent de cette partie, et il est même assez dense. Il présente nombre de concepts insoupçonnés de la gestion de risque. Les plus importants (que l’on retrouvera plus tard) sont le risque à grande échelle et le risque à petite échelle.

Au chapitre 2, il est question de la formule du succès selon l’auteur, le P2I2 : People, Processus, Infrastructure et Implémentation ! On y trouve quelques graines d’agilité, avec la volonté d’impliquer tout le monde et de procéder par petites étapes, par exemple. Cette première partie se conclut par le « risk management map », pour progresser depuis le traitement du problème (mode réactif) à une vision d’opportunités. La déclinaison de cette progression sur les 4 thèmes vus au chapitre précédent reste quand même à ce stade assez abstraite.

La 2nd partie (comme les 3 suivantes) aborde l’un des axes du P2I2, à savoir ici : le processus. Le thème est couvert par 5 chapitres pour un total de 85 pages. Le chapitre 4 qui débute cette partie va s’attaquer à l’identification des risques. Le chapitre est vraiment très « processus », avec des checklists, un template d’identification de risque, des tâches et des étapes. Mais la maitrise du sujet par l’auteure est indéniable, il n’y a qu’à regarder la taxonomie des risques qu’elle nous propose. Au chapitre 5 on passe à l’analyse. Je l’ai trouvé plus intéressant : il se divise en une partie consacrée aux méthodes d’analyses et une seconde dédiée aux techniques d’évaluation. De l’analyse en kit, en quelque sorte.

Continuer à lire « Note de lecture : Managing Risk, par Elaine M. Hall »

Note de lecture : Réussir votre parcours professionnel en temps de crise, par Willet Weeks

Note : 4 ; Une vision assez vintage des changements d’orientation des « C levels ».

Il faut replacer ce texte dans son époque, à savoir la crise de la première guerre du golfe et la récession des 3 années qui suivirent. Le monde a bien changé depuis et c’est sans doute ce décalage qui rend la lecture savoureuse, car le texte était clairement pertinent à l’époque. En fait, il l’est toujours à maints égards.

C’est un texte assez court, il compte moins de 150 pages. Il est découpé en 2 parties pour un total de 7 chapitres. La première partie « êtes-vous prêt à affronter le changement ? » regroupe 3 d’entre eux pour un total d’environ 60 pages. Il commence par un chapitre pour nous aider à déterminer si nous sommes d’un naturel casanier ou aventurier. Le propos est clair et peut aider à des prises de consciences. Toutefois je trouve les traits un peu violemment marqués. L’auteur nous propose 2 questionnaires pour nous aider. Très bonne idée.

C’est également sur un questionnaire que débute le second chapitre « le poids des habitudes ». J’y retrouve certains éléments de l’excellent livre de Charles Duhigg, à savoir que les habitudes nous aident à dédier notre attention à des choses plus importantes. Mais on peut très rapidement devenir prisonniers de nos habitudes ! Le message est clair : il est indispensable de se débarrasser de nos fixations passées. Cette première partie se conclut sur un chapitre pour nous aider à identifier nos besoins et nos atouts. J’y retrouve les éléments de la motivation intrinsèque chers à Daniel Pink. Et surtout l’auteur nous exhorte à ne pas confondre souhaits et besoins. Les atouts sont plus légèrement traités. Mais surtout l’auteur nous propose un processus à base de matrices pour étudier l’adéquation d’un poste avec nos besoins/atouts. Un peu lourd mais intéressant.

Continuer à lire « Note de lecture : Réussir votre parcours professionnel en temps de crise, par Willet Weeks »

Note de lecture : Le système X Window, par Oliver Jones

Note : 7 ; X Window (enfin) abordable !

Pas facile de trouver un livre abordable sur la programmation X Window. Il faut dire que le sujet est plutôt un gros morceau. Je ne peux me targuer d’être un spécialiste du sujet, et ce livre m’a paru de bonne facture, du moins pour une introduction sur le sujet.

L’ouvrage accuse quand même près de 500 pages réparties sur 12 chapitres, hors annexes. Avec 70 pages, elles ne constituent pas une partie négligeable, mais leur intérêt est assez varié : par exemple le listing des polices de caractères est plutôt fastidieux et d’un intérêt limité. Le premier chapitre introduit X Window, d’un point de vue principe de fonctionnement, d’un point de vue architecture et d’un point de vue structuration des toolkits. X Window est un système complexe et le positionnement des toolkits est particulièrement important à comprendre. Un chapitre bien écrit et posant de bonnes bases. Le chapitre 2 poursuit par une « introduction opérationnelle » via le célèbre « hello world » version X Window, donc nécessairement un peu compliqué, mais bien expliqué. Mais pourquoi diable avoir traduit en français le programme, y compris les noms de variables ?

Le chapitre 3 aborde les concepts de X Window. Avec une quarantaine de pages, c’est l’un des plus conséquents de l’ouvrage, mais ce n’est pas non plus le plus digeste. Malgré quelques extraits de code, le propos reste très conceptuel et l’auteur nous laisse parfois le soin de faire le lien entre les différents concepts. Le chapitre est toutefois incontournable pour bien aborder la suite. Plus imposant encore avec 80 pages, le chapitre 4 consacré aux fenêtres explore en profondeur ce concept central de X Window. L’auteur balaie bien dans les coins, depuis la structure jusqu’à la gestion des évènements en passant par les états et la description exhaustive des différentes structures manipulées. C’est quelque peu fastidieux mais plus concret que le chapitre précédent. Ce sont ensuite plus d’une centaine de pages consacrées à l’affichage de graphiques dans ces fenêtres au chapitre 6. Le propos est très complet, depuis la gestion des canaux, jusqu’à l’affichage de texte, en passant par l’affichage de bitmaps, de figures et l’usage de copier-coller et autres joyeusetés. L’approche est agréable, voir ludiques avec chaque fois des extraits de code pour illustrer chaque concept.

Continuer à lire « Note de lecture : Le système X Window, par Oliver Jones »