Онлайн книга
Оглавление книги
- Об авторе
- Предисловие
- Предисловие
- Предисловие
- Благодарности
- Введение
- Часть I Проблема и цель
- Глава 1 Цель планирования
- Зачем это нужно
- Сокращение риска
- Снижение неопределенности
- Условия для принятия более качественных решений
- Доверие
- Распространение информации
- Что делает план хорошим
- Что делает планирование гибким
- Резюме
- Вопросы для обсуждения
- Глава 2 Почему планирование дает неудовлетворительные результаты
- Планирование ориентировано на деятельность, а не на функцию
- Запланированные работы не завершаются досрочно
- Запаздывание распространяется на последующие этапы календарного графика
- Работы не являются независимыми
- Многозадачность приводит к дальнейшим задержкам
- Функции не разрабатываются в соответствии с их приоритетом
- Мы не учитываем неопределенность
- Оценки превращаются в обязательства
- Резюме
- Вопросы для обсуждения
- Глава 3 Agile-подход
- Agile-подход к проекту
- Agile-команда работает как единое целое
- Работа agile-команды разбивается на короткие итерации
- Аgile-команда поставляет какой-либо результат после каждой итерации
- Agile-команда фокусируется на бизнес-приоритетах
- Agile-команда проверяет и модифицирует
- Agile-подход к планированию
- Многоуровневость планирования
- Состояние удовлетворенности
- Резюме
- Вопросы для обсуждения
- Часть II Оценка размера
- Глава 4 Оценка размера в пунктах
- Пункты — относительный показатель
- Скорость
- Скорость обеспечивает корректировку ошибок оценки
- Резюме
- Вопросы для обсуждения
- Глава 5 Оценка размера в идеальных днях
- Идеальное время и разработка программного обеспечения
- Идеальные дни как показатель размера
- Одна оценка, а не множество
- Резюме
- Вопросы для обсуждения
- Глава 6 Методы оценки
- Оценки — продукт совместной работы
- Шкала оценки
- Пользовательские истории, эпопеи и сюжеты
- Получение оценки
- Экспертная оценка
- Оценка по аналогии
- Разбивка на более мелкие части
- Покер планирования
- Сессии с более узким составом участников
- Когда играть в покер планирования
- Почему покер планирования работает
- Резюме
- Вопросы для обсуждения
- Глава 7 Переоценка
- Знакомство с сайтом SwimStats
- Когда переоценка не требуется
- Скорость — великий уравнитель
- Когда выполнять переоценку
- Сценарий 1: переоценка не производится
- Сценарий 2: производится переоценка завершенной истории
- Сценарий 3: осуществление переоценки при изменении относительного размера
- Переоценка частично реализованных историй
- Цель переоценки
- Резюме
- Вопросы для обсуждения
- Глава 8 Что выбрать — пункты или идеальные дни
- Доводы в пользу пунктов
- Пункты способствуют выработке кроссфункционального поведения
- Оценки в пунктах не устаревают
- Пункты — это чистый показатель размера
- Оценка в пунктах обычно требует меньше времени
- Мои идеальные дни — это не ваши идеальные дни
- Доводы в пользу идеальных дней
- Идеальные дни легче объяснить за пределами команды
- Идеальные дни легче использовать для оценки в начальный момент
- Рекомендации
- Резюме
- Вопросы для обсуждения
- Часть III Планирование на основе стоимости
- Глава 9 Приоритизация тем
- Факторы приоритизации
- Стоимость
- Затраты
- Новые знания
- Риск
- Объединение четырех факторов
- Примеры
- Создание инфраструктуры
- Дизайн пользовательского интерфейса
- Резюме
- Вопросы для обсуждения
- Глава 10 Приоритизация по финансовой отдаче
- Источники дохода
- Новый доход
- Прирост дохода
- Сохраненный доход
- Операционная эффективность
- Пример: WebPayroll
- Определение нового дохода
- Определение прироста дохода
- Определение сохраненного дохода
- Определение операционной эффективности
- Определение затрат на разработку
- Сведение всех статей вместе
- Финансовые показатели
- Временнáя стоимость денег
- Чистая приведенная стоимость
- Внутренняя ставка доходности
- Срок окупаемости
- Дисконтированный срок окупаемости
- Сравнение отдачи
- Резюме
- Вопросы для обсуждения
- Глава 11 Приоритизация по желательности
- Модель удовлетворенности клиентов Кано
- Оценка тем по модели Кано
- Категоризация ответов
- Относительное взвешивание: еще один подход
- Резюме
- Вопросы для обсуждения
- Глава 12 Разбивка пользовательских историй
- Когда нужно разбивать пользовательскую историю
- Разбивка по границам данных
- Разбивка по операционным границам
- Удаление сквозной функциональности
- Несоблюдение требований к быстродействию
- Разбивка историй со смешанным приоритетом
- Не разбивайте историю на задачи
- Избегайте соблазна добавить взаимосвязанные изменения
- Объединение историй
- Резюме
- Вопросы для обсуждения
- Часть IV Составление календарных графиков
- Глава 13 Основные аспекты планирования релиза
- План релиза
- Определение условий удовлетворенности
- Оценка пользовательских историй
- Выбор длины итерации
- Оценка скорости
- Приоритизация пользовательских историй
- Выбор историй и даты релиза
- Обновление плана релиза
- Пример
- Определение условий удовлетворенности
- Оценка
- Выбор длины итерации
- Оценка скорости
- Приоритизация пользовательских историй
- Выбор пользовательских историй
- Резюме
- Вопросы для обсуждения
- Глава 14 Планирование итерации
- Задачи, не распределенные во время планирования итерации
- Чем различаются планирование итерации и планирование релиза
- Планирование итерации на основе скорости
- Корректировка приоритетов
- Определение целевой скорости
- Идентификация цели итерации
- Выбор пользовательских историй
- Разбивка пользовательских историй на задачи
- Включайте только ту работу, которая создает стоимость для соответствующего проекта
- Будьте конкретны, пусть это станет привычкой
- Учет совещаний (которых будет множество)
- Программные ошибки
- Подход к работе с взаимозависимостями
- Работа, которую трудно разбить
- Оценка задач
- Обсуждение дизайна — это нормально
- Подходящий размер для задачи
- Планирование итерации на основе обязательств
- Запрос на принятие обязательств
- Суммирование оценок
- Сопровождение других продуктов и обязательство
- Мои рекомендации
- Соотнесение оценок задач с пунктами
- Резюме
- Вопросы для обсуждения
- Глава 15 Выбор длины итерации
- Факторы, влияющие на выбор длины итерации
- Общая длина релиза
- Уровень неопределенности
- Простота получения обратной связи
- Продолжительность сохранения неизменности приоритетов
- Готовность продолжать работу без получения внешней обратной связи
- Издержки итерационного подхода
- Быстрота появления ощущения цейтнота
- Принятие решения
- Два примера
- Проект Napa
- Проект Goodman
- Резюме
- Вопросы для обсуждения
- Глава 16 Оценка скорости
- Использование исторических значений
- Выполнение итерации
- Прогнозирование скорости
- Оценка количества доступных часов
- Оценка времени, доступного в итерации
- Развертывание историй и выбор того, что подходит
- Создание диапазона на основе найденной скорости
- Возможный вариант для некоторых команд
- Какой подход следует использовать
- Резюме
- Вопросы для обсуждения
- Глава 17 Буферизация планов для компенсации неопределенности
- Функциональный буфер
- Временной буфер
- Отражение неопределенности в оценках
- Определение размера буфера проекта
- Более простой способ расчета буфера
- Правила определения размера буфера
- Комбинирование буферов
- Временной буфер — это не раздувание сроков
- Ограничительные оговорки
- Резюме
- Вопросы для обсуждения
- Глава 18 Планирование проекта с участием нескольких команд
- Принятие общей базы для оценок
- Более быстрое добавление деталей в пользовательские истории
- Опережающее планирование
- Включение в план поддерживающих буферов
- Что именно буферизируется?
- Определение размера поддерживающего буфера
- Но ведь это уйма работы
- Резюме
- Вопросы для обсуждения
- Часть V Отслеживание прогресса и информирование
- Глава 19 Мониторинг плана релиза
- Отслеживание процесса разработки релиза
- Скорость
- Диаграмма выгорания релиза
- Гистограмма выгорания релиза
- Диаграмма парковки
- Резюме
- Вопросы для обсуждения
- Глава 20 Мониторинг плана итерации
- Доска задач
- Диаграммы выгорания итерации
- Отслеживание затраченных сил и времени
- Индивидуальная скорость
- Резюме
- Вопросы для обсуждения
- Глава 21 Информирование о плане
- Информирование о плане
- Информирование о прогрессе
- Итоговый отчет в конце итерации
- Контекст
- Даты
- Персонал
- Показатели
- Результаты ночной сборки
- Выгорание итерации
- Скорость
- Контент и оценка
- Анализ итерации
- Резюме
- Вопросы для обсуждения
- Часть VI Почему работает agile-подход к планированию
- Глава 22 Почему работает agile-подход к планированию
- Частое изменение плана
- Оценки размера и сроков разделяются
- Планы составляются на разных уровнях
- Планы ориентируются на функции, а не на задачи
- Небольшие истории поддерживают постоянство потока работы
- Незавершенная работа ликвидируется в каждой итерации
- Отслеживание прогресса осуществляется на уровне команды
- Неопределенность признается и учитывается при планировании
- Правила применения agile-подхода к оценке и планированию
- Резюме
- Вопросы для обсуждения
- Часть VII Анализ конкретного примера
- Глава 23 Конкретный пример: Bomb Shelter Studios
- День 1 — утро понедельника
- Оценка пользовательских историй
- Подготовка к исследованию продукта
- Планирование итерации и релиза, раунд 1
- Планирование первой итерации
- Планирование релиза
- Две недели спустя
- Планирование второй итерации
- Две недели спустя
- Пересмотр плана релиза
- Презентация пересмотренного плана у Фила
- Восемнадцать недель спустя
- Список литературы
Автор книги - Майк Кон
Майк Кон (Mike Cohn) — основатель Mountain Goat Software, фирмы, занимающейся консалтингом в сфере управления процессами и проектами. Майк специализируется на помощи компаниям в применении agile-подхода с целью повышения эффективности. Он также является автором книги «Пользовательские истории: Гибкая разработка программного обеспечения» и книг по языкам программирования Java и C++. За спиной у Майка более чем 20-летний опыт работы руководителем в организациях разного размера, от стартапа до компании из списка Fortune 40. Его статьи можно найти в ...