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
Publicité

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 : Pragmatic guide to GIT, par Travis Swicegood

Note : 5 ; Globalement efficace mais parfois frustrant

Le principe de cet ouvrage est excellent : 130 pages, un format de poche et 44 « taches » qui sont autant de recettes longues de 2 ou 3 pages réparties en 8 chapitres. On est sensé avoir là de la matière concrète pour utiliser Git au jour le jour, non selon la description de la ligne de commande, mais rapport aux cas d’usage !

Heureusement le tout est organisé en 8 chapitres correspondant à autant de cas d’usage. Le premier d’entre-eux a trait à l’installation et au setup de Git. De ce point de vue les 4 recettes constituant ce chapitre sont un peu courtes par rapport au sujet traité.

Le second chapitre regroupe 8 recettes gravitant autour des tâches locales du développeur est mieux adapté au format des tâches. Il permet de s’y retrouver avec les tâches courantes : ajout de fichier, suppression, déplacement, pull, etc..

Les 6 tâches évoquées au chapitre 3 permettent d’organiser et réorganiser un répo et ses branches en les créant, les mergeant ou via un rebase. La plupart de ces recettes ont le bon goût d’être illustré d’un petit schéma. L’auteur aurait pu étendre cette pratique avec profit à nombre d’autres tâches décrites dans l’ouvrage. Mon regret avec ce chapitre est qu’il traité de l’organisation du repo sous forme de tâches, c’est à dire sous l’angle de ce que Git peut faire, et non sous l’angle pattern / stratégie qui aurait un peu élevé le niveau de réflexion.

Lire la suite

Note de lecture : Maîtrisez votre gestion de configuration logiciel, par Dominique Jacquin

Note : 2 ; Lourdingue !

Cet ouvrage ne vous aidera pas à comprendre ce qu’est la gestion de configuration. Pas vraiment, même si il prétend le faire. En fait le point focal de ce livre est l’aspect qualité, donc processus de la gestion de configuration. En principe, cela recouvre 3 thèmes : la gestion de version, la gestion de configuration et la gestion des changements. La gestion de version, et plus globalement la gestion des espaces de développement est appelée ici « gestion de la production » (on se demande bien pourquoi), et n’est traitée que succinctement. Ce sont les 2 autres thèmes qui constituent la matière première.

Franchement, si vous ne connaissez pas le sujet, vous serez perdus ! Le texte est une somme de descriptions prescriptives et n’est nullement explicatif (je n’évoque même pas les exemples de fin d’ouvrage, ils sont pathétiques). Quelques illustrations complètent le texte : des transparents Powerpoints tellement basiques et creux que l’on se croit revenus à l’école primaire, les diagramme SADT et les organigrammes sont aussi ennuyeux qu’on est en droit de l’escompter. Bref, on nous propose de faire des choses, on ne sait guère pourquoi, à croire que l’objectif de l’auteur était simplement de démontrer l’étendue de son savoir ! L’aspect normatif ISO 9000 et ISO 10000 est le seul aspect original (je n’ose dire intéressant) du texte. Il apparaît en fil rouge au fil de l’ouvrage et un chapitre spécifique lui est dédié. Je ne suis pas sûr que, même si la certification ISO vous intéresse, le livre vous soit d’un quelconque intérêt, mais je sais répondre par la négative dans le cas contraire ! Des plans types sont fournis en fin d’ouvrage et en complément de certains chapitres, ils ont l’intérêt d’être commentés. Sait-on jamais, cela peut servir.

Maitrisez votre gestion de configuration logicielle

Référence complète : Maîtrisez votre gestion de configuration logiciel, une étape pour la certification ISO 9000 – Dominique Jacquin – Masson 1996 – ISBN : 2-225-85424-6

Maîtrisez votre gestion de configuration logicielle

http://www.goodreads.com/book/add_to_books_widget_frame/2225854246?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on

Note de lecture : Software Configuration Management Patterns: Effective Teamwork, Practical Integration par Stephen Berczuk & Brad Appleton

