Note de lecture : Design Patterns, par Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides

Note : 10+ ; LE livre de la décennie 90 !! Book of the year 1995 & Book of the decade ‘90!

Il y a un « avant » et un « après » Design Patterns. Il y a tellement de choses à dire sur ce livre emblématique qu’il est même difficile de trouver par où commencer. Commençons par « avant ».

Dans les années 80, jusqu’au début des années 90, on parlait bien d’activité de conception (par opposition à l’activité d’analyse) mais sans parvenir vraiment à identifier ce en quoi cela consistait. « montre-moi ton arbre d’héritage » était alors l’aulne à laquelle on mesurait la qualité d’une conception objet. Evidemment un arbre large et profond était jugé meilleur qu’un arbre rabougri. Pour certains gourous, seuls les objets issus du domaine métier étaient des éléments valides de conception. Je garde un souvenir vivace de m’être fait tancé vertement pour avoir introduit dans ma conception des objets qui n’en étaient pas. Bref l’activité de conception était alors généralement considéré comme le tartinage de code dans les classes identifiées en analyse. Sauf pour quelques uns qui se disaient qu’il y avait plus…

Puis est arrivé le Design Patterns. Un ouvrage tellement emblématique qu’il porte même un nom alternatif dans la communauté des patterns : le GoF, c’est à dire le « gang of four » par référence à ses quatre auteurs.

Il y a de nombreuses choses que je trouve géniales dans ce livre. La première est son absence apparente de génie. De nombreuses personnes ayant lu l’ouvrage disent, ou disent la première fois « je n’y ai pas appris grand chose ». Effectivement, aucun des 23 désormais célèbres patterns n’est une création des auteurs. C’est même une contrainte, un point obligé de l’identification des patterns : les patterns ne sont pas créés, ils sont découverts et doivent avoir été appliqués plusieurs fois avec succès pour prétendre à être identifié en tant que pattern. C’est le point de départ de l’apport des patterns :

L’activité de conception devient l’introduction de « mécaniques » dans le modèle objet, non de façon descendante, mais de façon émergente sous l’effet de « forces » documentées au sein des patterns, par refactoring d’un modèle existant.

L’accent est désormais mis sur la structure du modèle objet, par ses relations et sa dynamique, plus que par l’arbre d’héritage. Aujourd’hui les arbres d’héritages larges et profonds sont d’ailleurs jugés plutôt négativement.

L’utilisation d’un vocabulaire permettant de dialoguer plus efficacement sur les problématiques de conception.

L’adhésion de la communauté objet à cette approche a été immédiat. L’épuisement du premier tirage en 1 mois et demi en est l’une des preuve. Aujourd’hui le livre approche son 40ème retirage et plus d’un million et demi d’exemplaires en ont été vendus… L’autre symptôme est la naissance d’un véritable mouvement avec sa propre communauté et ses conférences qui dureront jusqu’au début des années 2000. Aujourd’hui, cette communauté en tant que telle s’est évanouie, mais elle a donné naissance à un autre mouvement : le développement agile !

Derrière ce mouvement de nombreux autres ouvrages ont vu le jour, mais 17 ans après, c’est bien le GoF qui reste la référence, par sa qualité et la pertinence des patterns qui y sont documentés : c’est LA bible incontournable du design pattern. Je lui ai décerné la titre de « book of the décade » car je considère qu’il s’agit de l’apport le plus important au monde de l’objet sur les années 90. Il a incontestablement fait évoluer de manière radicale ma manière de concevoir.

Le texte est simple, clair et lisible. Mais certains des concepts forts, comme la conception émergente se dissimulent en fait en filigrane dans le texte. Ce n’est pas évoqué explicitement, mais c’est un corollaire naturel… Des traductions ont existé, entre autre en français dont je ne pense pas qu’elles soient encore commercialisées. De toute façon je recommande la lecture en Anglais, la traduction française (que je possède par ailleurs) est entachée de nombreuses petites erreurs et traduire les noms des patterns en français n’est d’ailleurs pas la moindre (à l’exception de la « façade » pour laquelle des américains sont venus me demander la signification…).

