Je pense que la réponse globale est qu'il est souvent trop complexe (ou impossible) de calculer le temps qu'il faudra.
Parfois, il s'agirait simplement de réduire le temps de calcul pour mieux estimer la quantité de travail requise (par exemple, effectuer une meilleure analyse des fichiers à copier ou appliquer un calcul plus complexe pour mieux estimer le nombre d'étapes nécessaires pour effectuer une simulation).
D'autres fois, c'est plutôt indéterminé. Lorsque votre système installe un nouveau programme, il a souvent de nombreuses dépendances à vérifier sont installées. Et généralement, il n'a pas une idée du temps que chacun prendra et des dépendances dont ceux-ci pourraient à leur tour avoir besoin. Toutes les dépendances peuvent déjà être installées et cela peut prendre 30 secondes, ou il peut en manquer des dizaines et cela peut prendre des heures. Difficile de donner une idée juste de cela, surtout lorsque chaque situation sera unique.
De plus, d'autres drains sur le système peuvent changer au fil du temps (en raison de ce que l'utilisateur fait ... ou des processus d'arrière-plan / planifiés).
Parfois, l'estimation pourrait être améliorée si le programmeur y mettait un peu plus de travail. Mais c'est une autre réalité que ce n'est probablement pas la principale préoccupation des développeurs, par rapport à l'avancement des tâches productives réelles que l'application peut accomplir.
En fin de compte, en ce moment, je pense que c'est souvent une estimation linéaire - un aperçu du nombre de tâches de base requises que le programme a accomplies. Il s'agit donc en fait d'une estimation très approximative, et vous devriez généralement la considérer comme telle.
Une bonne analogie pourrait être lorsque vous lisez un livre.
Et vous décidez que vous souhaitez avoir une idée du temps qu'il faudra pour terminer le livre ...
Vous pouvez vérifier le nombre de pages et obtenir une estimation rapide en fonction du rythme jusqu'à présent.
Cela peut être une mauvaise estimation si vous venez de commencer à lire, car votre vitesse n'est peut-être pas encore typique. Mais souvent, ce serait une estimation approximative.
Ou vous pouvez également parcourir le livre, avoir une idée approximative du nombre d'images et de l'espacement du texte. Et puis avoir une meilleure idée de ce à quoi vous êtes confronté.
Mais il peut toujours s'agir d'une mauvaise estimation si, par exemple, la lisibilité du texte diminue, passant peut-être d'une prose simple à une prose complexe. Ou l'estimation peut se terminer de manière erronée car vous n'avez pas anticipé une autre tâche qui détournera votre attention.
Vous pouvez obtenir une excellente estimation en appliquant une grande partie du temps pour analyser soigneusement ce qui reste dans le livre page par page, et vous pouvez également l'améliorer en vérifiant votre calendrier et en conservant une liste des pas de lecture passés à long terme pour divers livres.
Mais en fin de compte, le temps qu'il faut pour le faire vaut-il le temps de lire le livre?
Nous aimerions tous de meilleurs indicateurs. Mais en l'état, nous devrons probablement nous contenter d'estimations approximatives, au moins jusqu'à ce que les ordinateurs dans leur ensemble obtiennent des algorithmes standardisés améliorés et soient capables de peser "intelligemment" et d'anticiper les facteurs dynamiques (tels que vos voies)!
Et la barre de progression est peut-être bloquée à 5% en ce moment. Il faudra juste voir comment ça se passe 8-)