| Предисловие | 11 |
| |
| Введение | 13 |
| |
| Об этой книге | 14 |
Проект PSP Tools | 15 |
Структура книги | 15 |
| Для кого эта книга? | 15 |
| Благодарности | 16 |
Гари | 16 |
Лиз | 17 |
Джас | 17 |
Крис | 17 |
| |
| Глава 1. Завязка истории | 19 |
| |
| Знакомство с группой | 22 |
Гари | 23 |
Лиз | 24 |
Крис | 25 |
Джас | 25 |
Расселл | 26 |
| Что дальше? | 26 |
| |
| Глава 2. Процесс разработки в небольшом проекте | 27 |
| |
| Что такое небольшой проект? | 27 |
| Как насчёт процесса в небольшом проекте? | 28 |
Выгоды использования RUP в небольшом проекте | 28 |
| Начинаем работать с RUP | 29 |
Основные артефакты | 29 |
Уровень формализма | 33 |
| Приёмы вовлечения группы в процесс | 34 |
Включите в план семинары | 34 |
Привлекайте консультантов | 34 |
| Не отклоняйтесь от намеченного | 34 |
| Дополнительная информация | 35 |
| Резюме | 35 |
| |
| Глава 3. Персонал, процесс и инструментальные средства | 37 |
| |
| Персонал | 37 |
Гарри и Гвен | 38 |
О взаимоотношениях | 39 |
Подбор группы | 39 |
Создайте обучающую среду | 41 |
Объединяющее группу доверие | 41 |
Возражения должны быть конструктивными | 42 |
Власть просьб | 43 |
Признавайте достижения | 45 |
| Процесс | 46 |
Основное правило | 46 |
Снижайте риск | 47 |
Не изобретайте колесо | 47 |
Сделайте процесс своим | 48 |
Думайте головой | 50 |
| Инструментальные средства | 50 |
Создание собственных инструментальных средств | 52 |
| Что может не получиться? | 53 |
| Резюме | 54 |
| |
| Глава 4. Начало работы: участники проекта становятся командой | 55 |
| |
| Объединение в команду | 55 |
Формирование группы | 55 |
Работа с заказчиком и территориальная рассредоточенность | 57 |
Уход сотрудника | 58 |
| Описание варианта разработки | 60 |
Соглашения, используемые в варианте разработки | 61 |
Карта ролей | 63 |
Артефакты в нашем варианте разработки | 64 |
Значение варианта разработки | 65 |
| Контроль за ходом работ | 65 |
| Создание плана итераций для этапа Inception | 67 |
| Резюме | 69 |
| |
| Глава 5. Этап Inception: начинаем движение вперёд | 71 |
| |
| Vision: определение целей | 72 |
Определение границ проекта: что делать и чего не делать | 72 |
Кто является заинтересованной стороной? | 74 |
Определение заинтересованных лиц | 74 |
Подготовка брошюры | 75 |
Спецификация функциональных возможностей | 75 |
| Управление требованиями | 75 |
| Первые варианты использования | 79 |
Несколько слов о диаграммах | 83 |
Определение нефункциональных требований | 84 |
| Управление проектом | 84 |
Приоритеты требований | 84 |
Планирование | 85 |
Риск | 87 |
| Настройка среды разработки | 89 |
Языковые средства | 89 |
Инструментальные средства управления требованиями | 89 |
Средства управления конфигурацией и контроля версий | 90 |
Средства тестирования | 90 |
Средства организации совместной работы | 91 |
Другие средства и среды | 92 |
| Оценка итераций | 92 |
| И, правда, как каскад | 93 |
| Резюме | 93 |
| |
| Глава 6. Этап Elaboration: создаём основу | 95 |
| |
| Цели этапа Elaboration | 95 |
Больше стабильности: снижение скорости изменений | 96 |
Создание исполняемой архитектуры | 98 |
Детализация требований | 99 |
| Создание тестов и планов тестирования | 101 |
Не забывайте о пробном тестировании | 103 |
Тестирование модулей | 104 |
| Создание архитектуры PSP Tools | 105 |
Login: не так просто, как казалось | 107 |
| Замена инструментальной среды | 109 |
От Forte к XDE — прощай GUI Builder | 109 |
Новые применения для Groove | 110 |
| Создание базы данных откладывается | 111 |
Альтернатива базе данных | 112 |
Структура базы данных | 113 |
| Контроль объёма работ: выбрасывать, выбрасывать и выбрасывать | 114 |
| Что значит вы не можете установить продукт? | 116 |
| Оценка этапа Elaboration | 117 |
Пересмотр исполняемой архитектуры | 118 |
| Резюме | 118 |
| |
| Глава 7. Этап Elaboration: детали | 121 |
| |
| Начало этапа Elaboration | 121 |
Платформа Java — какая? | 121 |
А база данных? | 122 |
Другие средства разработки | 122 |
Структура исходного кода | 123 |
| Пользовательский интерфейс PSP Tools | 125 |
Волновой эффект пользовательского интерфейса | 125 |
Наш первый UI | 126 |
Исследование кода UI | 127 |
| База данных PSP Tools | 133 |
| Тестирование модулей | 136 |
План — программирование по принципу Test-First | 136 |
Реальность | 136 |
Инструменты и методы | 137 |
Анатомия теста JUnit | 138 |
Группировка тестов в тестовые комплекты | 140 |
Выполнение модульных тестов | 142 |
| Резюме | 142 |
| |
| Глава 8. Этап Construction: создаём PSP Tools | 143 |
| |
| Опять настройка среды | 143 |
Управление версиями | 144 |
Отслеживание дефектов | 146 |
| Управление дополнительными требованиями | 147 |
| Цели этапа Construction | 148 |
| Планирование этапа Construction: пульс проекта | 149 |
Поиск собственного ритма | 150 |
Обмен информацией посредством Release Notes | 151 |
Эксперименты, ошибки и обретение собственного стиля планирования | 151 |
| Реализация ускоряется | 153 |
Фактор страха — пример | 154 |
Как лучше справиться со страхом | 155 |
Ещё одна небольшая история | 156 |
| Продвижение на этапе Construction | 157 |
Изменения БД | 158 |
Продукт, которым можно пользоваться | 159 |
Первая итерация этапа Construction | 159 |
Пустячок, а приятно | 159 |
Вторая итерация этапа Construction | 161 |
Третья итерация этапа Construction | 163 |
| Почему разработка ускорилась? | 164 |
Оборотная сторона кривой обучения | 164 |
Работа с инфраструктурой | 164 |
Примеры работы с инфраструктурой | 165 |
Использование собственных программ | 166 |
| Остальные итерации этапа Construction | 166 |
| Каждому бывает нужен друг: «парное» программирование | 169 |
| Тестирование на этапе Construction | 170 |
| Прогноз изменений состава группы | 171 |
| Резюме | 172 |
| |
| Глава 9. Этап Construction: детали | 173 |
| |
| Доработка пользовательского интерфейса | 173 |
Работа с меню | 174 |
Названия пунктов меню и их группировка | 174 |
Блокировка пунктов меню | 175 |
Добавление контекстного меню | 177 |
Детали информации о времени и дефектах | 179 |
Пользовательские предпочтения | 182 |
| Завершение работы с базой данных | 184 |
Добавление новых полей — обновление схемы базы данных | 184 |
Поля и одинарные кавычки | 188 |
| Тестирование | 189 |
| Резюме | 192 |
| |
| Глава 10. Этап Transition: выпускаем PSP Tools | 193 |
| |
| Что представляет собой этап Transition? | 193 |
| Переход к этапу Transition | 194 |
| Цели этапа Transition | 194 |
| А что требования? | 195 |
Избегайте изменений на скорую руку | 195 |
Старайтесь сократить этап Transition | 196 |
Пример | 197 |
Дефекты — это не требования | 197 |
| Изменение кода на этапе Transition | 198 |
| Важность независимых тестеров | 199 |
Тяжёлая рука | 199 |
Тестирование собственных программ | 200 |
Сформулируйте требования | 200 |
Правильный настрой | 200 |
Остерегайтесь эффекта Готорна | 201 |
| Комплектация продукта | 202 |
Пользовательская документация | 203 |
| Обучение пользователей | 206 |
Обучение расширенной группы заказчиков | 207 |
| Это всё? | 208 |
Поддержка заказчиков | 208 |
Подготовка следующих версий | 208 |
| Резюме | 209 |
| |
| Глава 11. «Вскрытие»: как мы будем улучшать следующую версию | 211 |
| |
| Доводы в пользу «вскрытия» | 211 |
| Проведение «вскрытия» | 212 |
Соберите всю группу | 212 |
Подготовьте повестку | 213 |
Определите цели | 213 |
Подготовительные инструкции и действия | 214 |
Пригласите посредника | 215 |
Результат «вскрытия» — план действий | 216 |
Действуйте и встречайтесь регулярно | 216 |
Сделайте что-нибудь приятное | 217 |
| Наше «посмертное вскрытие» | 217 |
Что было положительным? | 217 |
Что хотелось бы изменить? | 218 |
Чему научились? | 218 |
Гари | 218 |
Джас | 219 |
Лиз | 220 |
Крис | 221 |
Выводы | 221 |
| Подготовка плацдарма для следующей группы | 222 |
Рефакторинг | 222 |
Заключительные диаграммы | 223 |
Другая проектная документация | 225 |
| Изменение ландшафта | 225 |
Совместная работа и обмен информацией | 227 |
Изменения в RUP | 228 |
IDE | 229 |
| Будущее PSP Tools | 230 |
| Резюме | 231 |
| |
| Приложение А. Введение в Rational Unified Process (RUP) | 233 |
| |
| Ключ к RUP | 233 |
Этапы | 235 |
| Основные концепции RUP | 235 |
Роли | 236 |
Действия | 236 |
| Вехи RUP | 240 |
Цели этапа Inception | 240 |
Цели этапа Elaboration | 241 |
Цели этапа Construction | 242 |
Цели этапа Transition | 242 |
| Резюме | 243 |
| |
| Приложение В. Обзор Personal Software Process (PSP) | 245 |
| |
| Personal Software Process (PSP) | 246 |
| Цель и центр внимания | 246 |
| Заключение | 248 |
| |
| Приложение С. Введение в экстремальное программирование (ХР) | 249 |
| |
| Основные ценности | 249 |
| Правила ХР | 250 |
| |
| Рекомендуемая литература | 253 |
| |
| Книги | 253 |
| Статьи | 255 |
| Видео | 255 |