Tout le monde sait qu'une estimation précise des projets de développement web est importante, mais la question est de savoir comment y parvenir. Je m'appelle Sergey, et je suis CTO chez JetBase. Chaque jour, j'estime des centaines de projets, et le jeudi, j'anime une école de chefs d'équipe, où des leçons distinctes sont dédiées à l'estimation.
Au sein de notre agence, nous avons développé une méthodologie d'estimation que nous affinons constamment. Aujourd'hui, je voudrais partager mes observations et mon expérience avec toutes les personnes intéressées. Attendez-vous à des exemples concrets tirés de la pratique, ainsi qu'à de nombreuses statistiques et chiffres.

J'écris cet article pour toutes les personnes intéressées par le sujet, mais principalement pour mes collègues chefs d'équipe, ainsi que pour nos clients qui contactent quotidiennement notre service commercial et demandent des prix. Une estimation précise des projets est cruciale pour ces deux catégories de personnes.
J'ai souvent rencontré la frustration des débutants en gestion d'équipe et des clients. Les nouveaux chefs d'équipe se sentent frustrés lorsqu'ils sont confrontés à des données client insuffisantes et ont peur de poser des questions supplémentaires, tandis que les clients, à leur tour, sont perplexes lorsqu'ils voient certains chiffres. Tous ont besoin d'une estimation parfaite, mais est-ce facile à réaliser ? Voyons quelle est la véritable histoire.
Voulez-vous vraiment un TikTok ?
Commençons par l'histoire d'un client qui nous a un jour approchés, désireux de créer une plateforme sociale similaire aux applications de streaming existantes et populaires comme Instagram et TikTok. Les exigences fournies étaient assez générales, comme c'est souvent le cas dans 95 % des situations, et, comme d'habitude, il n'y avait aucune mention des objectifs commerciaux du projet.

Il n'était pas difficile de deviner que l'objectif commercial du projet était la vente de publicité. Le désir primordial du client était de savoir combien de temps et d'argent il faudrait pour atteindre cet objectif. Eh bien, nous aurions pu donner des chiffres approximatifs comme 3 ans et 1 million de dollars, mais ce n'est pas du tout notre approche.
L'objectif de notre entreprise est de fournir un travail de qualité, et celui de l'équipe technique n'est pas seulement de fournir une estimation, mais d'analyser les exigences et de définir la mise en œuvre du projet dans le temps, par sprints et par étapes.
Notre objectif est d'évaluer les tâches essentielles au projet, en nous concentrant sur son cœur. Au fil des ans, il est devenu clair pour nous que cette approche est plus réaliste et pratique que de donner des estimations approximatives puis d'essayer de s'y conformer. De plus, l'ère du développement de produits clé en main est révolue.
De nos jours, tous les produits sont développés de manière itérative, évoluant dans leur environnement, dans l'espace.
Pour en revenir au client qui voulait créer une plateforme comme TikTok, personnellement, je crois d'abord que copier le chemin de quelqu'un d'autre n'est pas la voie la plus fiable. De notre point de vue, nous suggérons de ne pas faire de TikTok, en d'autres termes, de ne pas le mentionner du tout. Au lieu de cela, nous proposons d'analyser le projet en fonction de son essence, de décrire ses objectifs commerciaux, d'aborder les points sensibles des utilisateurs et de déterminer comment le produit peut résoudre leurs problèmes.
En d'autres termes, créer un MVP, le tester, apporter des modifications. Ce n'est qu'alors qu'il deviendra clair ce que la plateforme représentera réellement. Au final, elle pourrait s'avérer complètement différente de TikTok, peut-être plus proche de Snapchat.
À propos de l'estimation de projet — En général et très brièvement
Maintenant, passons à l'essentiel — à quoi ressemble le processus d'estimation chez JetBase. Nous avons déjà écrit en détail sur l'estimation dans l'article «Estimation du développement logiciel: Un guide complet».
Voici les trois principales étapes du processus d'estimation (il y aura de la théorie, mais ensuite, vous verrez tout en pratique) :

