Использование альтернативных оценок

Использование альтернативных оценок

Область применения методов этой главы
Альтернативные оценки
Что оценивается
Размер, объем работ, сроки, функциональность
Размер проекта
М С Б
Стадия разработки
Ранняя-поздняя
Итеративный или последовательный стиль
Оба
Возможная точность
Высокая
Идеального метода опенки не существует, поэтому применение нескольких альтернативных методов приносит пользу во многих ситуациях. Производители самых сложных коммерческих программных продуктов обычно используют три разных метода оценки, а затем анализируют тенденции между полученными оценками. Схождение оценок указывает на то, что оценки, вероятно, достаточно хороши. Расхождение означает, что какие-то факторы были упущены и в проблеме следует разобраться получше. Методика альтернативных оценок в равной степени относится к оценкам размера, объема работ, сроков и функциональности.
Я впервые столкнулся с этой концепцией при создании оценки для первого издания своей книги «Code Complete» (McConnell 1993). Около двух лет было потрачено на сбор материала для книги, написание прототипов глав и прочую подготовку. В эти два года мне казалось, что книга будет занимать от 250 до 300 страниц. Идея не была подкреплена никакими аналитическими выкладками — просто представления, засевшие у меня в голове.
До этого я ни разу не публиковал книги и поэтому решил, что предложение издательству должно убедительно показать, что книга действительно будет закончена. Когда подготовка предложения подходила к концу, я создал свою первую оценку методом декомпозиции. Я перебрал все пункты примерной структуры.
книги в плане и оценил каждую секцию по отдельности. В табл. 15.1 показан примерный вид полученных данных.
Таблица 15.1. Оценки количества страниц в черновом варианте «Code Complete», полученные субъективным суждением и методом декомпозиции
Глава
Оценка № 1. Исходная оценка «по интуиции»
Оценка № 2. Экспертная оценка с декомпозицией
Предисловие
4
Введение
5
Модели
И
Предварительные условия
52
Послесловие
20
Обзор тем
20
ИТОГО
250-300
802
Фактически до этого момента я использовал два метода оценки: собственную интуицию, подсказывавшую диапазон от 250 до 300 страниц, и экспертную оценку с декомпозицией, которая вела к оценке в 802 страницы. Между двумя оценками существовало значительное расхождение, и я должен был понять, почему они так сильно отличаются.
Я был привязан к своим 250-страничным представлениям о длине книги и подумал: «Оценка в 802 страницы не может быть правильной. Наверняка я где-то ошибся». Я решил оценить книгу еще раз и получить «правильный» ответ.
Для третьей оценки было взято количество страниц в каждой из прототипов глав. Я разделил количество страниц на количество пунктов в примерной структуре книги. Получилось, что один пункт примерной структуры соответствует.
1,64 страницы. Далее я перебрал все пункты примерной структуры всей книги, просуммировал пункты и умножил сумму на 1,64. В табл. 15.2 показана оценка, полученная этим способом.
Таблица 15.2. Оценка количества страниц в черновом варианте «Code Complete» с использованием примерной структуры и исторических данных
Глава
Оценка № 1. Исходная оценка «по интуиции»
Оценка № 2. Экспертная оценка с декомпозицией
Оценка № 3.
Примерная структура и исторические данные
Предисловие
4
4
Введение
5
5
Модели
И
И
Предварительные.
условия
52
52
Послесловие
20
16
Обзор тем
20
21
ИТОГО
250-300
802
759
Третья оценка в 759 страниц менее чем на 5 % отличалась от второй оценки (802 страницы). Из-за близости оценок я четко уяснил, что моя книга займет не 250-300 страниц, как думал в течение двух лет, а от 750 до 800 страниц.
Мой опыт был типичным проявлением более общего принципа: объединение результатов, полученных разными оценщиками (или с применением разных методов), повышает точность оценки (Jorgensen 2002, Tockey 2004).
СОВЕТ № 66 -.
Используйте несколько альтернативных методов оценки и проанализируйте совпадения или расхождения результатов.
Между моей оценкой книги и программными проектами можно провести прямую аналогию. Наши представления о возможных затратах, сроках и функциональности проектов не строятся ни на какой конкретной основе. Люди склонны придерживаться своего предвзятого мнения, пока кто-нибудь не представит им достаточно данных, чтобы поколебать это предубеждение. Без дополнительных данных я бы не поверил, что мой проект окажется в три раза больше, чем я представлял. Но даже после получения некоторой информации мне все равно потребовались новые данные, которые убедили меня окончательно.
Есть и другая параллель с программным обеспечением: плохие новости лучше узнавать раньше, чем позже. Я изменил свои ожидания относительно размера проекта на стадии составления предложения. Вообще говоря, на этом можно было остановиться, однако я проанализировал объем проекта и решил, что за него все равно стоит взяться, — оценка дала мне более реалистичное представление о планируемых сроках и обязательствах, которые я ца себя принимал.
Тот факт, что два совершенно разных метода дали сходные оценки, укрепил мою уверенность в точности оценок. Обязательно применяйте в программных проектах различные виды оценочных методов для создания разных оценок. Например, воспользуйтесь опосредованным методом, экспертной оценкой, оценкой по аналогии и какой-нибудь оценочной программой.
Как только я принял схождение моих оценок, внезапно стало очевидно, что этот размер подтверждается и другими данными. Одна из моих глав-прототипов занимала 72 страницы. В 250-страничной книге это составило бы 29 % общего объема. Тем не менее после завершения этой главы у меня pi в мыслях не было, что проект готов на 29 %. На интуитивном уровне я знал, что глава составляет не более 10 % книги. Когда две сходящиеся оценки открыли мне глаза, я понял, что длина прототипа подтверждает общую длину книги в диапазоне 750-800 страниц.
Наиболее точная оценка обычно формируется по данным, специфическим для конкретного проекта. В итоге у меня получилась рукопись из 749 страниц; ее объем всего на 10 страниц (1 %) отличался от оценки, полученной с использованием исторических данных того же проекта.
Исходная интуитивная оценка была основана на чтении других книг из диапазона 250-300 страниц. До этого я книг не писал и поэтому наивно предположил, что если написать 250-300 страниц текста, то получится книга из 250-300 страниц. Однако количество страниц в издаваемой книге увеличивается из-за пустых.
страниц между главами, пустых страниц между частями книги, содержания, списка иллюстраций, алфавитного указателя и прочих служебных данных. Кроме того, объем книги зависит от выбора шрифта, размера полей, межстрочных интервалов и т. д. Все эти обстоятельства вполне очевидны, если вы о них знаете, однако неопытному автору вроде меня легко забыть о них в своей оценке. Даже в своей декомпозиционной оценке я допустил классическую ошибку: я тщательно оценил стороны проекта, хорошо мне известные, но забыл учесть некоторые важные составляющие проекта.
Наконец, две оценки сошлись в диапазоне 5 %. Тогда я еще этого не знал, но такое значение является хорошим показателем сходимости вообще (в широкой части конуса неопределенности обычно приходится довольствоваться большим расхождением).
СОВЕТ № 67.
Если разные методы оценки приводят к разным результатам, попытайтесь выявить факторы, из-за которых возникают различия. Продолжайте оценивать проект заново до тех пор, пока результаты, полученные разными методами, не будут расходиться в пределах 5 %.
Позднее меня попросили провести оценку программного проекта для одного из моих клиентов. На рис. 15.1 крестиками отмечены отдельные оценки, созданные мной для этого проекта. Размер крестика представляет мою уверенность в каждой оценке. Треугольником обозначена «самая точная оценка» в 75 человеко-месяцев и 12 календарных месяцев. Хотя в расположении крестиков существует некоторый разброс, все оценки, в которых я был уверен, отличались от «самой точной оценки» в пределах 5 %. Квадрат изображает деловую цель моего клиента — 25 человеко-месяцев при 5 календарных месяцах.
В этом конкретном случае клиент решил действовать, руководствуясь деловой целью в 5 календарных месяцев и 25 человеко-месяцев. Решение оказалось неудачным. В конечном счете проект был выдан через 14 календарных месяцев при 80 человеко-месяцах работы, причем группа реализовала гораздо меньше функциональности, чем планировалось первоначально.
СОВЕТ № 68 -.
Если деловая цель противоречит нескольким сходящимся оценкам, лучше доверьтесь оценкам.