В статье Почему программные проекты требуют больше времени чем вы думаете высказывается интересная мысль о том, что программисты правильно оценивают медиану времени выполнения задачи, но нам надо знать среднее.

Медиана, это статистическое понятие, пусть у нас есть выборка элементов и медианой будет элемент, у которого число элементов больше равно числу элементов меньше.

Среднее же для выборки это сумма всех элементов деленная на количество элементов.

Таким образом при оценке сроков хорошо говорят, за сколько они обычно делают ту или иную задачу. Однако проблема в том, что во время проекта ошибки в задачах не компенсируют друг друга. Ошибки в оценках накапливаются. И поэтому нам очень важно знать не за сколько обычно делается, а худший сценарий и его вероятность.

Надо заметить, что выводы делаются по выборке из одной организации. Строго говоря в других могут плохо предсказывать не только медиану, но и среднее.

Если представить что время выполнения задачи нормально распределено, то очень важным будет знать дисперсию, которая растет с ростом неопределенности задачи. Чем более исследовательская и новая задача, тем больше отличается её среднее время выполнения от медианы выполнения.

В целом для себя я сделал вывод, что точное планирование на длительные периоды невозможно и надо постоянно корректировать оценки. Даже типовые решения могут давать существенные сбои в оценке времени.