La surréflexion

Hier j’ai lu un article formidable chez Aentan qui parle de surréflexion :

Avez vous vu le film de Bollywood « 3 Idiots » ? C’est le film le plus rentable de tous les temps en Inde qui raconte les aventures de 3 ingénieurs étudiants à la fac. Une des scènes m’a particulièrement marqué.

– Dans l’espace, les stylos à encre ne peuvent pas être utilisés. Donc après des millions de dollars de dépenses, les scientifiques ont inventé ce stylo ! Grâce à lui vous pouvez écrire sous n’importe quelle angle, sous n’importe quelles températures, sans gravité. 

– Monsieur, pourquoi les astronautes n’ont pas essayé un crayon dans l’espace ? 

Le reste de l’article est tout aussi génial avec un exemple de puzzle qu’on trouve sur Facebook, ou comment couper une pizza en 11 parts égales.

La surréflexion est une vraie plaie en intégration. Si vous passez trop de temps à réfléchir à un problème, à la façon d’intégrer une maquette, vous finirez bien souvent par apporter une solution démesurée.

Pour une page donnée, vous pourrez trouver des milliers de façons différentes de l’intégrer. Bien sûr dans le tas il y aura des milliers de mauvaises façons de l’intégrer. Mais il n’y aura jamais une seule bonne façon d’intégrer une page. Chaque choix réalisé lors d’une intégration, que ce soit dans l’utilisation de vos balises sémantiques, dans les styles choisis pour réaliser une mise en page, ou dans la façon de coder des interactions en JavaScript, aura un impact sur le résultat final dans des directions différentes. Vous pouvez créer une page dont le poids est parfaitement optimisé, mais plus difficile à maintenir. Vous pouvez créer une page en urgence dans un temps très court, mais elle ne sera peut être pas très optimisée. Ces deux versions peuvent être toute aussi bonne, selon les critères requis pour cette page en particulier.

Si vous passez trop de temps à surréflechir le moindre de ces choix, vous ferez du sur place.

  1. Nico, le

    +1000 , c’est ce que j’essaie de faire comprendre à toutes les personnes qui viennent m’expliquer que mes tutos sur Openweb ou Alsa sont pas assez ci ou trop ça… il y a des centaines de façons de faire, le tout est d’avoir une logique dans ses choix et d’être capable de les expliquer.

  2. clemherreman, le

    Le fond est très vrai, mais l’exemple mauvais. On ne peut pas utiliser un crayon a papier dans un environnement clos et en apesanteur, pour des raisons de sécurité : mines qui se cassent et se logent partout, besoin de tailler = poussiere, bois = risques d’incendie.

    Source: http://fr.wikipedia.org/wiki/Space_pen#Utilisation_dans_les_programmes_spatiaux_am.C3.A9ricains_et_Russes

  3. iDorian, le

    C’est tellement vrai ! Ce matin j’ai passé 2 heures à me fondre le cerveau pour intégrer deux éléments issus d’une maquette qui devaient impérativement se chevaucher de manière assez bizarre, et je focalisais sur le nombre deux, alors qu’il m’a finalement suffit de les fusionner, et le problème à été résolu.

    Après, c’est toujours pareil : conseiller de ne pas « surréfléchir » a priori c’est super facile, mais quand t’es dans l’action tu ne penses pas forcément à prendre du recul et à te dire « attends, je réfléchis trop là mon gars » !

  4. Draeli, le

    A l’inverse oublier de réfléchir et intégrer avec la méthode LaRache© peut donner des résultats tout aussi néfastes amenant à du surplace voir à un recul (l’exemple du crayon papier est bon).
    Donc selon moi il est important avant de commencer l’intégration de ce demander « Dans quel cadre rentre l’intégration ? », quel est « l’objectif » visé par le donneur d’ordre/client et selon la réponse que l’on a faire le choix qui paraît le plus approprié.
    Ainsi je pense que plutôt que de parler de sur-réflexion (ce qui peut aussi parfois se révéler vrai), il serait plus approprié de « jusqu’au boutisme » démesuré ou de perfectionnisme non approprié. Les termes sont relativement proches mais nuances à mon avis par rapport à la sur-réflexion.

    Après comme l’a justement fait remarquer iDorian, quant on est dans l’action, il est difficile de « sortir la tête du guidon » et prendre une décision qui soit approprié, c’est pour ca que généralement dans une équipe à plusieurs intégrateurs (ce qui reste une chance), discuter et échanger entre collègues du même domaine permet d’avoir des avis différents et d’éviter de se focaliser sur une décision qu’on peut être amené à regretter à terme.

  5. Nico, le

    Je pense aussi qu’arrivé à un certain niveau en intégration, on doit être capable de bosser à l’instinct, de manière très agressive (et très productive) : plus besoin de réfléchir, ça doit venir tout seul.

    Hormis projet qui nécessite une complexité d’intégration vraiment élevée, un template doit être vite et bien fait, ça doit « connecter » dans le crâne, sinon, on n’est pas fait pour ce métier. Et curieusement, c’est encore quand ça fonctionne à l’instinct que je trouve cela le plus plaisant.