Остаться в живыхОб авторе
Благодарности
Предварительный инструктаж по выживанию
Для кого написана эта книга
Старшие менеджеры, администраторы, клиенты, инвесторы
и представители конечных пользователей
Менеджеры проектов
Технические руководители, профессиональные разработчики и самообразованные программисты
Проекты, которым посвящена эта книга
Замечание для технически опытных читателей
Основа этой книги
От издательства
Часть I. Образ мышления выживания
Глава 1. Добро пожаловать в школу выживания программного проекта
Что нужно для выживания
Право на выживание
Проверочные листы выживания
Проверка на выживание
Глава 2. Тест программного проекта на выживание
Вопросы теста на выживание
Тест на выживание
Требования
Планирование
Контроль над проектом
Управление рисками
Персонал
Итог
Интерпретация теста на выживание
Проверка на выживание
Глава 3. Принципы выживания
Мощь «процесса»
Негативное отношение к процессу
Процесс спешит на помощь
Процесс, творчество и мораль
Переход к систематическому процессу
«В начале потока» и «в конце потока»
Конус неопределенности
Предпосылки для оценки проекта
Проверка на выживание
Глава 4. Навыки выживания
Планирование
Примеры планирования программных проектов
Рецензирование контрольных точек
Двухэтапный подход к финансированию
Подготовка к рецензированию контрольных точек
План рецензирования контрольных точек
Основные достоинства плана рецензирования контрольных точек
Управление рисками
Контроль над проектом
Наблюдаемость проекта
«Человеческое обеспечение»
Взаимодействие с пользователями
Минимализм продукта
Внимание к выпуску продукта
Проверка на выживание
Глава 5. Взгляд на успешный проект
Интеллектуальные фазы
Технологический процесс проекта
Достоинства многоэтапной поставки
Затраты, связанные с многоэтапной поставкой
Фазы планирования
Набор персонала
Кривая роста кода
Главные вехи и выпуски
Проверка на выживание
Часть II. Подготовка к выживанию
Глава 6. Стрельба по движущейся цели
Процедура контроля изменений
Выгоды контроля изменений
Достоинства автоматического контроля версий
Главные аспекты контроля изменений
Как рассматривать изменения
Когда рассматривать изменения
Как поступать с небольшими изменениями
Как разрешать политические вопросы
Какие рабочие продукты подвергать контролю изменений
Выполнение контроля изменений
Проверка на выживание
Глава 7. Предварительное планирование
Концепция проекта
Что не следует включать в проект
Соблюдение концепции проекта
Исполнительное спонсорство проекта
Цели в области действия проекта
Общедоступность планов и информации о развитии проекта
Общедоступность индикаторов развития
Управление рисками
Обеспечение управления рисками
Инспектор рисков
Список 10 основных рисков
Детальные планы управления рисками
Анонимный канал связи для уведомлений о рисках
Кадровая политика
Развитие персонала
Набор персонала
Новые разработчики: доступные и хорошие
Динамика команды
Ключевые вопросы при наборе персонала
Организация команды
Организация команды проекта
«Команды тигров»
Учет времени
План разработки программного продукта
Проверка на выживание
Глава 8. Разработка требований
Обзор процесса разработки требований
Определение ключевых конечных пользователей
Опрос конечных пользователей
Создание простого прототипа пользовательского интерфейса
Использование бумажных последовательностей кадров
Пересмотр прототипа для одобрения пользователями программного продукта
Разработка руководства по стилю
Полное расширение прототипа
Помните, что прототип будет выброшен
Принятие полностью расширенного прототипа в качестве основной спецификации
Создание детальной документации пользователя на базе прототипа
Создание документа требований, не связанных с пользовательским интерфейсом
Проверка на выживание
Глава 9. Обеспечение качества
Почему качество является важным
План обеспечения качества
Элементы плана обеспечения качества
Слежение за ошибками
Техническое рецензирование
Общая процедура рецензирования
Составляющие успеха при рецензировании
Тестирование системы
Бета-тестирование
Рабочие продукты и план обеспечения качества
Вспомогательные действия
Критерий выпуска программного продукта
Проверка на выживание
Глава 10. Архитектура
Начало работы над архитектурой
Характеристики хорошей архитектуры
Обзор системы
Концептуальная целостность
Подсистемы и организация
Нотация
Сценарии и стратегия изменений
Повторное использование, приобретение и создание компонентов
Подходы к стандартным функциональным областям
Контроль выполнения требований
Поддержка плана многоэтапной поставки
Определение готовности архитектуры
Документ архитектуры программного продукта
Проверка на выживание
Глава 11. Заключительная подготовка
Оценки для проекта
Основные принципы оценки
Контрольные вехи
Учет нетехнических факторов
Многоэтапный план поставки
Разбиение проекта на этапы
Темы этапов
«Двойники» плана многоэтапной поставки
Версии программного продукта
Пересмотр плана многоэтапной поставки
Текущее планирование
Управление рисками
Концепция проекта
Директивный орган
Персонал
Обновление плана разработки программного продукта
Проверка на выживание
Часть III. Рассмотрим по этапам
Глава 12. Поэтапное планирование
Зачем нужно поэтапное планирование?
Обзор поэтапного планирования
Обновление требований
Детальное проектирование
Конструирование
Создание тестовых вариантов
Обновление документации пользователя
Техническое рецензирование
Исправление ошибок
Техническая координация
Управление рисками
Наблюдение за проектом
Интеграция и выпуск
Завершение этапа
Микровехи
Создание полного списка вех
Достижение желаемого качества
На какой срок определять микровехи?
Микровехи в небольших проектах
Политические соглашения
Если микровеховый план не выполняется
Поэтапное планирование и стили управления
Проверка на выживание
Глава 13. Детальное проектирование
Возвращение к архитектуре
Организация программы
Анализ возможностей повторного использования
Разрешение требований
Трассируемость (контроль выполнения) требований
План конструирования
Исправление ошибок в архитектуре
Объем детального проектирования
Техническое рецензирование
Обнаружение функциональных ошибок
Обнаружение ошибок в требованиях
Несоответствие требованиям
Избыточная функциональность
Анализ соответствия целям проекта
Параллельное обучение
Рецензирование и продуктивность
Документирование детального проектирования
Особенности шага 1
Проверка на выживание
Глава 14. Конструирование
Качество исходного кода
Стандарт кодирования
Цели проекта
Простота
Процедура интеграции программ
Что сделано — то сделано
Гарантия надежной основы для деятельности других разработчиков
Ежедневное конструирование и тестирование герметичности
Особенности шага 1
Избежание преждевременной разработки инфраструктуры
Наблюдение за развитием проекта
Сбор статусной информации
Наблюдаемость
Еженедельное обновление информации
Взаимодействие с заказчиками и руководством
Контроль изменений
Сосредоточенность
Заключение
Проверка на выживание
Глава 15. Системное тестирование
Философия тестирования
Степень полноты тестирования
Поддержка ежедневного конструирования группой тестирования
Поддержка тестирования системы разработчиками
Стратегическое обеспечение качества
Проверка на выживание
Глава 16. Выпуск программного продукта
Внимательное отношение к выпуску
Когда выпускать продукт
Количество ошибок
Статистика трудозатрат исправления ошибок
Прогнозирование интенсивности ошибок
Группировка ошибок
Отбор ошибок
Моделирование ошибок
Решение о выпуске
Слежение за ошибками и публичность
Проверочный лист выпуска
Форма приема выпуска
Проверка на выживание
Глава 17. Окончание этапа
Общее собрание комитета изменений
Пересчет оценок
Пересчет продуктивности
«Пересчет» или «перенос»?
Сравнение фактической и плановой производительности
Резервирование среды проекта
Обновление журнала проекта
Проверка на выживание
Часть IV. Завершение миссии
Глава 18. Хронология проекта
Сбор данных о проекте
Собрание по рецензированию проекта
Анкетирование для рецензирования проекта
Документ хронологии проекта
Подготовка заключения хронологии проекта для использования в будущих проектах
Распространение копий хронологии проекта
Проверка на выживание
Глава 19. Рекомендации по выживанию
Проверочный лист успеха NASA
Желательные действия
Нежелательные действия
Прочие средства выживания
Книги
Интернет-ресурсы
Эпилог
Глоссарий
Алфавитный указатель