2012г.
Перед вами настольная книга для системных аналитиков, программистов, архитекторов программного обеспечения, менеджеров проектов и начальников отделов по разработке программ. Кроме того, книга
будет полезным учебным пособием для преподавателей, студентов и аспирантов кафедр IТ в технических вузах. Как воплотить неясные ожидания заказчика в блестящий и прибыльный проект? Как избежать ошибок на начальном этапе? Как стать эффективным аналитиком? Авторы отвечают на эти вопросы и делятся своими ноу-хау, которые позволят вам стать гуру в разработке программного обеспечения. Главное достоинство книги – ее практическая направленность. В ней собрана полезная информация со ссылками на теоретические материалы из разных областей разработки программного обеспечения: анализа, архитектуры, управления проектами, лидерства и управления персоналом – все, что понадобится в реальных производственных проектах. Помимо этого, в книге содержится анализ разнообразных кейсов и ситуаций, а также примеры документов и шаблонов, необходимых для разработки ПО. Авторы структурируют огромный массив теоретической информации исходя из ее практической ценности на каждом этапе профессиональной карьеры. Книга написана простым и доступным языком. Авторы 15 лет шли к высшему уровню профессионализма, а вас отделяет от тех же знаний только прочтение этой книги.
Предисловие автора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Об авторах . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Благодарности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Предыстория . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Для кого эта книга . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
Чего вы НЕ найдете в этой книге. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
Как читать эту книгу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
1. Общие понятия. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.1. Что такое информатизация бизнеса и зачем мне надо это знать? . . . . . . . . .15
1.2. Что такое корпоративное лидерство? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
1.3. Что такое архитектура, какой она бывает и зачем мне надо это знать? . . . . .18
1.4. Что такое требование? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
1.5. Почему надо знать теории и методологии разработки ПО? . . . . . . . . . . . . . . .21
1.6. Почему бизнес- и системный анализ объединены в одной книге? . . . . . . . . .24
1.7. Что, кроме дисциплин анализа, должен знать хороший аналитик? . . . . . . . .24
2. Профиль и квалификация аналитиков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.1. Таблица квалификационных навыков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
3. Младший аналитик . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.1. Личностные навыки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
3.1.1. Аналитический стиль мышления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
3.1.2. Умение конспектировать. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
3.1.3. Коммуникационные способности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43
3.1.4. Управление эмоциональным фоном . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
3.1.5. Полезные мелочи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
3.2. Профессиональные и специальные навыки . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
3.2.1. Использовать специальные инструменты . . . . . . . . . . . . . . . . . . . . . . . .48
3.2.2. Понимать методологии разработки ПО . . . . . . . . . . . . . . . . . . . . . . . . . .49
3.2.3. Выявлять ожидания ЗЛ и управлять ими . . . . . . . . . . . . . . . . . . . . . . . . .63
3.2.4. Эффективно взаимодействовать с командой и ЗЛ по почте. . . . . . . . .74
3.2.5. Определять границы системы и создавать концепции . . . . . . . . . . . . .77
3.2.6. Выделять подсистемы и определять их функции . . . . . . . . . . . . . . . . . .80
3.2.7. Выявлять пользовательские требования . . . . . . . . . . . . . . . . . . . . . . . . .84
3.2.8. Выявлять нефункциональные требования . . . . . . . . . . . . . . . . . . . . . . . .85
3.2.9. Выявлять требования к пользовательскому интерфейсу . . . . . . . . . . .88
3.2.10. Управлять состояниями требований. . . . . . . . . . . . . . . . . . . . . . . . . . . .89
3.2.11. Формировать спецификации требований . . . . . . . . . . . . . . . . . . . . . . .90
3.2.12. Понимать основные принципы тестирования . . . . . . . . . . . . . . . . . . . .90
3.2.13. Полезные мелочи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .91
3.3. Типичные проблемы и вопросы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92
3.4. Заключение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94
4. Аналитик . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.1. Личностные навыки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97
4.1.1. Самомотивация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97
4.1.2. Самоорганизация. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97
4.1.3. Не упускать важное . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100
4.1.4. Культура речи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101
4.1.5. Корпоративная культура и этика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101
4.1.6. Полезные мелочи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102
4.1.7. Продолжайте… . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102
4.2. Профессиональные и специальные навыки . . . . . . . . . . . . . . . . . . . . . . . . . . .102
4.2.1. Проектные коммуникации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103
4.2.2. Проверьте себя. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106
4.2.3. План управления требованиями . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107
4.2.4. Концептуальная модель типов требований . . . . . . . . . . . . . . . . . . . . . .109
4.2.5. Общие принципы управления требованиями . . . . . . . . . . . . . . . . . . . .117
4.2.6. Моделирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119
4.2.7. Соответствие типов требований и моделей . . . . . . . . . . . . . . . . . . . . .140
4.2.8. Трассировки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148
4.2.9. Минутка расслабления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151
4.3. Типичные проблемы и вопросы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .154
4.4. Заключение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156
5. Старший/ведущий аналитик . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
5.1. Личностные навыки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157
5.1.1. Самомотивация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157
5.1.2. Навыки публичного выступления. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157
5.1.3. Продолжайте… . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
5.2. Профессиональные и специальные навыки . . . . . . . . . . . . . . . . . . . . . . . . . . .160
5.2.1. Проведение презентаций и тренингов . . . . . . . . . . . . . . . . . . . . . . . . . .161
5.2.2. Реверс-инжиниринг требований /обратное
проектирование системы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163
5.2.3. OOM и паттерны проектирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168
5.2.4. Риски, требования к качеству продукта и WBS аналитика. . . . . . . . . .169
5.2.5. SDLC проекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177
5.2.6. SDLC продукта: важность управления требованиями и основные
методики инженерии требований к продуктам . . . . . . . . . . . . . . . . . . . . . . . .198
5.2.7. Основы управления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208
5.2.8. Минутка расслабления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210
5.3. Типичные проблемы и вопросы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .212
5.4. Заключение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213
6. Начальник отдела анализа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
6.1. Личностные навыки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215
6.1.1. Самомотивация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215
6.1.2. Лидерство . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .217
6.2. Профессиональные и специальные навыки . . . . . . . . . . . . . . . . . . . . . . . . . . .226
6.2.1. Командная работа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .228
6.2.2. Политика. Баланс интересов. Переговоры . . . . . . . . . . . . . . . . . . . . . .231
6.2.3. Принципы и методы принятия управленческих решений . . . . . . . . . .242
6.2.4. Корпоративная культура . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .247
6.2.5. Системы управления деятельностью сотрудников. . . . . . . . . . . . . . . .252
6.2.6. Управление персоналом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253
6.2.7. Процессный менеджмент. Аналитические практики . . . . . . . . . . . . . .255
6.3. Типичные проблемы и вопросы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .265
6.4. Заключение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .267
7. Итак… . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Приложение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Запросы заинтересованного лица . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .271
Дополнительные материалы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Использованная литература . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Использованные интернет-ресурсы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Глоссарий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Словарь терминов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299