Человеческий фактор в программировании
Добавить в закладки К обложке
- Предисловие - Страница 1
- Предисловие к первому изданию - Страница 3
- IГрупповая разработка - Страница 5
- 2Консенсус и компромисс - Страница 7
- 4Скромный и высокопоставленный писарь - Страница 11
- 5Официальное пространство - Страница 14
- 6Раздражающие прерывания - Страница 17
- IIКовбои и ковгерлы - Страница 19
- 8Возвращение блудного ковбоя - Страница 22
- 9Единство в разнообразии - Страница 25
- 10Кодеры-ковбои и программисты-мудрецы - Страница 28
- IIIОрганизация работы - Страница 33
- 12Методы хаоса - Страница 36
- 13Открытая архитектура - Страница 39
- 14Синхронное плавание - Страница 42
- 15Командная политика - Страница 45
- 16Все сразу - Страница 47
- 17Заговор упрямцев - Страница 49
- IVИнструменты, модели и методы - Страница 51
- 19Вопросы моделирования - Страница 54
- 20Свет мой, зеркальце - Страница 56
- 21Методичное сумасшествие - Страница 58
- 22Говоря по существу - Страница 60
- 23Будущие формы - Страница 63
- 24Цели программного обеспечения - Страница 66
- 25Шито белыми нитками - Страница 69
- VСовершенствование процесса - Страница 73
- 27Повторение и вознаграждение - Страница 76
- 28Суперобучение - Страница 79
- 29Вверх по водопаду - Страница 81
- 30Своевременная поставка - Страница 83
- 31Под давлением - Страница 85
- 32Re: Архитектура - Страница 87
- 33Пошаговое улучшение качества - Страница 89
- VIЮзабилити программного обеспечения - Страница 95
- 35Сложность и прогрессирующий функционизм - Страница 98
- 36Назад к истокам - Страница 101
- 37Цветной язык - Страница 104
- 38Совершенствующиеся середнячки - Страница 107
- 39Пригодны ли вы - Страница 110
- 40Редактирование интерфейсов - Страница 113
- 41Сервис - Страница 115
- VIIУдобные объекты - Страница 117
- 43Глубокое понимание - Страница 121
- 44Абстрактные объекты - Страница 125
- 45Новая среда - Страница 128
- 46Полезные ситуации - Страница 132
- 47Эффективные объекты - Страница 136
- 48Связанные объекты - Страница 140
- VIIIЭто превосходное новое программное обеспечение - Страница 143
- 50Интерфейсы разнообразные - Страница 146
- 51Мастеры - Страница 148
- 52Образы будущего - Страница 150
- IXКультура и качество - Страница 152
- 54Агенты изменения - Страница 154
- 55Встроено самое лучшее - Страница 156
- 56Заметки из итальянского ресторана - Страница 159
- 57Наставничество - Страница 162
- 58На обучение - Страница 164
- 59Одаренные программисты - Страница 166
- 60Иконы отрасли - Страница 168
- 61Импресарио - Страница 170
- Приложение - Страница 172
- Библиография - Страница 174
13Открытая архитектура
Многие думают, что есть только два типа людей: мы, знающие все лучше других, и остальные, отличные от нас. То же самое можно сказать о работе в организациях. Некоторые люди думают, что есть только два выбора: приказная власть или необузданная анархия. Другими словами, свобода или подавление — и все! Остальные понимают, что не все так просто. Что бы ни предпринимали менеджеры и консультанты по управлению, реальные люди в реальных организациях не поддаются ограничениям примитивной дихотомии и выпрыгивают из одномерных концептуальных коробок, в которые мы стараемся их втиснуть.
С одной стороны, есть иерархическая модель организации работы, обсужденная в главе 11, а с другой стороны — ее полная противоположность, творческая анархия, рассмотренная в главе 12. Между этими двумя крайностями в виде упорядоченного традиционализма и свободного новаторства размещается столько вариантов, сколько существует проектов и людей, в них участвующих.
Впрочем, не всякой рабочей группе найдется место в данном ряду. Некоторые группы, находящиеся далеко в левой части диапазона, не рассматривают основные вопросы организации работы как компромиссы. Это те люди, которые мыслят в терминах «и то, и это», а не в терминах «или-или». Они говорят: «Мы можем это». Как в традиционном, так и в «свободном» подходе есть тенденция обязательно противопоставлять «я» и «мы». В традиционной иерархии интересы индивидуумов подчинены интересам команды, или группы, или организации. В новаторском индивидуализме верховодят индивидуумы, а коллективные интересы отодвинуты на задний план.
Однако другие исследователи считают, что между целым и его частями нет принципиального конфликта — так же как нет необходимости выбирать между изменением и стабильностью. Такой подход к совместной работе, так называемая «открытая парадигма», является гибкой моделью, основанной на равноправном сотрудничестве и взаимодействии. Для краткости мы можем назвать эту модель «адаптивным сотрудничеством», открытой архитектурой построения человеческих организаций.
Работаем спокойно, работаем вместе
Адаптивное сотрудничество идеально подходит для решения технических задач. В этом подходе сами по себе не ценятся ни традиция и стабильность, ни новаторство и изменение. При таком взгляде на проекты и прогресс важным становится адаптивное соответствие между тем, как команда работает, и тем, над чем она работает. Сегодня мы разрабатываем независимые друг от друга программы, поэтому мы работаем по отдельности. Завтра мы будем думать над общим протоколом обмена данными, поэтому мы соберемся все вместе. У каждого есть свои мысли об архитектуре базы данных, так давайте обсудим все эти идеи.
Целью в такой группе является спокойствие и обсуждение вопросов таким образом, чтобы конкурирующие идеи можно было объединить, а различные подходы синтезировать. В некотором смысле такие группы непрерывно перестраиваются, изменяя способы работы в соответствии с текущими потребностями и долгосрочными задачами. Кто становится «ответственным» и что это подразумевает, зависит от того, чем занята группа в данный момент.
Группы разработчиков, организованные в таком духе, напоминают скорее плоский круг, чем пирамиду. Члены команды работают как коллеги, меняясь ролями. В отличие от свободных радикалов в «командах прорыва», которые могут работать независимо и даже соревнуются между собой, члены такой команды тщательно согласовывают свои действия. Решения принимаются коллективно в процессе обсуждений, переговоров и построения консенсуса. Это не значит, что все во всем соглашаются, однако они приходят к техническому консенсусу. При техническом консенсусе все члены команды поддерживают действия и решения, выработанные группой по всем главным вопросам. Для этого требуется, чтобы каждый мог внести свой вклад в важные решения. Такой подход позволяет каждому сотруднику «вложиться» в совместное усилие и гордиться своим личным участием в коллективном продукте.
Обсуждая вопросы совместно, группы могут блестяще решать сложные задачи, особенно в тех случаях, когда нужно получить и проверить значительный объем информации (звучит так, как будто требуется большой объем разработок). На самом деле, чем больше в задаче факторов, граней и деталей, тем больше относительное преимущество открытых команд в сравнении с тактическими командами, где информация может контролироваться слишком жестко, или с «командами прорыва», в которых информация может быть потеряна в конкуренции и хаосе.
- 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