L’optimisation prématurée est la source de tous les maux

optimisation-prématurée

Le succès est une forme d’optimisation – une optimisation physique, technique ou une optimisation des profits.

Les biologistes parlent de « hill climbing » pour illustrer ce principe, où les reliefs du paysage correspondent à la valeur sélective d’une espèce. Plus une espèce sera adaptée à son environnement, plus sa colline sera en altitude. Le niveau zéro au-dessus de la mer correspond à son extinction. La girafe dans la savane ou l’étoile de mer dans l’océan sont au sommet de leurs collines respectives.

En optimisant prématurément, vous allez grimper la mauvaise colline. Vous allez atteindre un maximum local : le point le plus haut que vous voyez aujourd’hui, mais pas le plus haut possible. Le problème, c’est que pour changer de colline, il faut d’abord descendre de la sienne. Il faut devenir moins parfait, moins optimisé, moins rentable. Il faut se rapprocher du niveau zéro, réduire ses chances de survie.

Plus l’organisme aura connu le succès, plus il aura du mal à descendre. Dans un monde où le succès est la seule chose qui compte, descendre de la montagne est impensable. Mais à long terme, c’est le seul moyen de survivre.

C’est vrai pour les animaux comme pour les entreprises.

Le T-Rex a atteint le sommet de l’optimisation physique au temps des dinosaures ; Kodak a atteint le sommet de la photographie dans les années 1950. Ils auraient pu connaître le succès pendant des années, à condition que leur environnement reste stable. Mais dans des périodes de rapide coévolution, le paysage change rapidement et de nouvelles montagnes apparaissent. Un jour on a le T-Rex et Kodak au le sommet de la chaîne alimentaire, et le lendemain ils ont disparu.

C’est pour ça que les grosses boîtes ont du mal à changer, à s’adapter. Après tous les efforts faits pour arriver au sommet, personne n’a envie de tout recommencer.

C’est la même chose pour vous. Plus vous montez haut sur votre colline, plus vous devez devenir conscient des montagnes qui vous entourent pour éviter l’optimisation prématurée. Et plus vous devez élargir l’éventail de vos compétences.

Ne perdez pas de temps à apprendre des compétences qui vont devenir obsolètes. Apprenez à apprendre.

Le meta-learning, comment apprendre à apprendre

Très peu de compétences vont survivre aux changements à venir. La plupart des métiers du futur n’existent pas aujourd’hui. Donc au lieu de demander ce que vous devez étudiez – l’intelligence artificielle, la réalité virtuelle, les biotechnologies – apprenez plutôt à apprendre.

Les illettrés du 21e siècle ne sont pas ceux qui ne savent pas lire ou écrire, mais ceux qui ne sont pas capables d’apprendre, de désapprendre et de réapprendre derrière. (Alvin Toffler)

C’est quelque chose qu’on n’apprend pas à l’école, vous devez faire l’effort de votre côté. Vous ne savez pas tout quand vous finissez vos études, vous devez continuez à apprendre tout au long de votre vie.

L’apprentissage continu est un moyen d’éviter l’optimisation prématurée.

C’est pour ça que lire et voyager sont importants : ça vous force à remettre en question vos croyances, à désapprendre ce que vous savez déjà et à penser différemment.

L’optimisation prématurée dans les startups

Avant le Product/Market Fit, il ne faut pas chercher à tout optimiser. Les interviews sur BFM, les tests A/B sur le CTA de votre landing page, les articles sur Maddyness, le design de votre logo, vos cartes de visite… tout ça ne sert à rien tant que vous ne faites pas rentrer d’argent dans les caisses.

Apprenez à faire la différence entre ce qui est facile et ce qui est important. Identifiez l’action qui rendra toutes les autres faciles ou inutiles. Concentrez-vous sur les fondamentaux, sur ce qui ne change pas.

Alors vos chances de réussite passeront peut-être de 10 à 20 %.

Optimiser prématurément vs. Optimiser tout court

Le titre de l’article vient d’une citation de Sir Tony Hoare rendue populaire par Donald Knuth.

La première chose à noter est qu’Hoare ne dit pas « l’optimisation est la source de tous les maux. » L’optimisation est nécessaire dans tout process, c’est l’aspect prématuré qui est le problème.

La seconde chose à noter est qu’il ne dit pas non plus seulement, « l’optimisation prématurée est la source de tous les maux. » La citation complète est en réalité : « On doit éviter les petits détails, disons 97% du temps : l’optimisation prématurée est la source de tous les maux. »

Les petits détails – le genre de choses qu’on améliore avec des micro-optimisations – ne valent pas le coup dans la phase initiale de création d’un système. On notera aussi qu’Hoare ne dit pas non plus de ne jamais s’occuper des petits détails. Il parle de 97% du temps. Les 3% du temps restants, ces petits détails peuvent faire la différence. Ça semble ridicule, mais dans le cas d’un programme informatique, ça fait 1 ligne de code sur 33. Largement de quoi faire planter le système.

Si au niveau micro, l’optimisation prématurée est toujours une mauvaise idée, ça ne doit pas vous empêcher de penser à la performance. Ne pas optimiser prématurément ne veut pas dire ne pas optimiser du tout.

***

Références :

Kevin Kelly – Premature optimization – https://www.edge.org/response-detail/27063

Randall Hyde – The Fallacy of Premature Optimization – https://ubiquity.acm.org/article.cfm?id=1513451