Как объяснить накладные расходы на общение между разработчиками в команде?

Помимо простого чтения Mythical man month, как бы вы объяснили менеджеру проекта, что, хотя два программиста сделают почти вдвое больше работы одного программиста, 10 программистов, вероятно, не будут делать в 10 раз больше работы.

Ответ 1

Все зависит от вашей аудитории.

Вы всегда можете попробовать использовать бизнес-предложение в качестве примера. Если вы разместите двух человек в комнате и попросите их написать бизнес-предложение, они могут легко разрешить конфликт и сделать все довольно легко. Если вы бросите десять человек в том же проекте, у вас будет десять очень разных идей, и вместо того, чтобы что-то делать в десять раз быстрее... вы получите то, что не мешает, и принимает порядок дольше, чтобы произвести.

Вот схема того, как это будет выглядеть:

enter image description here

Ответ 2

Попросите своего руководителя проекта представить себя в конференц-зале. Ее попросили разработать автомобиль с нуля, вплоть до последнего болта, через 10 недель. Если мы поместим 9 других людей в комнату, закончится ли дизайн через неделю? Наверное, нет.

Основная проблема заключается в том, что люди считают, что разработка программного обеспечения более сродни строительству автомобиля, чем его проектированию, что, очевидно, не так. Все автомобили имеют общие концепции (двигатель внутреннего сгорания, рулевое колесо, резьбовые винты), и мы повторно используем общие концепции в разработке программного обеспечения, но их конкретное расположение и конкретные цели достаточно разнообразны, чтобы потребовать творческого времени, которое ортогонально человеческому времени. Если бы программное обеспечение здания было похоже на строительные машины, мы бы работали против готового технического плана. Мы разрабатываем план.

Ответ 3

Если менеджер проекта нуждается в объяснении им, чем проблема с более крупными. Недостатком эффективности команды является связь, контроль и координация. Вы можете легко объяснить, что происходит от 1 до 2 человек - необходим контроль кода, координация рекламных акций, точки интеграции и общий подход к проекту/кодированию - переход от 4-5 немного сложнее - это масштаб изменения команды, который действительно вопросы (от 150 до 151 имеют мало влияния)... получить специфику, получить предысторию в вашей компании в отношении проектов с одним человеком для командных проектов - основывать ответ на конкретные показатели, если сможете.

Вот хорошая статья для справки:

Ответ 4

Объясните PM, что управление трафиком с 4-позиционной остановкой значительно упрощается и упрощается. Один человек останавливается. Следующий человек останавливается. Первый человек уходит. Но когда у вас 10 разработчиков в команде, это похоже на управление одним из этих раундов в DC или крупным перекрестком автострады, где у вас много автомобилей, идущих и идущих со всех сторон. Никто не знает, что происходит, поэтому все останавливаются, чтобы понять, что делает следующий парень.

Управление двумя разработчиками аналогично в том, что переговоры A с B и B ведут к A. Добавление C даже нормально, поскольку разговор достаточно мал, чтобы каждый мог идти в ногу.

Имейте в виду, что все, кто отслеживает задачи друг друга, трудно даже для PM... поэтому ожидать, что разработчики не пойдут в разговор о том, кто делает то, что не совсем неожиданно.

Ответ 5

Я не верю, что объяснение премьер-министра, как это сделать, является хорошей идеей, а не подходящей, а не точкой зрения члена команды в любом случае (скорее всего, это принесет больше вреда, чем пользы). Вероятно, это обязанность старшего начальника, чтобы отвлечь ПМ и приложить липкую идею combinations.

Другой способ - представить проблему PM и позволить им решить эту проблему, сделав однотипное замечание о том, что вы обеспокоены неэффективностью текущей модели связи, используемой для проекта.

Ответ 6

Хороший материал до сих пор. Кроме того, помните, что это не так сильно, как вырезано и сухо, так как многие читатели Мифического Месяца месяца (и те, кто его еще не читал) заставили бы вас поверить. Возможно, он уже рассмотрел эти эффекты.

i.e., Adding people to a late project will only make it later.

Важно понять, как добавить отдельного человека в проект и как он повлияет на его остальную часть. Однако, чтобы не сказать, что вы никогда не должны добавлять к ним людей.

Если они требуются для определенного набора навыков, отсутствующего в проекте, вам нужно.

Если вы можете ограничить связь, которую они должны иметь с остальной частью проекта, то вы значительно повлияли на затраты на связь.

Тем не менее, хороший руководитель проекта должен уже разбить свою команду на логические ячейки, чтобы свести к минимуму необходимый перекрестный разговор (и действовать как этот канал/фильтр).

Ответ 7

Вывести область проекта

В любой команде цель лидера - создать среду сплоченности, которая ставит цель команды над любой индивидуальной повесткой дня.

Итак, чтобы использовать знаменитую цитату

Команда должна быть быстрой, но не спешить.

Ответ необходимых ресурсов заключается в способности руководителя команды эффективно развернуть талант на самых оптимальных позициях.