Je suis convaincu que la quantité de travail de routine dans le développement de logiciels est - et devrait être - relativement faible, sinon négligeable, et que c'est le problème fondamental de l'estimation des logiciels.
Permettez-moi de décrire comment j'arrive à cette conclusion et de me dire si l'argumentation présente de sérieux défauts:
Tout ce qui peut être estimé avec une grande précision est un travail de routine, c'est-à-dire des choses qui ont été faites auparavant. Tous les autres types de travaux impliquant la recherche et la créativité ne peuvent pas vraiment être estimés, du moins pas avec une précision de, disons, +/- 20%.
Le développement logiciel consiste à éviter les tâches répétitives. L'un de ses principes de base est SEC (ne vous répétez pas). Chaque fois qu'un programmeur se retrouve à faire des choses répétitives, il est temps de trouver une abstraction qui évite cette répétition. Ces abstractions peuvent être des choses simples comme extraire le code répété dans une fonction ou le mettre en boucle. Ils peuvent également être plus complexes, comme la création d'un langage spécifique à un domaine. Dans tous les cas, leur mise en œuvre impliquera de la recherche (quelqu'un l'a-t-il déjà fait?) Ou de la créativité.
De ces deux points, je tire la conclusion ci-dessus.
En fait, je me demande depuis longtemps pourquoi cette relation n'est pas mentionnée dans toutes les autres discussions, articles de blog ou articles sur l'estimation de logiciels. Est-ce trop théorique? Mes hypothèses sont-elles fausses? Ou est-ce trop trivial - mais alors, pourquoi la plupart des développeurs que je connais croient-ils pouvoir faire des estimations avec une précision de +/- 20% ou mieux?