Il s’agit probablement d’un des articles les plus importants qu’il m’ait été donné de lire sur l’architecture IT. Après plus de 25 ans dans l’industrie des Systèmes d’Information, j’ai une vision malheureusement assez peu flatteuse de l’architecture pour une raison très simple : no disrespect mais je ne parviens que très rarement à voir, depuis la perspective du client, la valeur qu’elle apporte.
Il s’agit d’un élément essentiel dans le Lean et cette vision est complètement intégrée dans ce retour d’expérience de Phil Calçado à Soundcloud : How We Ended up with Micro-Services at Soundcloud. Plus que le buzzword technique des micro-services (par lequel j’ai découvert cette belle histoire via un billet des toujours impeccables Octo Technology), ce qui est fascinant ici c’est qu’il s’agit d’une transformation Lean de l’architecture d’un acteur majeur du Web.
Un challenge business, de la rigueur intellectuelle au raz du métal, la pensée lean en action, une vision d’un authentique système d’apprentissage au delà du simpliste et démagogique (“embauchez les bonnes personnes et foutez leur la paix”) et enfin un écho d’une vie passée : un article admirable en 5 points …1/ Un challenge business
La première raison est qu’il n’est pas ici question de voeux pieux, de buzzword de management ou de principes de leadership génériques.
On part ici d’un objectif business très clair : réduire de façon considérable les délais de livraison des projets et améliorer la productivité (rappel de la loi de Little : accélérer la livraison des projets améliore la productivité).
La transformation racontée ici s’opère depuis la perspective du client, dans le marché ultra-concurrentiel du streaming musical sur le web.
2/ Au raz du métal
Puis on regarde ce que cela implique que ce soit au niveau de l’organisation ou de l’architecture. Et sur ce dernier point, il n’y pas de miracle, on est au raz du métal, sur des détails et des questionnements très précis. Un exercice rigoureux et salutaire car comme le rappelle Jason Fried de Basecamp (ex 37signals), There are no short-cut.
Cette rigueur s’exprime avec éclat avec les 5 Whys auxquels l’équipe de Phil soumet leurs croyances d’architecture :
Why can’t we have economies of scale for multiple, smaller, systems? We can. We will need to do some experimentation to find out what tooling and support we need. Also, depending on how many separate systems we build, we will need to think economies of scale as well, but this is how Netflix, Twitter, and others build their systems.
Ce sera moins lu que du Gary Hamel (oui, je sais, j’ai aussi pêché) mais je peux vous garantir qu’il y a là davantage de rigueur intellectuelle et donc de valeur à en retirer.
3/ La pensée Lean
Ce qui nous amène au second élément qui rend cet article incontournable : il s’agit d’un exercice Lean. Une pensée classique et rigoureuse.
Nous utilisons pour la résolution de problèmes complexes cet outil qui est le A3, un outil beaucoup moins sexy qu’une appli de géolocalisation ou qu’un atelier post-it, mais un outil incontournable pour ce qui est du développement de l’apprentissage au sein de l’organisation : c’est celui qu’utilise Toyota depuis plusieurs décades.
Cet article de Phil Calçado est conçu comme un A3 : contexte, formulation du problème en tant qu’écart de performance, cible, puis une boucle de résolution de problèmes : identification des obstacles, hypothèses de causes, actions, vérification des résultats obtenus, Adopter / Ajuster / Abandonner.
4/ Un système d’apprentissage
Ce quatrième point méritera un article #hypertextual à lui tout seul. On entend beaucoup cette hypothèse selon laquelle si on met des personnes intelligentes (smart) ensemble elles vont, comme par magie, obtenir des résultats.
Ce que l’on voit ici c’est que, étrangement, ce n’est pas aussi facile que ça. Dans son étincelante présentation au LIS 2015, mon collègue Régis Médina propose de décoder le moteur de la transformation numérique. Et ce moteur c’est l’apprentissage des équipes.
L’objectif est non seulement d’avoir dans l’organisation des personnes capables d’apprendre (plutôt que des personnes détentrices d’un savoir – knowledgeable – voir à ce sujet l’article de Francesca Gino et Bradley Staats paru sur la Harvard Business Review Why Organizations Don’t Learn) mais surtout un système organisationnel qui permet d’institutionnaliser l’apprentissage.
On voit ici à l’oeuvre les apprentissages validés de l’équipe grâce au système de management Lean. Une illustration de la proposition de Régis et une preuve supplémentaire que le lean est la stratégie de la transformation digitale.
5/ Une architecture Lean
La dernière raison pour laquelle ce retour d’expérience résonne particulièrement est qu’il fait écho directement à mon expérience dans la Start-Up In Fusio (2004-2007).
Nous avions alors déjà mis en place, sous l’égide de l’épatant Frédéric Brunel, une architecture micro-services : celle-ci nous permettait de livrer des centaines de milliers de transactions par jour pour l’industrie mobile.
Pas de Serveur d’Applications boursoufflé et non performant : après de longues et douloureuses investigations qui ne donnèrent aucun résultat, nous avions jeté à la poubelles nos serveurs d’application WebLogic qui ne tenaient pas la charge.
Pas de protocole indigeste SOAP, juste des APIs en XML-RPC qui nous permettait de déployer de nouveaux services en 3 jours au lieu de un mois (nos livraisons mensuelles). Une authentique architecture Lean permettant de répondre aux besoins du client.
Transformation Lean de l’architecture
Avez vous une telle expérience de transformation Lean d’une architecture IT ? i.e une transformation qui permet de passer à une architecture centrée sur le client et la valeur qu’elle permet d’apporter, une architecture qui supprime les gaspillages (attentes, retouches, surproduction, gestes inutiles, sur-qualité, transports), qui facilite un flux de livraison de solutions, au rythme attendu par le client ?
Je serais très intéressé de l’entendre car lorsque tout le monde parle de transformation numérique, il est important de garder à l’esprit que cela passe aussi par une transformation rigoureuse de l’architecture des systèmes IT …
1 Comment