Предисловие | 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 |