Главная опора в оценках - это ваш прошлый опыт и Оценка по аналогиям (Analogous Estimation).
Когда же вы встретите требования, которые не можете оценить сами необходимо привлечь эксперта или группу экспертов в данной области. Эксперты выдвигают свои предположения по поводу оценки (сроков или стоимости). После этого можно усреднить все предложения, а можно постараться прийти к единому решению в ходе дискуссии. Вовлечение экспертов в обсуждение вариантов, конечно более эффективно и даст более точную, аргументированную и протестированную оценку.
Метод оценки по 3 точкам (Three Point Estimation)
Один из самых распространенных и простых методов. В рамках него сначала определяются оптимистичная (O = Optimistic), пессимистичная (P = Pessimistic) и реалистичная\средняя (M = Middle) оценки.
Значения P, M и O определяются экспертно (в часах, днях, $), например, в ходе обсуждения внутри проектной команды. Для этого задаются вопросы такого типа: «сколько времени займет проект, если все пойдет хорошо, не будет никаких рисков и проблем?», «каким может быть самый негативный сценарий и сколько на него потребуется времени\усилий?» и т.п.
Далее полученные значения P, M и O подставляются в формулу: (O + 4 M + P) / 6
Результат расчета дает усредненную оценку. Такая формула позволяет с одной стороны учесть возможные позитивные и негативные сценарии, а с другой – «сгладить» их влияние и получить более реальное значение оценки.
Стоимость качества (Cost of Quality)
Довольно интересная техника, в рамках которой сначала оценивается время или бюджет только на разработку функционала, без учета ошибок и проблем, как если бы у нас сразу получалось идеальное ПО без дефектов. А далее оценивается сколько дополнительного времени и бюджета потребуется потребуется на работу с ошибками и проблемами в реальности, чтобы приблизить ПО к тому самому «идеальному» состоянию.
При оценке затрат на обеспечение качества ПО можно проанализировать и учесть такие области:
Расходы на активности по предотвращению дефектов
Стоимость тестирования
Исправление внутренних ошибок
Исправление внешних проблем по интеграции
Затраты на установку и настройку ПО с учетом реальной среды и данных
Оценка от частного к общему (Bottom-up Estimation)
Данный метод похож на экспертную оценку, только в данном случае прогноз делается не для всего проекта в целом, а отдельно для составляющих его задач. Как это выглядит: мы собираем экспертное мнение, например, у специалистов по анализу, разработке, тестированию, поддержке ПО. Суммируем их оценки вместе, добавляем к ним затраты времени на взаимодействие и формируем общий прогноз.
Другими словами, мы собираем оценку по частям, узнавая сколько необходимо времени каждому из участников процесса разработки ПО и сводим все воедино с учетом дополнительных рисков.
Хорошей практикой является добавление к вашим оценкам рисков (Risks) и допущений (Assumptions). Это позволяет конкретизировать что именно учитывается в вашей оценке, а что нет.
Кроме того нужно не забывать оценивать нефункциональные требования.