Как пасти котов. Наставление для программистов, руководящих другими программистами
Добавить в закладки К обложке
- Предисловие - Страница 2
- Об авторе - Страница 4
- О научном редакторе - Страница 5
- Об иллюстраторе - Страница 6
- Благодарности - Страница 7
- От издательства - Страница 8
- Введение - Страница 9
- Структура книги - Страница 10
- Кому и зачем стоит прочесть эту книгу - Страница 12
- Стиль и позиция - Страница 13
- Глава 1Как привыкнуть к роли руководителя - Страница 14
- Правда ли, что настоящие руководители ходят в черном? - Страница 15
- Насколько важно быть крутым? - Страница 16
- Мало быть крутым – смотри в оба! - Страница 18
- Как руководить чокнутыми, чудаковатыми, странными и обычными программистами - Страница 19
- Какие бывают породы программистов - Страница 20
- Умение обращаться с представителями разных пород - Страница 25
- Слава, почет и деньги - Страница 26
- Мотивирование деньгами - Страница 27
- Уровень мышления[14] - Страница 28
- Как вы адаптируетесь - Страница 30
- Что дальше - Страница 31
- Глава 2Как руководить собой - Страница 32
- Взгляд в зеркало - Страница 33
- Рай, ад, чистилище и ваше место во вселенной - Страница 34
- Ваша работа в корне меняется - Страница 35
- Вам нужно заново учиться оценивать свои успехи, увлечения, амбиции - Страница 36
- Естественный отбор и время - Страница 37
- Избегайте ненужных, неэффективных совещаний - Страница 38
- Не планируйте слишком мало или слишком много - Страница 39
- Бессмысленно ожидать чего-либо при отсутствии контроля - Страница 40
- Проектируйте архитектуру, прежде чем выбирать технологию - Страница 41
- Баланс между чистотой и практичностью - Страница 42
- Не выполняйте задания, а распределяйте их - Страница 43
- Документируйте то, что вы делаете или планируете делать - Страница 44
- Оценка вашей производительности - Страница 45
- Контролируйте свои слабости - Страница 46
- Ответы - Страница 48
- Что дальше - Страница 51
- Глава 3Как вести стаю за собой - Страница 52
- Как справиться с административными функциями - Страница 53
- Как не отвлекаться на раздражители - Страница 55
- Когда проект разрастается - Страница 57
- Как объединить усилия тех, кто гуляет сам по себе - Страница 60
- Опасность! - Страница 61
- Как сформировать команду и как ее поддерживать - Страница 62
- Как нанимать сотрудников - Страница 63
- Как увольнять сотрудников - Страница 65
- Денежное поощрение и продвижение сотрудников по службе - Страница 66
- Как готовить преемника - Страница 67
- Ну хватит уже! - Страница 68
- Что дальше - Страница 69
- Глава 4Как организовать успех - Страница 70
- Как превратить информацию в знания и действия - Страница 71
- Бумажная волокита - Страница 72
- Безбумажная волокита - Страница 74
- Как выработать собственные навыки администрирования - Страница 77
- Как организовать контроль - Страница 78
- Информационный поток - Страница 79
- Назначение заданий - Страница 80
- Архитектура - Страница 81
- Рабочие часы - Страница 82
- Ожидания - Страница 83
- Взаимоотношения - Страница 84
- Как повысить организованность в масштабах всей компании - Страница 85
- Руководство продуктами - Страница 86
- Руководство процессами - Страница 88
- Тестирование - Страница 89
- Руководство инфраструктурой - Страница 90
- В конце рабочего дня - Страница 92
- Что дальше - Страница 93
- Глава 5Как вести совещания - Страница 94
- Еженедельные совещания - Страница 95
- Проектные совещания - Страница 97
- Беседы один на один - Страница 101
- Совещания с другими группами - Страница 102
- Ретроспективные совещания - Страница 103
- Телеконференции - Страница 104
- Время между совещаниями - Страница 105
- Консенсус и действия в результате совещаний - Страница 106
- Что дальше - Страница 107
- Глава 6Философия и методы технического лидера - Страница 108
- Как уразуметь свою техническую роль и придерживаться ее - Страница 109
- Конструировать или выращивать - Страница 110
- Примат архитектуры - Страница 111
- Проектные ограничения в архитектурном планировании - Страница 112
- Аналитические позиции как средство управления проектными ограничениями - Страница 113
- Свежий взгляд на проектирование - Страница 115
- Нулевой этап проектирования - Страница 116
- Этапы проектирования 1, 2, 3, 2, 1, 4… - Страница 118
- Кодовая полиция - Страница 121
- Следите за законностью - Страница 122
- Наиболее распространенные нарушения - Страница 123
- Скорый суд и неотвратимость наказания - Страница 125
- Философия в действии - Страница 126
- Конкретный пример философии в действии – Леонардо да Винчи - Страница 127
- Ложка дегтя - Страница 128
- Перспективы - Страница 129
- Что дальше - Страница 130
- Глава 7Закат лидера - Страница 131
- Обличие тьмы - Страница 132
- Негативные эталоны в менеджменте - Страница 133
- Мелочная опека - Страница 134
- Советы тем, кто увлекается мелочной опекой - Страница 137
- Неорганизованные руководители - Страница 138
- Гений не на месте - Страница 140
- Строители империй тьмы - Страница 142
- Заигрывание с дьяволом - Страница 144
- Вы достигли своего предела - Страница 145
- Вы прыгнули выше головы - Страница 146
- Вас бесит критика - Страница 147
- Как выжить в период упадка и восстать из пепла - Страница 148
- Как избежать заката - Страница 149
- Что дальше - Страница 150
- Глава 8Восход лидера - Страница 151
- Фундаментальные принципы лидерства - Страница 152
- Понимание - Страница 153
- Передача знаний - Страница 154
- Делегирование - Страница 155
- Проверка - Страница 156
- Участие - Страница 157
- Надстройка - Страница 159
- Наставничество - Страница 160
- Вознаграждение - Страница 161
- Исправления - Страница 162
- Предвидение - Страница 163
- Адаптация - Страница 164
- Пойдут ли за вами? - Страница 165
- Принуждение - Страница 166
- Долг - Страница 167
- Восхищение - Страница 168
- Вознаграждение - Страница 169
- Знание - Страница 170
- Возрастные аспекты лидерства - Страница 171
- Как лидеру сочетать форму и содержание - Страница 172
- Энди Гроув – агрессивный параноик - Страница 173
- Билл Гейтс – одержимость и расчетливость - Страница 174
- Вы – _____ (введите недостающее слово) - Страница 175
- Резюме - Страница 176
- Лидерство формируется в практической деятельности - Страница 177
- Отталкивайтесь от основных принципов лидерства - Страница 178
- Что дальше - Страница 179
- Глава 9Как ужиться с начальством - Страница 180
- Как понять, чем живет ваша начальница - Страница 181
- Честность и принципиальность против подтасовок и лжи - Страница 182
- Как помочь начальнице удачно спланировать процесс - Страница 184
- Знайте свой потолок - Страница 185
- Как ожидать неожиданность - Страница 186
- Как преодолеть безынициативность компании - Страница 187
- Следите за тенденциями в отрасли - Страница 188
- Экспериментируйте с новыми методами и приемами - Страница 189
- Учитесь чувствовать время - Страница 190
- Не забывайте, что интересы клиента на первом месте - Страница 191
- Резюме - Страница 192
- Конец уже близко - Страница 193
- Глава 10Слова без песни - Страница 194
- Распределенная рабочая сила - Страница 195
- Суть проблемы - Страница 196
- Решение - Страница 197
- Культурный фактор в менеджменте - Страница 199
- Язык и культура - Страница 200
- Мотивация чужаков и контроль над ними - Страница 201
- Оценка методологий разработки программных средств - Страница 203
- Программная инженерия - Страница 204
- MSF - Страница 205
- Экстремальное программирование - Страница 206
- Гибкая разработка - Страница 207
- Мастерство – ядро любого успеха - Страница 208
- Технологические революции - Страница 209
- Экономические несчастья - Страница 210
- Одиночество руководителей - Страница 211
- Уделяйте время исследовательской работе - Страница 212
- Как превратить административные функции в инженерные - Страница 213
- Стратегическое планирование как наука - Страница 214
- Учитесь ценить человеческие отношения - Страница 215
- Финал - Страница 216
- ПослесловиеСнова в плавание… - Страница 217
- Руль - Страница 218
- Парус - Страница 219
- Якорь - Страница 220
- Приложение АКак ухаживать за живностью – электронный администратор - Страница 221
- Приложение БКак дать скотине в глаз – критический обзор кода электронного администратора - Страница 223
- Контекст и происхождение программного продукта - Страница 224
- Правила игры - Страница 225
- Следовал ли я стандартам? - Страница 226
- Как насчет связности и взаимозависимости? - Страница 227
- Другие достоинства и недостатки - Страница 228
- Заключение - Страница 229
- БиблиографияРесурсы для специалистов по выпасу котов - Страница 230
- Разработка программного обеспечения - Страница 231
- Классические труды - Страница 232
- Выдающиеся работы - Страница 233
- Примечательные работы - Страница 234
- Полезные работы - Страница 236
- Общие работы по менеджменту - Страница 237
- Работы по языкам программирования - Страница 238
- Разные работы - Страница 239
Гибкая разработка
В поисках новых методов для себя и своей команды вам еще не раз предстоит столкнуться с термином «гибкий» (agile). Любой эффективный метод разработки программного обеспечения является таким по свой природе. Гибкость означает способность к адаптации, к изменяющимся требованиям и развивающейся технологии, в том числе на этапе конструирования проекта. Мнения большинства специалистов в области разработки программных средств сходятся в одном: гибкость – это священный Грааль всех методик разработки. Существует даже общественная организация, состоящая из ведущих специалистов по разработке программных продуктов и ставящая своей целью пропаганду концепции гибкости[121]. Эти деятели даже опубликовали манифест, в котором обозначены четыре основные проблемы, свидетельствующие, в зависимости от решения, о гибкости тех или иных методов[122].
1. Отдельные лица и взаимодействие или процесс и инструментальные средства.
2. Функционирующее программное обеспечение или комплексная документация.
3. Сотрудничество заказчиков или переговоры по контракту.
4. Реакция на изменения или следование плану.
Признавая определенную ценность положений, расположенных в правой части списка, авторы придают большую значимость его левой части.
Между так называемой «гибкой» школой и экстремальным программированием много параллелей. Действительно, в совещании, на котором был принят манифест гибкости, участвовали, помимо прочих, основатели концепции ХР. На самом деле методология гибкости – это, скорее, совокупность принципов, применимая к любым процессам и мероприятиям в области планирования, направленным на конструирование программных средств. В главе 6, рассуждая о методах технического проектирования, я упомянул термин[123] «адаптивная разработка программных средств», имея в виду деятельность, обусловливающую ваш успех в роли технического лидера. Так вот, адаптивная разработка тоже происходит от гибкости.
Мнения большинства специалистов в области разработки программных средств сходятся в одном: гибкость – это священный Грааль всех методик разработки.
В отличие от других методов, рассматривающих предвидение изменений как малозначащий фактор, на который не следует обращать внимания, или как тенденцию в процессе разработки, которой нужно сопротивляться, концепция гибкости призывает к конструктивному и адаптивному реагированию на изменения. В этом свете ХР трактуется как подготовительная стадия к внедрению философии гибкости. Любой метод, предусматривающий фиксацию требований и следование предопределенному процессу, приводит к созданию не вполне адекватного программного продукта. Приведу цитату из Кокберна (Cockburn):
«Некоторые считают, что необходимым условием успешности проекта является следование заданному процессу. Те, кто придерживается такого мнения, тратят уйму энергии на проверку его соблюдения. Человек, твердо убежденный в том, что именно в процессе вся суть, может очень долго не обращать внимания на несоответствие между практикой следования процессу и его исходом»[124].
Иначе говоря, методология гибкости снимает с нас шоры и открывает глаза на те вещи, которые рабы процесса не замечают.
Перечисление этапов процесса разработки, основывающегося на методологии гибкости, противоречит самому ее духу. Методология гибкости рассматривает процесс разработки как опыт сотрудничества и взаимодействия между программистом и заказчиком. Эта позиция, иногда трактуемая исключительно как методологическая тенденция, как мне кажется, являет собой единственный способ обуздать трудный процесс создания качественных программных средств.
Я крайне рекомендую вам порыться в литературе, посвященной гибким методам. Ресурсов по этому вопросу великое множество[125]. Не менее важно оценивать по стандарту гибкости те методы, которыми вы пользуетесь в данный момент. Представьте себе ситуацию, в которой плохо сформулированное коммерческое требование уточняется ближе к сроку завершения кодирования. Сможет ли ваша группа отреагировать на такое изменение без недопустимых задержек? Когда требования меняются во время цикла разработки, большинство из нас проклинают все вокруг. Тем самым мы пытаемся дистанцироваться от реального положения вещей – ведь чем глубже мы разрабатываем проблему реализации требования, тем больше двусмысленности обнаруживаем, а значит, возвращаемся к этапу определения продукта. Гибкие методы культивируют определенное восприятие неопределенности.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239