Книга: Человеческий фактор в программировании
5 Официальное пространство
Разделы на этой странице:
5
Официальное пространство
Ваш коллега в офисе жует жевательную резинку, проигрывает на персональном компьютере «Where-in-the-World-is-Carmen-San-Diego?», охает и задает глупые вопросы. А в это время вы пытаетесь разобраться с ка-ким-то непонятным багом. В этой компании вы работаете несколько лет и чувствуете, что пришла пора получить отдельный кабинет. Вы идете к начальнику и говорите, что вам нужно большее пространство и защита от отвлекающего шума и помех. Вы говорите, что это повысит эффективность работы. Дескать, если у вас появится больше пространства и вас будут меньше отвлекать, вы станете работать более продуктивно. Вы ссылаетесь на научные исследования, подтверждающие это. Вы считаете, что вам нужн, по крайней мере сто квадратных футов выделенного пространства и тридцать квадратных футов для рабочего стола. Окно вам тоже не помешает. В Дании даже есть закон, по которому вы должны сообщить об этом начальнику. В Дании начальник обязан предоставить вам окно.
Народная мудрость гласит, что чем больше свободного пространства, чем тише в офисе, чем меньше помех, тем выше продуктивность и меньше ошибок в программном обеспечении. Сто квадратных футов свободного пространства и тридцать квадратных футов рабочего места просят программисты во всем мире. Эти представления вошли в отраслевой фольклор благодаря Тому ДеМарко (Tom DeMarco), Тиму Листеру (Tim Lister) и их классическому произведению «Peopleware: Productive Projects and Teams», 1987 [ЗЗ]. Исследовав несколько источников (главным образом их собственный ежегодник о «военных играх по кодированию»), они пришли к следующему выводу: программисты, работающие в отдельной комнате и имеющие больше места для раскладывания своих диаграмм и распечаток, обладают большей производительностью.
Форма процесса
На работе, дома, в ресторане или в учебной аудитории физическое пространство определяет то, что происходит и может происходить между людьми. За длинным банкетным столом вы можете беседовать с сидящими по обе стороны от вас и еще с несколькими людьми, сидящими напротив. Однако вряд ли вы сможете пообщаться с теми, кто сидит на другом конце стола. Король Артур сделал свой стол круглым в знак равенства тех, кто за ним сидит. Кроме того, форма стола позволяла всем рыцарям легко говорить друг с другом.
Планировка и меблировка зданий или офисов может оказывать сильное влияние на общение людей и их совместную работу. Когда-то я два года прожил в квартирном доме и за все это время встретил лишь нескольких соседей. Вход в дом представлял собой маленький проем, едва достаточный для одного человека с сумкой продуктов. Коридоры были узкими, темными и пустынными. Там просто не было места для того, чтобы люди могли случайно встретиться друг с другом и поговорить.
Обычно офисы не страдают наличием узких проходов или темных коридоров, однако в офисах современных высокотехнологичных компаний есть другие архитектурные «изыски». В схемах компоновки современных офисов преобладает так называемая открытая планировка с гибким разделением помещений. Несмотря на такое привлекательное название эта система обычно не является ни «гибкой», ни «открытой».
Одна компьютерная компания размещается в зданиях с многомильными коридорами и кабинками крест-накрест, разделенных звуконепроницаемыми перегородками песочного цвета. Для того чтобы оглядеться, приходится вытягивать шею. Такие перегородки лишь сводят шум от разговоров к тому отвлекающему гулу, который слышен в оперном зале перед поднятием занавеса. Нет ни уединения, ни пресловутой открытости. Люди в офисах, отделенные в этом бежевом кроличьем садке более чем двадцатью футами, могут в течение многих лет не встречаться друг с другом. Посетителей в таких помещениях нужно сопровождать — не ради их безопасности, а просто для того, чтобы они не заблудились. Почтовые адреса там обозначаются наподобие KK14-HDQ:117NBB.R3 (тайные коды, сообщающие об этаже, колонке и ряде). Гибкость этой гибкой планировки офисов весьма иллюзорна. Перемещение любой перегородки означает необходимость выкорчевывания и прокладывания заново телекоммуника-ционных и сетевых кабелей, не говоря уже об исправлении почтовых адресов. Стены могут быть гибкими, но персонал отдела почтовой доставки — уж точно нет.
С точки зрения использования офисного пространства для повышения производительности разработчиков, эти негибкие «гибкие» системы обычно расставляются так плохо, как только можно себе представить. Они не дают возможности работать одному и работать вместе. Они не позволяют уединиться или встречаться мимоходом.
Влияние планировки офиса на производительность разработчиков определяется не только объемом свободного пространства и возможностью уединиться. В первую очередь можно упомянуть парадокс причины и следствия — старое пугало всех социологических исследований. Работники, проявившие высокую производительность в военных играх по кодированию, имели более просторные помещения и испытывали меньше помех именно потому, что они работали с высокой производительностью, а не наоборот. Либо их производительность способствовала тому, что компания смогла предоставить им более спокойные условия и более просторные помещения.
Еще более важно то, что результаты исследований, приведенные ДеМарко и Листером, касались кодирования и тестирования и не относились к процессу разработки программного обеспечения в целом. По условиям проводимых ими ежегодных соревнований каждый участник работал самостоятельно, а не в составе команды. Поэтому, как представляется, свободное пространство и тишина помогают обособленным кодерам. А как насчет командной работы?
Совместная работа и общение
Для эффективного сотрудничества командам действительно необходимо пространство: пространство для команды в целом и служебное пространство, необходимое для выполнения заданий. Исследования подтверждают, что для хорошей совместной работы нужны как открытые, так и изолированные помещения. Офис должен предоставлять возможности для интенсивной работы группам из двух-трех человек в течение коротких или длительных периодов. Кроме того, в офисе должно быть по крайней мере одно место, где все сотрудники, работающие в проекте, могут собираться вместе. Если в офисе нет места, где вся команда может спокойно собраться, то превратить команду в сплоченный рабочий коллектив намного труднее.
Один руководитель в области разработки программного обеспечения горячо поддерживал метод командной работы, но был разочарован резуль-татами совместного труда своих подчиненных. Этаж, на котором они работали, представлял собой сумасшедший лабиринт из узких коридоров и крохотных офисов со стеклянными стенами — отдельных, но не уединенных помещений. Лишь в некоторых офисах могли поместиться два человека, а в тех помещениях, которые были достаточно большими, часто размещались сотрудники, привлеченные к разным проектам. Однажды я наблюдал, как одна команда проводила собрание в самом большом зале на этом этаже. Одиннадцать разработчиков втиснулись в комнату, в которой стояли стол и шесть стульев, находящихся друг от друга на расстоянии семи дюймов. Между краем стола и небольшой доской на стене едва хватало места для того, чтобы руководитель собрания мог сделать пару шагов и повернуться. Нечего и говорить, что собрание было коротким.
Для командной работы крайне необходимо место для общих собраний в течение всего периода работы. Требуется место, которое может служить штаб-квартирой, «ситуационной комнатой», где может собраться вся команда. Нужна защищенная территория, где члены команды могут укрыться от шума и сосредоточиться. Плох вариант, когда зал для собраний используется совместно с другими командами.
Отдельная «ситуационная комната» достаточных размеров особенно важна для команд, которые ведут «архивирование системных документов» (Zahniser 1990 [71], 1993 [72]) и применяют другие методы группового анализа и разработки. Настенные доски командной штаб-квартиры становятся архивом групповой работы, ее видимой, внешней «групповой памятью», в которой хранятся важные элементы рабочего продукта и информация о процессе его создания. На стены командной штаб-квартиры можно поместить все, что угодно, начиная от командного флага и изложения целей проекта и заканчивая основными документами, связанными с разработкой. Само помещение и его оформление становятся частью командной культуры и способствуют тому, что каждая личность ощущает себя частью целого. Это помогает членам команды успешно и эффективно работать вместе.
Если члены команды находятся в разных зданиях, офисах или рассеяны по всему миру, то сотрудничать — и даже просто общаться — становится труднее и дороже. При прочих равных условиях размещение участников проекта по разным местам, даже в разных зданиях или на разных этажах, может привести к увеличению расходов на 50-100 %. Поскольку команда, которая рассредоточена в пространстве, почти всегда будет менее эффективна, чем группа, работающая в одном месте, такой команде нужны компенсационные механизмы. На помощь приходит электронная почта и телеконференции, но ничто не может заменить возможность хотя бы раз собраться вместе и увидеть друг друга.
В давние времена, когда разработка программного обеспечения только зарождалась, в Массачусетском технологическом институте были проведены исследования инженерных групп и групп НИОКР.[5] Выяснилось, что производительность возрастает при улучшении взаимодействия, а взаимодействие, в свою очередь, улучшается, когда группа работает в хороших условиях. Самые лучшие варианты компоновки предусматривали открытое пространство в центре помещения, что способствовало или даже вынуждало инженеров сталкиваться друг с другом. Здания с фиксированными стенами и руководство с ограниченным мышлением являются сдерживающими факторами, однако творческие компромиссы все же возможны. Райза Химэн (Risa Hyman) рассказывает об одной группе, которая проявила находчивость в использовании традиционного ряда офисов, выстроенных вдоль коридора (Hyman, 1993 [42]). Коридор был увешан настенными досками и стал главным местом для проведения общих собраний!
Правильная планировка способствует улучшению взаимодействия. Однако станут ли стены барьерами или мостами к более эффективной командной работе, зависит от членов группы и ее руководства.
Из журнала Software Development, том 1, № 12, декабрь 1993 г.
- 5 Официальное пространство
- 6.3 Пространство имен устройств
- Временное пространство сортировки
- Адресное пространство процесса
- 3.1. Адресное пространство Linux
- 20.3. Rinda: пространство кортежей в Ruby
- Глава 14 Адресное пространство процесса
- Пространство пользователя и параметр HZ
- Отображение файла на адресное пространство процесса
- Официальное закрытие этапа Концептуального проектирования
- Включение и отключение "использовать все пространство"
- 7 Контент-платформа: пространство, где контент живет и работает