Сколько программистов нужно, чтобы вкрутить лампочку

Фредерик Брукс, в своей классической книге «Мифический человеко-месяц, или как создаются программные системы», анализирует, как влияет количество участников проекта на общую эффективность работ и сроки выполнения проекта. Собственно, он наглядно показывает, что логика, подходящая для решения школьных задач про землекопов, в реальности не работает.
Принцип Брукса гласит, что с увеличением количества участников проекта средняя продуктивность работы каждого участника падает. Связано это с тем, что нужно все больше времени и усилий для коммуникаций и координации:
- Приходится выделять для координации отдельных «непроизводительных» участников ― руководителей группы, менеджеров проектов, руководителей направлений и пр.
- Приходится тратить время на более сложные методы документирования работ.
- Приходится больше времени тратить на координационные совещания.
- Приходится больше времени тратить на всевозможные обсуждения при выполнении взаимозависимых задач или частей одной и той же задачи.
Выражаясь математически, с появлением каждого n+1 -ого участника проекта в проектной команде появляется дополнительные n линий коммуникаций, которые будут съедать время.
Брукс своим трудом сделал фундаментальный вклад в развитие методологии управления проектами (и не только IT-проектами ― в консалтинговых проектах ситуация такая же). До этого момента в умах управленцев царил Тейлоризм, и ставка делалась на увеличение общей эффективности за счет узкой специализации исполнителей (по понятным причинам в проектной работе это не действует так здорово, как на сборочном конвейере).
Но Брукс рассматривал почти идеальную ситуацию с рядом допущений. В реальности «ввод в игру» каждого следующего участника вызывает еще ряд эффектов, существование которых стоит учитывать:

1. Увеличивается «среднее время простоя».
Часть задач или этапов работ в любом проекте взаимозависимы, и всегда возникают ситуации, когда нужно дожидаться коллегу, выполняющего свою часть, чтобы взяться за свою. Есть и еще и схожий психологический эффект: довольно часто люди искренне используют аргумент «я не могу начать, пока он не закончит», упуская из виду, что есть и другие, независимые задачи, которые можно выполнять прямо сейчас.
Так или иначе, при увеличении количества участников непропорционально увеличивается и число ситуаций, когда кто-то кого-то ждет. А пока он ждет, он решил поиграть… а раз уж начала играть, то нужно пройти до конца ― не бросать же на половине…
2. Падает индивидуальная вовлеченность, ответственность и общий уровень «сознательности».
Это выражается в изречениях типа «пусть кто-нибудь другой», «мне что, больше всех надо», «я свою часть уже выполнил», «я тут итак больше всех вкалываю».
Во-первых, объективно, от каждого человека начинает зависеть меньше, что люди и ощущают. Во-вторых, человек так уж устроен, что всегда переоценивает свой вклад и недооценивает вклад других.
Дэвид Майерс в «Социальной психологии» описывает замечательный эксперимент на эут тему. Сначала 10 испытуемых тянут канат «в индивидуальном зачете», прилагаемое ими усилие замеряется. Потом эти 10 испытуемых тянут один канат все вместе. Среднее прилагаемое ими усилие оказывается меньше на 10–15%, хотя они утверждают, что стараются точно также.
3. Увеличивает время принятия решений.
Исходная информация распределена среди большего количества людей, есть больше идей и мнений, а достигнуть консенсуса становится все сложнее.
Предположим, троим людям чтобы выбрать цвет обоев нужно 18 минут: по 3 минуты ― каждому на аргументацию, по 2 минуты каждому― на прения, контраргументы (по одной минуте на мнение каждого оппонента), минута на размышления, 2 минуты на озвучивание итоговой позиции и подтверждение согласия. Впятером выбор обоев при том же регламенте займет уже 38 минут (не считая того, что кто-то обязательно опаздает минут на 10).
4. Участник с уникальной специализацией увеличивает общую эффективность, но со временем его позитивное влияние ослабевает.
Например, если в нашей проектной суперкоманде нет специалиста по продвижению нашего стартапа, то работы в этом направлении будут делать по наитию, неумело, со множеством ошибок, и будут занимать массу времени. Как только этот специалист появится и возьмется за дело, произойдет качественный скачок на этом фронте.
Но уже через пару месяцев его влияние на общую эффективность будет не столь ощутимо: во-первых, он уже закрыл все критичные области и подрасслабился, во-вторых, отладил некоторые технологии, приведя их к понятным последовательностям действий, в-третьих, в процессе совместно работы с ним другие члены команды стали овладевать его экспертными компетенциями. Все ― волшебная сила специализации уже не так заметна…
***
В общем, размер имеет значение )



комментарии (53)