Введение

Оценка программных проектов: искусство или наука?

Почему и для кого написана эта книга

Основные преимущества книги

Чего нет в книге

С чего начать

Благодарности

Об авторе

От издательства

Часть I. Основные принципы оценки

Глава 1. Что такое “оценка”?

1.1. Оценки, цели и обязательства

1.2. Связь между оценками и планами

1.3. Общение по вопросам оценок, целей и обязательств

1.4. Оценка как вероятностное утверждение

1.5. Распространенные определения “хороших” оценок

1.6. Оценки и управление проектом

1.7. Настоящее значение оценки

1.8. Рабочее определение “хорошей оценки”

Дополнительные ресурсы

Глава 2. Какой из вас оценщик?

2.1. Простой тест по оценке

2.2. Обсуждение результатов теста

Насколько достоверна “90-процентная достоверность”?

Как выбирать ширину диапазона?

Откуда возникает стремление к сужению диапазонов?

Насколько показателен тест для реальной оценки программных проектов?

Глава 3. О точности оценки

3.1. Что лучше — переоценка или недооценка?

Аргументы против переоценки

Аргументы против недооценки

Сравнивая аргументы

3.2. Достижения в области оценки программных проектов

Насколько велики нарушения сроков?

По данным одной компании

Общесистемная проблема программной отрасли

3.3. Преимущества точных оценок

3.4. Значение предсказуемости по сравнению с другими желательными атрибутами проекта

3.5. Недостатки распространенных методов оценки

Дополнительные ресурсы

Глава 4. Откуда берутся ошибки оценки?

4.1. Источники неопределенности в оценках

4.2. Конус неопределенности

Можно ли победить конус неопределенности?

Конус не сужается автоматически

Учет конуса неопределенности в оценках программных проектов

Связь между конусом неопределенности и обязательствами

Конус неопределенности и итеративная разработка

4.3. Хаотические процессы разработки

4.4. Нестабильные требования

Оценка роста требований

4.5. Пропущенные операции

4.6. Необоснованный оптимизм

4.7. Субъективность и пристрастие

4.8. Импровизированные оценки

4.9. Излишняя четкость

4.10. Другие источники ошибки

Дополнительные ресурсы

Глава 5. Факторы, влияющие на оценку

5.1. Размер проекта

Почему в книге размер задается в количестве строк программного кода?

Издержки масштаба

Когда можно смело игнорировать издержки масштаба

Важность издержек масштаба при оценке программных проектов

5.2. Тип программы

5.3. Факторы персонала

5.4. Язык программирования

5.5. Другие факторы

5.6. Снова об издержках масштаба

Дополнительные источники

Часть II. Базовые методы оценки

Глава 6. Знакомство с методами оценки

6.1. Выбор методов оценки

Что именно оценивается

Размер проекта

Стиль разработки

Стадия разработки

Возможная точность

6.2. Таблицы применимости методов

Глава 7. Подсчет, вычисление, экспертная оценка

7.1. Сначала подсчет

7.2. Что считать

7.3. Используйте вычисления для преобразования счетных показателей в оценки

7.4. Используйте экспертное суждение только в крайнем случае

Дополнительные ресурсы

Глава 8. Калибровка и исторические данные

8.1. Улучшение точности и другие преимущества исторических данных

Учет организационных факторов

Предотвращение субъективизма и необоснованного оптимизма

Снижение влияния политических факторов при оценке

8.2. Сбор данных

Проблемы определения размера

Проблемы измерения объема работ

Проблемы измерения календарного времени

Проблемы измерения дефектов

Другие проблемы сбора данных

8.3. Способ калибровки

8.4. Уточнение оценок по данным проекта

8.5. Калибровка средними отраслевыми данными

8.6. Итоги

Дополнительные ресурсы

Глава 9. Индивидуальные экспертные оценки

9.1. Структурированные экспертные суждения

Кто создает оценки?

Гранулярность

Диапазоны

Формулы

Контрольные списки

9.2. Сравнение оценок с фактическими значениями

Дополнительные ресурсы

Глава 10. Декомпозиция и сводные оценки

10.1. Вычисление ожидаемого случая

Закон больших чисел

Насколько мелкими должны быть оцениваемые фрагменты?

10.2. Декомпозиция с использованием WBS

10.3. Риск суммирования оценок для лучших и худших случаев

Осторожно: впереди математика!

Где произошел сбой?

10.4. Создание осмысленных общих оценок для лучшего и худшего случаев

Вычисление сводных оценок лучшего и худшего случаев при малом количестве задач (упрощенная формула стандартного отклонения)

Вычисление сводных оценок лучшего и худшего случаев при большом количестве задач (сложная формула стандартного отклонения)

Создание сводных оценок для лучшего и худшего случаев

Предупреждения по поводу достоверных оценок

Дополнительные ресурсы

Глава 11. Оценка по аналогии

11.1. Основные принципы оценки по аналогиям

Шаг 1. Получение подробных данных об итоговом размере, объеме работ и затратах для предыдущего аналогичногпроекта

Шаг 2. Сравнение размера нового проекта с аналогичным прошлым проектом

Шаг 3. Построение оценки размера нового проекта в процентах от размера старого проекта

Шаг 4. Создание оценки объема работ на основе размера нового проекта, полученного сравнением с размером предыдущего проекта

Шаг 5. Проверка согласованности предположений между старым и новым проектами

