Les développeurs abordent un problème complexe en le décomposant en plus petits et en les résolvant séparément.
Dans un monde idéal , résoudre un problème serait un problème complexe A et vous seriez en mesure, en un temps donné, de le décomposer en une courte liste de petits problèmes A 1 à A n , pour chaque évaluation le temps est simple, étant donné que le temps requis pour résoudre le problème complexe initial serait:
avec D étant le processus lui - même de la décomposition.
Dans le monde réel , le seul problème est que t ( D ) serait en fait plus grand que le temps que vous passez à résoudre les petits problèmes. En d'autres termes, pour arriver à ce niveau de décomposition du problème, vous devez pratiquement résoudre le problème lui-même.
Vous pouvez toujours:
Séparez la tâche donnée (résoudre le problème) en plus petits morceaux, chaque morceau étant toujours un problème complexe,
Évaluez le temps prévu pour chaque morceau et le risque correspondant.
Par exemple, la tâche 1 nécessite env. 5 heures, mais le risque d'être bloqué en le faisant est élevé, alors donnez 12 heures en tant qu'attente au client.
Évaluez les dépendances et comment elles affectent le temps.
Par exemple, la tâche 19 nécessite 2 heures, et le risque est si faible que vous pouvez dire que c'est 2 heures à coup sûr. Pas 1. Pas 3. Mais la tâche 19 repose sur la tâche 24: la tâche 24 peut affecter la tâche 19 d'une manière dont vous auriez besoin pour réécrire complètement le code de la tâche 19 en utilisant une approche différente.
Donnez tous ces détails à votre client. Ne donnez pas la somme.
Le dernier point est important. Si vous donnez la somme, disons 192 heures, le client pense que c'est une mesure très précise, et le temps que vous passerez est, disons, de 189 à 195 heures.
Si, au lieu de cela, vous donnez les détails,
Le client qui s'en soucie comprendra que ce n'est pas 192 heures. C'est 192 heures si tout va mal compte tenu du risque déterminé lors de l'évaluation. C'est aussi 238 heures si tout va encore pire. C'est aussi 85 heures si tout va bien.
Quant au client qui s'en fiche, il ne lira pas votre réponse dans tous les cas. Tout ce qu'il veut, c'est un numéro, pour pouvoir te blâmer plus tard. En donnant une réponse très détaillée qu'il ne lira jamais, vous savez qu'il ne peut pas vous demander le temps que cela prendra encore: vous avez déjà répondu à cela. Il ne peut pas non plus vous blâmer plus tard, car il n'a pas lu la réponse pour calculer la somme.