Étapes de l'estimation :
Étape 1. Obtention des données initiales du client avec des wireframes, un brief de JetBase.io
À ce stade, notre équipe de développeurs, dirigée par un chef d'équipe, procède à une analyse du projet, impliquant non seulement la compréhension des aspects techniques mais aussi l'identification de l'essence du projet. Souvent, cela implique un objectif commercial. Par exemple, un client peut vouloir créer un site web pour l'inscription de participants à une conférence ou une application avec des recommandations de recettes végétariennes. Dans le premier cas, l'objectif est la vente de billets, et dans le second, la vente d'abonnements.
| Conseils pour les parties prenantes et les propriétaires de projet : | Conseils pour les chefs d'équipe et les chefs de projet : |
|---|---|
| En plus des exigences techniques, spécifiez également l'objectif commercial du projet. Ne confondez pas l'essence avec les attentes. Voir l'exemple avec TikTok ci-dessus : | Posez autant de questions que possible à ce stade, en particulier sur les aspects du projet où il y a des lacunes. |
Étape 2. Création de l'architecture du projet, décomposition en sous-tâches
Si, lors de la première étape décrite précédemment, nous voulons comprendre l'essence du projet — le cœur, alors ici, lors de la deuxième étape, nous prenons cette grande idée de projet et la décomposons en petites parties, en visualisant simultanément les fonctions constructives. En d'autres termes, nous décomposons la tâche principale en sous-tâches et créons l'architecture du projet. Cette étape est cruciale et incontournable. Il existe de nombreux types de décomposition en sous-tâches, mais nous en parlerons une autre fois.
La visualisation du flux de travail et de l'architecture du projet inspire confiance à toutes les parties impliquées, en particulier à celles qui investissent des fonds importants. Chez JetBase, nous signons des contrats avec nos clients uniquement après avoir méticuleusement défini les flux de travail du projet à travers des tâches grandes, moyennes et petites. Cela garantit la tranquillité d'esprit de nos clients et favorise une compréhension plus claire dans notre travail collaboratif.
| Conseils pour les parties prenantes et les propriétaires de projet : | Conseils pour les chefs d'équipe et les chefs de projet : |
|---|---|
| Préparez-vous au fait que l'architecture proposée par les développeurs sera légèrement différente de vos attentes. Soyez assuré que les spécialistes techniques sont des experts pour fournir des recommandations plus précises et optimales. | Gardez à l'esprit que plus la décomposition du projet est détaillée, plus l'estimation sera précise. Accordez une attention particulière à cette étape. |
Étape 3. Estimation du projet par étendue des travaux, rôles, responsabilités et heures.
C'est ici que l'on entre dans le vif du sujet — l'estimation proprement dite. À ce stade, vous devez faire appel à votre esprit mathématique et ne rien manquer d'important ; chaque valeur numérique affecte le montant final. En même temps, n'oubliez pas que l'estimation de projet n'est pas seulement une science mais aussi un art, et beaucoup dépendra de la manière dont vous pourrez voir à travers les chiffres et les tableaux l'essence du projet pour lequel tout ce travail minutieux est réalisé.
Estimation réussie. Exemple concret
Certes, il faut apprendre de ses erreurs, mais à l'École des Chefs d'Équipe, où j'enseigne le mardi, lors d'une leçon pratique, je donne un exemple d'estimation précise. C'est un exemple réel du portfolio de JetBase, où nous avons estimé les heures avec la plus grande exactitude. Un miracle ? Non, juste un mélange de science et d'art et beaucoup de travail méticuleux. Il nous a fallu deux semaines pour cette estimation, ce qui est un délai relativement court.

Au cours de la phase d'analyse, nous avons découvert que l'essence du projet est l'inscription des participants à des jeux hors ligne. Cela n'était pas explicitement indiqué dans les données initiales du client, mais il est crucial de le savoir dès le départ. Ensuite, nous avons pris ces données initiales du client et leurs wireframes, décomposant le projet en modules qui décrivent ce qui doit être fait à un niveau technologique élevé, par exemple :
- Créer l'application initiale
- Connecter la base de données
- Créer des entités de projet
- Configurer les services externes, etc.
Ensuite, chaque module doit être décomposé en fonctionnalités et sous-fonctionnalités avec une description détaillée pour chacune, tant pour le frontend que pour le backend. Prenons un exemple concret. Voici une page du projet mentionné.

Un chef d'équipe inexpérimenté ou peu impliqué pourrait estimer cette page de manière approximative et, disons, allouer 8 heures de travail. On peut comprendre leur point de vue, car les clients approchent souvent les développeurs pour un chiffre de projet rapide et final et sont réticents à attendre une période prolongée.
Mais chez JetBase, nous ne suivons pas cette approche. Nous investissons plus de temps dans l'estimation, mais nous obtenons un résultat plus précis. Voici à quoi ressemble notre estimation pour la page mentionnée :

