Человеческий фактор в программировании
Шрифт:
В подобном синхронном взаимодействии нет ничего магического. Если посмотреть на этих людей внимательно, то можно заметить, что взаимодействие между ними главным образом невербальное. В существенной степени оно основано на молчаливом согласии и предварительном зна-нии. Так как каждый член команды видит, что делают другие, он может подстраивать свои действия под общее дело. Поэтому не все сразу бросаются к телефону, а носилки появляются в нужный момент.
При условии, что все члены эутопической команды хорошо понимают стоящую задачу, такая команда может достигать высокой эффективности в сложных или критических условиях (подобно ситуации в конфе-ренц-зале госпиталя) или при выполнении предсказуемых и ясных задач в течение более
Ключом к эффективности эутопических команд является полная приверженность всех членов команды довольно сложной, но четко определенной концепции того, что является задачей и методами группы. Если эта направленность является слабой или частичной или концепция является неадекватной, группа не сможет выполнять свою работу без консультаций или без конфликтов или же не сможет отвечать требованиям изменяющихся условий; в этом случае либо потребуется более жесткое управление, либо трудности команды станут возрастать.
Люди, изучающие менеджмент и организации, хорошо понимают первые три из наших основных моделей команд и лежащих в их основе механизмов. В то же время о проектных командах, основанных на направленности, известно меньше. Хотя полностью синхронные команды на практике встречаются нечасто, сочетание высокой синхронизации с традиционной иерархией является менее редким. Такое сочетание можно встретить в крепких компаниях, которые работают в давно существующих отраслях, имеющих давние традиции. Консультант Роб Томсет (Rob Thomsett) и я обнаружили ряд довольно синхронных групп по разработке программного обеспечения в австралийском банковском доме, функционирующем по британской модели. В Японии, где корпоративный мир свято чтит традиции преемственности и единообразия, даже высокотехнологичные фирмы могут широко применять синхронную направленность.
Эутопическая командная работа является полной противоположностью модели, основанной на сотрудничестве. Вместо обсуждений и перегово-ров нормой здесь является их отсутствие. Зачем нужны переговоры, если люди думают настолько одинаково, что почти с самого начала согласны друг с другом? Обратной стороной такой эутопической гармонии является то, что в обычной, повседневной работе все это безоблачное и спокойное сотрудничество может стать несколько скучным. Поскольку члены такой команды привыкли работать без особых дискуссий или вообще без обсуждений, они могут не общаться даже тогда, когда это им нужно. Если условия на рынке или базовая технология неожиданно или радикально изменяются, команда может оказаться неспособной среагировать или адаптироваться к этому так же хорошо, как группы, построенные на индивидуальной инициативе или на совместном взаимодействии. В худшем случае члены команды могут продолжить действовать привычным способом и не обращать внимание на изменяющийся вокруг них мир. Если что-то не соответствует их общим представлениям, они могут посчитать это не заслуживающим внимания или ответа.
Согласно общепринятым представлениям, современные руководители должны учиться выживать в бурлящей воде, плавать в компании с акулами и при этом добиваться успеха. Выжить, плавая в окружении акул, конечно, возможно, но большинство пловцов, наверное, предпочтет теплые, тихие воды. Естественно, команде по синхронному плаванию
Однако небольшая степень синхронности может быть полезной даже для команд, построенных на других базовых моделях. Более узкая направленность и более четкое взаимопонимание уменьшают потребность в жестком контроле и расширяют границы, в которых усилия одних членов команды могут подкрепить или поддержать усилия других, а не свести их на нет или помешать им.
Эффективные руководители эутопических команд являются харизматическими гуру, способными формировать и применять сложные концепции, а также вызывать к ним доверие других людей. Для длительных проектов особую важность имеет их способность изменять и расширять эти концепции для того, чтобы учесть новые требования и изменить направленность в соответствии с ними.
Естественно, вы понимаете, о чем идет речь. Мы хорошо понимаем друг друга, верно? Поэтому здесь нечего больше говорить (даже то, что эта эутопическая направленность просто отлична!).
Из журнала Software Development, том 1, № 17, июль 1993 г.
15
Командная политика
Этот проект по разработке программного обеспечения был чрезвычайно успешным. Команда разработчиков приобрела известность созданием потрясающей системы с усовершенствованными сервисами и отличным графическим интерфейсом. По каким-то причинам руководство отказалось от этого продукта.
Команда — не остров. Группы, которые хорошо работают вместе в комнате для обсуждений, могут не иметь успеха при выходе на уровень корпоративной политики. Неудача есть неудача. Знать интерфейс программирования приложений и библиотеку классов так же недостаточно, как недостаточно знать способы прихода к консенсусу или процессы параллельного проектирования. Если вы не знаете правила игры, вы проигрываете. Название этой игры — «внешняя среда».
Команды по разработке программного обеспечения должны сторожить свои границы, защищая свою территорию. Однако нужно и наводить мосты. Новый компилятор является частью набора инструментов. Система поддержки принятия решений должна согласовываться с системой бухгалтерского учета, но также она должна быть пригодной и полезной для руководителей. Репутация компании неуправляемых приверед может способствовать попаданию команды в список на сокращение. С другой стороны, репутация супергероев С++ может привести к необоснованным ожиданиям при создании очередной объектно-ориентированной чепухи, начатой зятем президента компании.
Мы рассматриваем командную деятельность по созданию программного обеспечения с точки зрения моделей, определяющих стиль внутренней ра-боты. В свою очередь, Дебора Анкона (Deborah Ancona) из школы управления Sloan при Массачусетском технологическом институте исследует функционирование команды в реальной корпоративной среде, а также то, как внешние стратегии и стили команд влияют на производительность (Ancona и Caldwell, 1992 [1]). Анкона изучала консалтинговые команды, команды разработки новых продуктов, а также команды по сбыту товаров и управленческие команды. Данные, полученные ею в течение многих лет, совпадают с моим опытом изучения команд по программированию.
Внешние стратегии команд — это сложная тема. Лидер команды или менеджер проекта может играть ключевую роль в урегулировании внешних отношений, однако эта тема сводится не только к тому, как ваш начальник ладит с ее начальником. Команды должны взаимодействовать и сотрудничать со множеством других подразделений организации. Эти взаимодействия происходят в нескольких измерениях: во властной структуре, в структуре задач и в информационной структуре.