Как пасти котов. Наставление для программистов, руководящих другими программистами
Добавить в закладки К обложке
- Предисловие - Страница 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
Программная инженерия
В конце 1960-х годов, когда тогдашним инженерным гениям удалось высадить человека на Луну, располагая при этом меньшими вычислительными мощностями, чем любой современный калькулятор[110], в обиход вошел термин «программная инженерия». Эта концепция зиждется на представлении, согласно которому программное обеспечение можно разрабатывать средствами традиционных инженерных дисциплин. Применительно к сверхкрупным программным проектам, которые, как правило, заказывались правительством или крупными подрядчиками министерства обороны, эта методика несколько раз показала достойные результаты, но в остальных случаях потерпела фиаско[111]. Метод программной инженерии зачастую применялся в условиях одновременной разработки программного и аппаратного обеспечения. Кроме того, с его помощью удалось создать несколько коммерческих продуктов. IEEE определяет этот метод следующим образом:
«Программная инженерия – это систематический, структурированный, количественный подход к разработке, функционированию и сопровождению программных средств; иначе говоря, способ применения инженерных методов в разработке программных продуктов»[112].
Полагаю, вы, как и я, в замешательстве. Основное внимание в этом методе уделяется сокращению количества дефектов в коде – о соблюдении бюджетных рамок ни слова.
Это не в меру сжатое определение, по-моему, можно расширить.
• Систематически – все аспекты разработки можно контролировать в едином процессе.
• Структурно – последовательное употребление должных методов с целью производства качественного программного продукта.
• Количественно – все требования известны и допускают отображение на методы реализации.
Прежде чем чесать затылок, глядя на мою интерпретацию трех основных концепций программной инженерии, согласитесь: всем нам хотелось бы достичь определенности, точности и завершенности, которые декларируются. Посмотрим, как относится к мифу о суперпрограммистах один из наиболее последовательных поборников программной инженерии:
«Существует распространенное мнение, согласно которому несколько высококлассных специалистов, собранных вместе, способны сделать больше, чем стандартная группа разработчиков. Имеется в виду, что их знания о способах достижения высоких результатов интуитивны, а значит, потребность в систематизации процесса отпадает. Будь это действительно так, можно было бы предположить, что компании, у которых в штате числятся наиболее квалифицированные специалисты, не должны испытывать типичных проблем с качеством разрабатываемых программных средств и продуктивностью. Опыт же подсказывает нам, что это совершенно не так»[113].
Видите, какой получается конфликт. «Человек» противопоставляется «машине» – в контексте программной инженерии «машиной» можно назвать дисциплинированную группу разработчиков, работающую на основе общей методологии. «Человеком» же обозначается программист-светило, который как по волшебству мастерит продукты, руководствуясь исключительно своими познаниями. В дискуссию по этому поводу (по-моему, она немного искусственна) вступать не стоит. Хорошие специалисты и надежный процесс в равной степени необходимы – не будь одного из этих компонентов, создавать качественные программные продукты было бы крайне сложно. Вопрос лишь в том, является ли надежным процессом программная инженерия.
Мнения на этот счет расходятся. Предположим, перед вами стоит задача конструирования системы управления воздушным движением. На первый взгляд, программная инженерия прекрасно подходит для ее решения. Но… стоит подумать еще раз. К провалу проекта комплексной системы автоматизации (Advanced Automation System, AAS) Федерального управления гражданской авиации США (Federal Aviation Administration, FAA), с помощью которого в 1980-х годах предполагалось модернизировать систему управления воздушным движением, методика программной инженерии имеет непосредственное отношение. Несмотря на миллионные затраты, проект так и не оправдал ожиданий[114].
Кое-кто до сих пор убеждает общественность в том, что программная инженерия – это именно то, что нужно, их оппоненты не соглашаются – по их мнению, эта методология оторвана от реальности и с наступлением эпохи Интернета неприменима к рутинным проектам. Я предлагаю вам самостоятельно изучить соответствующую литературу, опробовать на практике декларируемые в ней идеи и лишь после этого делать выводы. В рамках школы программной инженерии исследователям удалось выработать ряд весьма удачных идей, и если они вам подходят – действуйте! С моей точки зрения, программная инженерия – это скорее идеальная конструкция, чем реальная методология; по этой причине методы для внедрения в повседневную деятельность своей команды я предпочитаю искать в других концепциях.
- 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