Dan Sturtevant, ancien élève du MIT, a cofondé Silverthread, une société qui diagnostique et résout les problèmes logiciels structurels. Inspirés par les recherches du professeur Alan MacCormack, les outils de Silverthread visent à rendre les bases de code plus modulaires et plus efficaces, en comparant l’architecture de code idéale aux briques LEGO.
Le MIT spinout Silverthread aide les entreprises à transformer des bases de code complexes en systèmes modulaires qui peuvent être modifiés ou mis à jour sans problème.
En tant qu’ingénieur logiciel, Dan Sturtevant SM ’08, PhD ’13 a occupé des emplois dans lesquels il était facile d’apporter une petite modification à une base de code – et des emplois dans lesquels une modification tout aussi minime entraînerait la panne ou le dysfonctionnement d’autres parties apparemment aléatoires de la base de code. Faire ces changements pourrait rappeler à Sturtevant ce qu’il aimait dans le fait d’être programmeur, ou lui donner le sentiment d’être un idiot.
Cette expérience a encore intrigué Sturtevant lorsqu’il est arrivé au MIT en 2006, d’abord en tant qu’étudiant à la maîtrise, puis en tant qu’étudiant au doctorat. Ensuite, il est tombé sur une série d’articles rédigés par l’ancien professeur invité de la MIT Sloan School of Management, Alan MacCormack, qui, selon lui, expliquaient son dilemme.
Les articles décrivaient une nouvelle façon d’analyser la structure des grandes applications logicielles afin de détecter les problèmes non pas avec des lignes de code uniques, mais avec la façon dont les fichiers de code interagissent et se chevauchent. L’idée a constitué la base d’une nouvelle approche pour évaluer et améliorer le code, et Sturtevant a ensuite fait équipe avec les auteurs de l’article pour fonder Silverthread.
L’essor de Silverthread
Au cours des années qui ont suivi, Silverthread est passé du diagnostic de problèmes structurels cachés dans les bases de code à la résolution de ces problèmes en rendant plus modulaires certaines des plus grandes bases de code au monde.
« Si vous imprimez une base de code de 100 millions de lignes et que vous l’empilez, elle s’élève à environ un mile et demi dans les airs », explique Sturtevant. « Il est impossible pour un développeur de comprendre tout ce qui se passe dans ce système : toutes les interconnexions et toutes les façons dont si vous modifiez une chose, cela gâche d’autres choses. C’est incompréhensible, et de nombreuses organisations et entreprises échouent parce que leurs logiciels accumulent ce que nous appelons une dette technique ou architecturale.
La dette technique est l’un des noms les plus professionnels que les développeurs ont donnés à un problème qui, selon les recherches de Silverthread, affecte les entreprises depuis des années et entraîne une baisse de la productivité des développeurs, une rotation plus élevée et une baisse du moral des employés.
Aujourd’hui, Sturtevant se réjouit d’entrer dans des organisations comme celles dans lesquelles il a travaillé, et de résoudre des problèmes que les développeurs connaissaient mais n’arrivaient pas à mettre le doigt sur.
« Les équipes travaillant sur les parties du code qui rencontrent ces problèmes sont misérables », déclare Sturtevant. « Ils sont improductifs, luttent tout le temps contre les bugs et sont démoralisés, travaillant jusqu’à minuit le vendredi juste pour essayer de faire fonctionner les choses – et le problème n’est pas de leur faute. »
Une révélation au MIT
Sturtevant a obtenu sa maîtrise du programme de conception et de gestion de systèmes (SDM) du MIT au moment même où l’économie s’effondrait en 2008, il a donc décidé de rester.
« J’ai dit : j’ai tellement apprécié mes 18 mois au MIT que je ne sais pas ce que j’obtiendrai d’un doctorat, mais je sais que si je suis dans cet environnement pendant encore quelques années, cela en vaudra la peine. », se souvient Sturtevant. « La communauté est si bonne, les opportunités sont si bonnes que je savais que cela mènerait à de grandes choses. »
Sturevant était étudiant en doctorat lorsqu’il a découvert les articles de MacCormack, co-écrits avec Carliss Baldwin, ancien professeur de la Harvard Business School et cofondateur de Silverthread.
«J’ai lu ces journaux et une ampoule s’est éteinte», raconte Sturtevant. « En tant que développeur de logiciels, dans les entreprises où ma vie était un enfer, je travaillais peut-être dans une partie d’une base de code qui pouvait être identifiée comme problématique. »
Dans le cadre de sa thèse de doctorat, Sturtevant a décidé de retourner dans l’une des entreprises où il avait du mal avec la nouvelle approche et a découvert qu’il avait travaillé sur des sections de code mal structurées – ce qu’il appelle parfois l’architecture spaghetti – depuis le début. . Il a également travaillé pour quantifier l’impact du problème, constatant que non seulement les bogues logiciels étaient pires dans les endroits dotés d’une architecture spaghetti, mais aussi que ces bogues étaient plus susceptibles de nuire à l’expérience client. Les développeurs travaillant sur cette partie de la base de code étaient 10 fois plus susceptibles d’arrêter ou d’être licenciés.
Lorsque Sturtevant a obtenu son doctorat, il a présenté les résultats dans le cadre d’une série de webinaires hébergés par SDM. Plus de 300 personnes y ont participé.
« Apparemment, c’était un problème que beaucoup de gens rencontraient », se souvient Sturtevant. « Les participants étaient des dirigeants de grandes entreprises. Ensuite, mon téléphone sonne sans décrocher. Je reçois des appels de grandes entreprises avec beaucoup de diplômés du MIT qui ont suivi le programme SDM et qui écoutaient. Ils disaient tous : « J’ai aussi ce problème. Avez-vous un produit que je peux acheter ? »
Sturtevant a fondé Silverthread avec MacCormack, Baldwin et Michael Davies, maître de conférences au MIT et entrepreneur technologique. L’un des premiers anciens élèves du MIT avec lesquels Silverthread a travaillé a travaillé dans une grande agence gouvernementale.
« Il a dit : ‘Je parie que cela explique beaucoup de problèmes avec notre code, je parie que cela explique pourquoi des programmes gouvernementaux entiers échouent, et je parie que cela explique une grande partie du gaspillage qui se produit dans le développement de logiciels pour le gouvernement’. » Sturtevant se souvient. « Le gouvernement possède certaines des bases de code les plus anciennes et les plus vastes au monde. »
Les premiers travaux de Silverthread avec les clients ont diagnostiqué leurs problèmes à l’aide des algorithmes développés par MacCormack et Baldwin. Aujourd’hui, l’entreprise s’efforce de rendre l’architecture Spaghetti plus modulaire afin qu’elle puisse être modifiée sans créer une complexité insurmontable ni des problèmes inexplicables.
Solutions et philosophie de Silverthread
Silverthread appelle ses outils la suite CodeMRI, qui comprend le portefeuille CodeMRI et CodeMRI Diagnostic pour évaluer la santé technique et l’impact économique des systèmes logiciels, ainsi que CodeMRI Care et CodeMRI Modernize pour corriger les bases de code.
Sturtevant décrit une bonne architecture de code comme les blocs LEGO. Les pièces peuvent être combinées, empilées ou déplacées de manière modulaire. Il considère l’architecture spaghetti comme des blocs LEGO qui ont fondu ensemble.
« Si vous pensez à une base de code massive avec des dizaines de milliers de fichiers de code source, à des applications volumineuses comme Microsoft Windows ou Google, de nombreuses personnes travaillent à créer différents algorithmes et à encoder les connaissances du domaine dans le logiciel », explique Sturtevant. « C’est la forme la plus pure de travail de connaissance, et c’est comme l’écriture collective de poésie – sauf qu’une grande partie de la poésie est de la merde et qu’elle a été construite au fil des décennies et a expiré et pourri de différentes manières. En utilisant des techniques automatisées, nous pouvons découvrir la structure cachée de cette chose massive que personne ne peut comprendre, puis corriger ces problèmes.
L’avenir des bases de code avec Silverthread
Silverthread connaît une croissance rapide car elle travaille avec des banques, des startups de biotechnologie, des constructeurs automobiles et des agences gouvernementales. Sturtevant affirme que les outils de Silverthread sont indépendants du secteur et ont de la valeur pour toutes les grandes bases de code construites au fil du temps.
En fin de compte, Sturtevant affirme que les bases de code que Silverthread aide à créer sont plus dynamiques, permettant aux entreprises de récolter tous les fruits d’innovations telles que le cloud computing.
« Lorsque votre logiciel est comme des briques LEGO, vous pouvez comprendre les relations entre chaque pièce et chaque pièce peut évoluer indépendamment », explique Sturtevant. « C’est un système sain. »