L’épopée « patterns » appartient au passé. J’aimerais dire que c’est une bonne chose car ce savoir doit faire partie des acquis du développeurs. Mais je constate au jour le jour que ce n’est pas le cas, peut-être même avons-nous perdu de ce côté.

C’est pourquoi je recommande ce livre, non seulement sans réserve mais comme jalon incontournable du cursus de tout développeur. L’âge du texte ne change rien à l’affaire : Il excelle aussi bien par la qualité de son contenu, que par son concept novateur à l’époque (exprimer et nommer explicitement les briques de réutilisation de conception), que par sa présentation où patterns sont présentés selon un schéma constant. Au cas où vous ne l’auriez pas remarqué, je l’ai noté “10+”. C’est le seul de mes notes notes de lectures que j’ai ainsi noté, il est donc celui qui a obtenu la note la plus haute.

design-patterns

Référence complète : Design Patterns, Elements of reusable object oriented software – Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides – Addison Wesley / Professional Computing series 1995 – ISBN : 0-201-63361-2

Design Patterns: Elements of Reusable Object-Oriented Software


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

Publicités

Note de lecture : The Lean Startup, par Eric Ries

Note : 10 ; Le futur de l’agilité ? Book the year 2012 !

Je ne vais pas faire durer le suspens : j’adore ce livre ! C’est vrai, il parle de startups, en principe un sujet un peu éloigné de mes préoccupations quotidiennes. Mais en réalité tout ce qui y est dit ou presque est transposable dans le contexte d’un projet informatique.

Le Lean Startup est déjà un mouvement d’ampleur, que l’on ne peut plus ignorer et ce livre en est le texte emblématique, pour de bonnes raisons que je vais tenter d’expliquer. Tout d’abord, avant de devenir le gourou de ce mouvement Eric Ries était informaticien, et même un grand supporter des méthodes agiles en générale et d’extreme programming en particulier. Lui-même créateur de startups, il a vécu et cherché à dépasser les limites de l’approche agile et a puisé dans le Lean l’essence de ce qu’il souhaitait faire. Ce n’est pas une simple transposition du Lean, mais bel et bien l’esprit du Lean transposé dans le processus startup.

Il y a 5 principes sous-jacents au Lean Startup

  • Les entrepreneurs sont partout : Etre entrepreneur, ce n’est pas forcément être enfermé dans un garage avec 3 copains. On peut être entrepreneur dans une entreprise, ou même sur un projet.
  • L’entreprenariat EST le management : Le Lean Startup est un processus pour les business d’extrême incertitude. Cela requiert un nouveau type de management.
  • Validated Learning : C’est le cœur du Lean Startup. Le processus a pour but d’apprendre, de permettre de valider des hypothèses. Il est facile d’arguer que l’on a appris quelque chose, le but est d’apprendre quelque chose d’utile étayé par des données. Il s’agit donc d’avoir une approche scientifique de la connaissance.
  • Build-Mesure-Learn : C’est le cycle du Lean Startup. Le but d’une startup est de construire un produit à partir d’idées et d’en mesurer l’effet auprès de clients. Puis de produire un nouvel incrément à partir de ce que l’on a appris.
  • Innovation accounting : Ce sont les choses ennuyeuses qui comptent dans le succès d’une startup. Très peu est lié à la vision initiale, car ce que l’on construit finalement n’a pas forcément beaucoup à voir avec l’idée initiale. Ce qui construit le succès, c’est de rester engagé sur les étapes d’évolution, de persévérer ou de pivoter, jour après jour.

Je serais bien en peine de résumer simplement ce livre. Je vais donner les grandes lignes des 3 parties (mais vous trouverez cela sur Amazon de toute façon). Puis j’essaierai de vous dire pourquoi j’aime ce livre.