Le fait est que, pour les futurs spécialistes de projet, estimer des sous-fonctionnalités est beaucoup plus simple car il s'agit d'une tâche techniquement claire et compréhensible que le chef d'équipe identifie pendant la phase d'estimation. C'est là que réside le secret d'une estimation précise — dans la décomposition méticuleuse.
Et si vous continuez à décomposer chaque module comme dans l'exemple de la page discutée ci-dessus, puis que vous calculez tous les risques et les tâches connexes, le résultat est une estimation propre et fiable.
Ci-dessous, je fournirai un exemple de mauvaise estimation, et pour conclure toute cette histoire sur la bonne estimation, je peux dire qu'atteindre ce que l'on appelle l'idéal ou la pureté n'est pas si difficile. C'est tout à fait possible et même nécessaire pour tous les participants au processus. Comme l'a dit Steve McConnell dans son livre « Software Estimation: Demystifying the Black Art » :
« Une bonne estimation est une estimation qui offre une vision suffisamment claire de la réalité du projet pour permettre à la direction du projet de prendre de bonnes décisions sur la façon de contrôler le projet pour atteindre ses objectifs. »
Estimation infructueuse. Exemple concret.
Avant d'atteindre le niveau actuel d'expertise en estimation chez JetBase, nous avons commis des erreurs. Nous avons appris à nous améliorer à partir d'elles, et heureusement, il n'y en a pas eu trop. Maintenant, je vais brièvement mentionner un exemple de mauvaise estimation, afin que vous compreniez où se cachent les risques et pourquoi c'est une triste histoire tant pour l'équipe que pour le client.
Contexte :
Une fois, un client nous a approchés pour créer un portail d'apprentissage en ligne destiné aux acteurs et professionnels de l'industrie cinématographique. Très peu de données étaient disponibles au départ, mais nous avons quand même estimé le projet, ce qui a abouti à une estimation globale fixe.

Résultat :
Comme je l'ai mentionné précédemment, nous avons fourni un prix fixe pour le projet. Cependant, en réalité, nous avons fini par dépasser le budget estimé car il est devenu évident que plus de temps était nécessaire pour le travail. Bien que notre client n'y ait pas objecté, le problème est survenu lorsqu'il n'a effectué aucun paiement pour les étapes de travail (sprints), ce qui lui a permis de rejeter le projet entièrement à la fin.
Par conséquent, nous avons dû refaire l'ensemble du projet, ce qui a demandé un double effort, sans que nous soyons rémunérés pour notre travail. Nous avons travaillé sans paiement pour préserver notre réputation, tandis que notre client a perdu son temps précieux et a été déçu de son expérience en développement web. Les erreurs devraient être compensées.
Où les erreurs se sont cachées :
- Le client a fourni des données insuffisantes au départ.
- Nous n'avons pas utilisé de méthodes agiles.
- Le client n'a pas payé les étapes de travail, donc n'a pas été impliqué dans les résultats intermédiaires.
- Nous avons fourni un prix fixe au lieu d'estimer les sprints (nous aurions pu utiliser la méthode d'estimation précise décrite précédemment).
En résumé
Concernant les deux exemples d'estimation fournis ci-dessus, il est évident que certaines stratégies et pratiques sont cruciales pour une estimation précise en développement web.
De ces cas, plusieurs conclusions clés émergent :
- L'estimation à prix fixe doit être évitée car elle ne reflète souvent pas précisément les besoins réels du produit.
- Les demandes des clients ne correspondent souvent pas non plus à la réalité du projet.
- Plus les données d'entrée au départ sont nombreuses, plus l'estimation sera précise.
- Plus la décomposition des tâches est méticuleuse, plus l'estimation sera précise.
- Une communication efficace, telle que l'implication des clients dans des démonstrations régulières et des sessions de planification, est essentielle pour une prise de décision éclairée et un développement de produit efficace.
De plus, je tiens à souligner que le problème de l'estimation précise et, en général, toutes les questions techniques ne sont pas seulement des problèmes techniques dont le secteur informatique devrait se soucier. Les clients et les entreprises doivent également être impliqués ; alors, il y aura plus de feux verts pour des estimations méticuleuses, menant à un bénéfice mutuel et moins de demande pour des approches maladroites à prix fixe.
J'espère que mon article a été utile tant pour les professionnels de l'informatique que pour les parties prenantes à la recherche d'une équipe de développement web. N'hésitez pas à nous contacter si vous avez besoin d'une estimation de projet — nous ferons de notre mieux pour l'adapter à vos besoins spécifiques.

Source : Le problème informatique des entreprises : « Ce n’est pas mon problème ».