11.2. Замечания по поводу неопределенности в оценке Triad

Неопределенность оценки, планы и обязательства

Глава 12. Опосредованные оценки

12.1. Нечеткая логика

Как получить средние размеры

Классификация новой функциональности

Как не следует использовать нечеткую логику

Расширения нечеткой логики

12.2. Стандартные компоненты

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

Ограничения метода стандартных компонентов

12.3. Абстрактные рейтинги

О шкале абстрактных рейтингов

12.4. Метод футболки

12.5. Другие применения опосредованных методов

Дополнительные ресурсы

Глава 13. Экспертные оценки в группах

13.1. Групповое обсуждение

13.2. Широкополосный Дельфийский метод

Эффективность широкополосного Дельфийского метода

“Истина где-то рядом”

Когда применять широкополосный Дельфийский метод

Дополнительные ресурсы

Глава 14. Оценочные программы

14.1. Для чего необходимы оценочные программы

14.2. Данные, необходимые для калибровки программ

14.3. Ограничения оценочных программ

14.4. Основные оценочные программы

Дополнительные ресурсы

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

Дополнительные ресурсы

Глава 16. Формирование оценок в правильно оцениваемых проектах

16.1. Формирование оценки в неправильно оцениваемом проекте

16.2. Формирование оценки в правильно оцениваемом проекте

16.3. Хронологическая последовательность формирования оценки для всего проекта

Формирование оценки в крупных проектах

Формирование оценки в мелких проектах

16.4. Уточнение оценок

16.5. Представление измененной оценки другим ключевым сторонам проекта

Когда представлять повторные оценки

Что делать, если начальство запрещает переоценку?

16.6. Критерии правильной оценки проекта

Глава 17. Стандартизированные процедуры оценки

17.1. Типичные элементы стандартизированной процедуры

17.2. Адаптация оценки для процесса поэтапного контроля

17.3. Пример стандартизированной процедуры оценки для последовательных проектов

17.4. Пример стандартизированной процедуры оценки для итеративных проектов

17.5. Пример стандартизированной процедуры оценки от прогрессивной организации

17.6. Улучшение стандартизированной процедуры

Дополнительные ресурсы

Часть III. Конкретные проблемы оценки

Глава 18. Специфические проблемы при оценке размера

18.1. Проблемы при оценке размера

Роль строк кода в оценке размеров

18.2. Функциональные пункты

Преобразование функциональных пунктов в строки кода

18.3. Упрощенные методы вычисления функциональных пунктов

Голландский метод

Элементы GUI

18.4. Сводка методов оценки размера

Дополнительные ресурсы

Глава 19. Специфические проблемы при оценке объема работ

19.1. Факторы, влияющие на объем работ

19.2. Вычисление объема работ по размеру

Вычисление оценки объема работ посредством неформального сравнения с прошлыми проектами

Какой объем работ включается в эту оценку?

19.3. Вычисление оценки объема работ научными методами

19.4. Среднеотраслевые графики объема работ

19.5. Метод ISBSG

19.6. Сравнение оценок объема работ

Дополнительные ресурсы

Глава 20. Специфические проблемы при оценке сроков

20.1. Базовая формула для вычисления срока

20.2. Вычисление срока посредством неформальных сравнений с прошлыми проектами

20.3. Метод оценки первого порядка

20.4. Вычисление оценки срока научными методами

20.5. Сжатие графика и размер группы

20.6. Соотношения между сроком и объемом работ

Сокращение срока и размер группы

20.7. Оценка срока и ограничения численности группы

20.8. Сравнение результатов, полученных разными методами

Дополнительные ресурсы

Глава 21. Оценка параметров планирования

21.1. Оценка операционной структуры проекта

Оценка объема работ по разным техническим операциям

Оценка объема работ по требованиям

Оценка объема работ по управлению

Оценка общего объема работ

Поправки для типов проектов

Пример распределения объема работы

Соотношения между численностью разработчиков и тестеров

21.2. Оценка срока для разных операций

21.3. Преобразование оценки в планируемый объем работы

21.4. Оценка стоимости

Сверхурочные работы

Выбор типа затрат

Другие прямые затраты

21.5. Оценка дефектообразования и исправления

Оценка работы по исправлению дефектов

Пример оценки эффективности исправления дефектов

21.6. Оценка риска и резервные буферы

21.7. Другие эмпирические правила

Дополнительные ресурсы

Глава 22. Стили представления оценок

22.1. Представление предположений, заложенных в оценку

22.2. Выражение неопределенности

Квалификаторы “плюс/минус”

Квантификация рисков

Коэффициенты достоверности

Сценарные оценки

Грубая оценка дат и периодов времени

22.3. Диапазоны (любого типа)

Полезность диапазонного представления оценок

Диапазоны и обязательства

Дополнительные ресурсы

Глава 23. Политика, переговоры и решение проблем

23.1. Особенности руководства

23.2. Влияние политических факторов на оценки

Внешние ограничения

Бюджет и даты

Переговоры по поводу оценок и обязательств

Что делать, если ваша оценка не принята

Ответственность технического персонала за обучение

23.3. Решение проблем и принципиальные переговоры

Переговоры как совместное решение проблем

Дополнительные ресурсы

Приложение А. Проверка разумности оценки

Результат

Приложение Б. Ответы на вопросы теста из главы 2

Приложение В. Рекомендации по оценке программных проектов

Библиография

Алфавитный указатель