La première partie, « Vision », nous explique les bases du cycle du Lean Startup : Démarrer, définir, apprendre et expérimenter. On part dune vision, ce que Ries appelle « l’acte de foi ». Mais au lieu de partir gaillardement de l’avant, on s’efforce de valider la ou les hypothèses sous-jacentes en construisant et exposant le plus rapidement possible un MVP (minimal viable product). Contrairement aux approches agiles, le focus se fait sur la vitesse et ce que l’on souhaite apprendre au détriment éventuel de tout le reste !

La seconde partie, « Piloter », évoque le processus dans sa durer : Tester ses idées, les mesurer et savoir interpréter les mesures, en terme d’évolution et non en « mesure de vanité ». Enfin cette partie évoque un des thèmes centraux de l’approche : pivoter.

La troisième partie « Accélérer » traite de tout ce qui permet de raccourcir le temps de cycle : diminution des lots (hérité du Lean), déploiement continu, etc…

J’ai été très (trop) vite à parcourir le contenu du livre et j’ai zappé beaucoup de points importants. Ce n’est pas critique, car vous allez le lire. Le Lean Startup m’apparaît ici comme l’étape qui suit l’agilité.

Une étape où l’on ne se satisfait plus de backlog ou de user stories, mais où l’on va au front pour comprendre et décider de la prochaine étape.

Une étape où il n’y a plus une équipe de développement qui développe (certes en collaboration) avec un utilisateur où un Product Owner, mais simplement un startup qui fait le boulot et où on ne parle plus de rôle.

Une étape où le ne mesure plus la vélocité d’une équipe au nombre de user stories achevées, mais où cette notion même n’a plus de sens et où on se focalise sur le progrès du business.

Eric Ries fait passer dans son livre des concepts forts, étayé par des idées empreintes d’intelligences avec de nombreux exemples à la clé qui en rendent la lecture très agréable. Il n’y a réellement aucune longueur dans ce texte. Au contraire : il m’apparaît que faire le tour de ce sujet en un seul ouvrage n’est pas possible. J’ai eu l’impression d’avoir entre les mains « l’extreme programming » des années 2010, un livre qui engendrera et nécessitera des développements. En fait cela a déjà commencé. La lame de fond « Lean Startup » ne fait que débuter. Elle va impacter de nombreux domaines dans les années à venir et va voir son cercle d’influence s’agrandir, ses idées et ses pratiques se développer.

Je n’ai pas hésité à en faire mon « book of the year » dès maintenant. Nous sommes au mois de Mai et je n’ai guère de doute. Ma question est plutôt : est-ce là mon « book of the décade » ?

Si je n’ai pas été assez clair sur ce que je pense de ce texte et quel est mon conseil : relisez depuis le début, ça ne peut pas vous échapper !

lean-startup

Référence complète : The Lean Startup – Eric Ries – Crown Business 2011 – ISBN : 978-0-307-88789-4

The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses


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

3 décennies de « book of the decade »

J’ai posté il ya quelques jours une liste de mes “book of the year”. Voici une autre liste que j’entretiens: les “book of the decade”

Quels sont les livres qui ont vraiment fait changer votre façon de voir votre métier ? ceux qui ont réellement fait évoluer vos pratiques et peut-être même votre carrière ?

En découpant par tranche de 10 ans, j’ai relevé un livre qui fut chaque fois marquant. J’ai bien un peu triché dans mon découpage, mais que diantre: ce sont MES “books of the decade” ! On retrouve ces titres dans la liste des “book of the year”. C’est assez logique, mais en fait ce n’est pas un critère !

1981-1990 : Gödel, Escher, Bach: Les brins d’une guirlande éternelle – Douglas Hofstadter – InterEdition

1991-2000 : Design Patterns, Elements of reusable object oriented software – Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides

2001-2010 : Extreme Programming Explained: Embrace Change – Kent Beck – Addison Wesley

La quatrième décennie a déjà commencé. Rien n’émerge, mais il me reste 9 ans pour trouver cette perle rare.