Le temps

Voici une vérité assez dérangeante : un intégrateur peut intégrer n’importe quelle page en 1 heure. Oui, mesdames et messieurs, en seulement une heure.

Alors, bien sûr, en aussi peu de temps, il ne faudra pas s’attendre à avoir un résultat de qualité (on en revient au classique trio coût-temps-qualité). Il y a des chances pour que, sous cette contrainte, vous ayez droit à des tableaux, des noms de classe CSS numérotés, des position:absolute partout, des grosses images, et des plugins jQuery à gogo. Votre page sera peut-être totalement inmaintenable, mal référencée, pas compatible IE6, super lourde et pas tout à fait fidèle à la maquette. Mais, youpi, vous avez fini en une heure.

Si vous travaillez en agence, ça vous est surement déjà arrivé : une newsletter, une page landing, voire un site complet à intégrer en urgence. On vous laissera quand même peut être plus qu’une heure. Mais le temps deviendra votre première contrainte.

Il est alors important de savoir ce que vous devez privilégier. Il y a quelques mois, j’expliquais mes critères de qualité d’une intégration basé sur les 3 questions suivantes :

  1. Est-ce que c’est bien pour l’internaute ? (performance, compatibilité, accessibilité)
  2. Est-ce que c’est bien pour le projet ? (graphisme, référencement, développement)
  3. Est-ce que c’est bien pour moi ? (bonnes pratiques, maintenabilité)

Je pense que, même sous la contrainte du temps, il faut garder à l’esprit qu’on travaille pour l’internaute. Du coup, on sera amené à abandonner d’abord les dernières critères. Par manque de temps, je laisserai sûrement de côté mes bonnes pratiques habituelles et la maintenabilité de mon code. Et si vraiment je n’ai toujours pas le temps, je laisserai de côté le respect du graphisme, des bonnes pratiques du référencement ou des contraintes de dev. Et enfin seulement, si vraiment je n’ai pas le temps, je ferai l’impasse sur la performance, la compatibilité ou l’accessibilité.

Il paraît clair qu’avec trop peu de temps, on n’aura jamais un résultat de qualité. Mais à l’inverse, trop de temps devient nuisible à l’intégration. Si pour la même intégration, on vous accorde non plus une heure, mais une semaine complète, vous risquez fortement de tomber dans de la surréflexion et de chercher à faire de la sur-qualité. Votre page risque alors de devenir à nouveau inmaintenable, sur-optimisée et éloignée des vraies bonnes pratiques.

Le temps est sans doute le pire ennemi de l’intégrateur. Et plus que n’importe quelle notion technique, c’est certainement la chose la plus difficile à apprendre à gérer.

  1. Nico, le

    D’où l’intérêt d’être capable de produire de la qualité rapidement : cela évite de faire des sacrifices drastiques. Sur certains cas où les demandes sont déraisonnables, on y est forcé, mais la plupart du temps – heureusement – un temps correct permet de produire quelque chose de satisfaisant.

  2. Thomas Huguerre, le

    Le temps est sans doute le pire ennemi de tous les réalisateurs techniques, qu’ils soient intégrateurs, développeurs, testeurs, …

  3. Romain, le

    @Nico,
    Pour cela, faudrait déjà que les personnes soient bien formées! Or, combien de fois on te refile un truc que tu connais pas à intégrer en 2 jours alors qu’il en faut 3 ou 4 pour quelqu’un d’expérimenté ? Je parle surtout pour l’intégration de solution que je connais mais j’imagine que ça doit même arriver en intégration Web vu la gueule de certains sites pro malgré un bon budget…

    D’ailleurs, c’est le problème des grosses boites, particulièrement les SSII gérées par des financiers, qui ne veulent pas investir et faire des efforts pour garder leur effectifs (d’où les « turnover » très importants). Du coup, on fait du « low cost » à longueur de journée et ce, même avec des personnes motivées alors qu’il suffirait de pas grand chose pour que la qualité soit bien meilleur et parfois même, éviter des erreurs qui au final plombent la marge d’un projet…

    @Rémi,
    Donc les 3 questions c’est bien, mais je pense que c’est déjà un luxe de pouvoir se les poser. En général c’est plutôt: fait au mieux, du moment que ça répond à la demande (=juridiquement) et que c’est fini avant la « deadline », non?

  4. Nico, le

    @Romain : sur des solutions à utiliser, en effet, c’est un problème.

    Mais en intégration Web pure, c’est extrêmement rare qu’on me file un truc dont je n’ai absolument aucune idée de comment l’intégrer. Comme je le dis au client, tout est possible (et je le pense sincèrement)… mais tout ne se fait pas à la même vitesse. Typiquement, quand il y a de gros délires d’animations jQuery à programmer à la main, ça prend du temps.

    Par contre, qu’une agence de comm’ me file un truc qui sera très chiant à intégrer (typiquement avec des graphistes qui viennent du print et qui n’ont aucune culture du web), ça, ça arrive ! Mais d’entrée de jeu, on pose les contraintes : « avec ce que vous nous demandez, on devra procéder ainsi, ce qui limite… blablabla. Ok ou pas ? »

    Pour ma part, le problème du low cost est relativement limité, ça m’arrive parfois, mais fort heureusement, c’est pas ma majorité.

  5. WS Interactive, le

    Qualité et précipitation : autant dire qu’il est difficile d’en faire bon ménage. Éduquer les clients par rapport à cette contrainte est déjà le point de départ pour éviter tout quiproquo. Évidemment cela ne paraît pas naturel, mais il faut savoir dire non quand la demande n’est pas réaliste, notamment lorsque le niveau de qualité attendu n’est pas en accord avec ce que le budget offre en temps de réalisation.

  6. KubX, le

    J’aime beaucoup tes articles. Perso, il suffit d’avoir de l’expérience en intégration pour réaliser une inté rapidement répondant à tes principes. C’est sur que s’il faut faire des sprites, optimiser le chargement et tout et tout, ça prend plus de temps.

  7. Skoua, le

    Je pense aussi qu’au bout d’un moment on finit par avoir des bases sur lesquelles commencer un projet qui permettent de gagner du temps en amont.

    Par exemple, j’ai un mini-framework fait maison avec lequel je démarre la majorité de mes sites genre Bootstrap / MVC en 20 lignes, et j’utilise en plus Codekit et ImageOptim qui permettent d’optimiser la rapidité sans faire grand chose, ce qui permet d’avoir au moins un standard assez haut en terme de performance et ce sans que ça prenne beaucoup de temps.

    Mais je suis très d’accord avec toi que souvent la qualité d’un projet tient au temps qu’on peut y passer (souvent déterminé aussi par le budget du client, personnellement j’y passe le temps qu’on veut bien me payer) et cette pyramide inversée des priorités c’est toute la vie d’un dev !