Note: 8 ; Un “langage de patterns” bien construit, mais aussi une excellente référence sur la gestion de configuration.

On trouve deux types d’ouvrages sur la gestion de configuration : ceux développant des processus de gestion de configuration, souvent compliqués et éloignés des préoccupation quotidiennes des développeurs, et ceux traitant des outils, les détaillant en profondeur mais sans réellement expliquer comment les utiliser intelligemment. Cet ouvrage se démarque résolument de ces deux tendances en exposant les principes de la gestion de version et de configuration sous forme de « process patterns » qui sont autant de cas d’utilisation. Des cas d’utilisation résolument tournés vers le développeur, afin de l’aider dans ses tâches quotidiennes.

Une courte première partie introductive recadre la place de l’outil de gestion de versions et de configuration dans l’environnement de développement. Il présente également la structure des patterns et l’image globale de ce langage de patterns. On y distingue deux sous-ensembles : les patterns orientés « codeline » c’est-à-dire purement gestion de version, et les patterns liés à la gestion de l’espace de travail.

La seconde partie, forte de 120 pages, forme 16 chapitre, chacun présentant un pattern (donc, une moyenne de 7 pages par patterns). Je ne saurais tous les présenter, mais en voici quelques uns :

Active development line : Comment gérer une branche de développement suffisamment utilisable et stable à tout moment, afin de satisfaire les besoins de développement

Private build : Pensez de façon globale, et construisez localement. Ou comment, avant de soumettre des changements, construire et tester de manière identique au build d’intégration, mais sur l’espace privé de développement

Intégration build : Pour s’assurer que toutes les changements injectés dans le repository central sont construits et testés par un processus centralisé.

Task level commit : Pousser dans le gestionnaire de versions à chaque changement de faible granularité mais indissociable (résolution d’un problème, mise en conformité avec une évolution d’interface, etc.).

Comme c’est le cas avec les bons patterns, un bon nombre nous donne un goût de déjà-vu. D’autres moins. L’approche « patterns » est réellement utilisée à bon escient : le problème est évoqué, souvent étayé par une expérience vécue, pour déboucher ensuite sur le développement de la solution, soutenus par des références extérieures. On appréciera aussi, mine de rien, de voir relevé en vis-à-vis des patterns, les points non résolus ! Que vous soyez expérimentés ou débutant, vous devriez vous régaler à la lecture de ces patterns : on bénéficie réellement de l’expérience et de la qualité de synthèse et d’expression des auteurs. Connaître les commandes de votre outil de gestion de version n’est pas tout (bien que cela soit nécessaire), il faut savoir utiliser et organiser son travail au quotidien afin de travailler de façon efficace, coopérative et rigoureuse afin d’éviter les problèmes inhérents au travail en équipe. Ce langage de pattern est sans nul doute la réponse pragmatique, efficace et opérationnelle. Le tout en moins de 200 pages. Last but non least, les appendices si succincts soient-ils fournissent d’excellents liens Web et une ébauche d’évaluation des outils existants. Vous aurez compris : j’ai aimé.

Les DVCS ont certainement ajouté leur lot de patterns également, même si ceux évoqués ci-dessus restent d’actualité. J’adorerais voir une seconde édition de l’ouvrage intégrant cela. Une autre avancé possible est la prise en compte de la déliverie en continue (le devops) dans le cycle logiciel abordé.

Les auteurs travaillent à une seconde version de l’ouvrage, toutefois celle-ci est encore à l’état de projet. Il n’est d’ailleurs pas dit qu’elle sorte un jour.

soft-conf-mgt-patterns

Référence complète : Software Configuration Management Patterns: Effective Teamwork, Practical Integration – Stephen P. Berczuk & Brad Appleton – Addison Wesley / SP series 2002 – ISBN : 0-201-74117-2

Software Configuration Management Patterns: Effective Teamwork, Practical Integration

http://www.goodreads.com/book/add_to_books_widget_frame/0201741172?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on