Quiconque a déjà démarré une entreprise sans grands moyens le sait : Bien faire les choses est un luxe. Il faut souvent différencier les priorités urgentes de celles très urgentes. Sinon, c’est le risque de ne pas avoir de produit à vendre. Pas de ventes, pas de revenus. Pas de revenus, pas d’entreprise.
Pour avoir travaillé dans des environnements de grandes entreprises où tout est structuré et formalisé au centimètre près, c’est évident qu’une PME ne peut se permettre une même approche de développement. On aimerait bien avoir de beaux modèles conceptuels et une architecture de base de données que l’on pourrait faire encadrer.
La réalité est tout autre. Dans mon cas bien personnel, mon architecture est tracée au crayon plomb à l’endos d’une feuille de papier recyclée qui m’a déjà servie de liste d’épicerie. Tout est là. Ma BD, mon architecture logicielle, mes concepts, les grandes idées, etc. Rien de très chic. Mais c’est fonctionnel et les affaires bougent. C’est ce qui compte.
Et qui dire du code développé. Entre nous, on se comprend. Mais la journée que d’autres arriveront dans ce spaghetti, on aura l’air d’une bande d’amateurs. Bien sûr, on programme de manière efficace et puissante, mais on coupe les coins ronds sur les commentaires, la documentation et autres détails superficiels. Au diable la variable « numberOfItems », « nb » fera l’affaire. Pas le temps de tout bien faire, il faut choisir l’important. La documentation, ça sera plus tard quand une grande firme nous aura achetée et qu’on aura le luxe et le temps de bien commenter. Là, c’est le temps de produire.
La dernière fois que j’ai lancé quelque chose en voulant trop bien faire, je me suis cassé les dents après trop de développement et pas assez de mise en marché. Les coffres étaient a sec et notre produit n’était même pas encore prêt à vendre.
À voir nos méthodes de travail, personne de sensé ne nous engagerait pour gérer le développement d’un projet. Pourtant, nous faisons l’impossible avec nos contraintes de temps et d’argent. Et après tout, les résultats sont là puis les produits livrés à temps. Autrement dit, il ne faut pas se prendre les pieds dans les fleurs du tapis. On a beaucoup mieux à faire. Comme réussir par exemple.
Par contre, c’est important de SAVOIR comment bien faire. Parce qu’une fois que les moyens le permettent, il faut corriger les lacunes créées volontairement. Sinon, le produit ne sera qu’un cumul de patchs par-dessus patchs et je vous laisse deviner à quoi ça ressemblera à long terme.
Bref, la morale de l’histoire est que, malgré notre bonne volonté, il est impossible de tout bien faire quand on a ni le temps ni l’argent. Il faut choisir sur quoi on concentra nos efforts et donc la qualité. Comme Guy Kawasaki le dit si bien pour les startups : Ship, then fix.