EMACSWAY_LOG Telegram 1573
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Добавил в TaskJuggler поддержку подсчета Standard Deviation: https://github.com/emacsway/TaskJuggler/tree/standard_deviation Ранее я объяснял, почему использование пессимистического сценария для подсчета пессимистического срока некорректно. Как это работает…
Зачем нужно стандартное отклонение?

Существует три качества оценки:

1. Honest (честность)

2. Accurate (достоверность, например, утверждение о том, что задача будет выполнена за период времени от текущего момента до конца существования Вселенной - это Accurate, но не Precise)

3. Precise (точность, т.е. сужение диапазона вероятности оценки, например, утверждение о том, что задача будет выполнена 11 октября 2025 года в 15:45:10.0639 - это Precise, но не Accurate)

Было хорошее видео на эту тему "YOW! 2016 Robert C. Martin - Effective Estimation (or: How not to Lie)", но сейчас оно, к сожалению, недоступно. Может можно найти его копии где-нибудь.

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

Оценка - это диапазон. И диапазон с вероятностной распределенностью.

На этом построен принцип оценивания PERT, который снимает психологическое напряжение и позволяет выразить степень неопределенности оценки в виде среднеквадратичного отклонения. Коротко этот подход описан на 3-х страницах книги "The Clean Coder" by Robert C. Martin, "Chapter 10 Estimation :: PERT". На русском она называется "Иделальный программист".

Для каждой стори снимаются 3 оценки - пессимистическая, номинальная и оптимистическая.

При коллективном оценивании для пессимистической берется самая пессимистическая из всех, для номинальной - средняя, для оптимистической - самая оптимистическая.

Вычисление можно легко осуществить в excel-файлике. Вероятностая оценка находится по формуле μ = (O + 4 N + P) / 6. А среднеквадратичное отклонение распределения времени выполнения стори находится по формуле σ = (P − O) / 6. Этот параметр выражает точность оценки.

Далее суммируются вероятностные оценки для всех сторей релизного цикла простым математическим сложением, это несложно сделать в excel. А вот среднеквадратичное отклонение распределения времени выполнения всех сторей высчитывается немного сложней, и равно квадратному корню суммы квадратов среднеквадратичных отклонений сторей, т.е. σ sequence = (∑ (σ story ^ 2)) ^1/2. Это тоже несложно автоматизировать в excel.

Ну а далее, как я уже говорил, для нахождения пессимистического срока релиза используется правило 3×sigma. Т.е. к сроку, полученному на основании вероятностных оценок, добавляется еще три среднеквадратичных отклонения, преобразованных в календарные дни (т.е. с учетом выходных дней, например, при σ=5 это будет три календарные недели).

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

Важно понимать, что планирование - это не предсказание (Kent Beck). А прогноз - это не обязательство (Robert Martin).

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

Проблемой для бизнеса является не сам факт отклонения от плана, а когда он слишком поздно узнает об отклонении и уже не может ничего предпринять.
🔥8👍7🙏3



tgoop.com/emacsway_log/1573
Create:
Last Update:

Зачем нужно стандартное отклонение?

Существует три качества оценки:

1. Honest (честность)

2. Accurate (достоверность, например, утверждение о том, что задача будет выполнена за период времени от текущего момента до конца существования Вселенной - это Accurate, но не Precise)

3. Precise (точность, т.е. сужение диапазона вероятности оценки, например, утверждение о том, что задача будет выполнена 11 октября 2025 года в 15:45:10.0639 - это Precise, но не Accurate)

Было хорошее видео на эту тему "YOW! 2016 Robert C. Martin - Effective Estimation (or: How not to Lie)", но сейчас оно, к сожалению, недоступно. Может можно найти его копии где-нибудь.

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

Оценка - это диапазон. И диапазон с вероятностной распределенностью.

На этом построен принцип оценивания PERT, который снимает психологическое напряжение и позволяет выразить степень неопределенности оценки в виде среднеквадратичного отклонения. Коротко этот подход описан на 3-х страницах книги "The Clean Coder" by Robert C. Martin, "Chapter 10 Estimation :: PERT". На русском она называется "Иделальный программист".

Для каждой стори снимаются 3 оценки - пессимистическая, номинальная и оптимистическая.

При коллективном оценивании для пессимистической берется самая пессимистическая из всех, для номинальной - средняя, для оптимистической - самая оптимистическая.

Вычисление можно легко осуществить в excel-файлике. Вероятностая оценка находится по формуле μ = (O + 4 N + P) / 6. А среднеквадратичное отклонение распределения времени выполнения стори находится по формуле σ = (P − O) / 6. Этот параметр выражает точность оценки.

Далее суммируются вероятностные оценки для всех сторей релизного цикла простым математическим сложением, это несложно сделать в excel. А вот среднеквадратичное отклонение распределения времени выполнения всех сторей высчитывается немного сложней, и равно квадратному корню суммы квадратов среднеквадратичных отклонений сторей, т.е. σ sequence = (∑ (σ story ^ 2)) ^1/2. Это тоже несложно автоматизировать в excel.

Ну а далее, как я уже говорил, для нахождения пессимистического срока релиза используется правило 3×sigma. Т.е. к сроку, полученному на основании вероятностных оценок, добавляется еще три среднеквадратичных отклонения, преобразованных в календарные дни (т.е. с учетом выходных дней, например, при σ=5 это будет три календарные недели).

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

Важно понимать, что планирование - это не предсказание (Kent Beck). А прогноз - это не обязательство (Robert Martin).

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

Проблемой для бизнеса является не сам факт отклонения от плана, а когда он слишком поздно узнает об отклонении и уже не может ничего предпринять.

BY emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.


Share with your friend now:
tgoop.com/emacsway_log/1573

View MORE
Open in Telegram


Telegram News

Date: |

Activate up to 20 bots “Hey degen, are you stressed? Just let it all out,” he wrote, along with a link to join the group. Concise How to Create a Private or Public Channel on Telegram? A Hong Kong protester with a petrol bomb. File photo: Dylan Hollingsworth/HKFP.
from us


Telegram emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
FROM American