Являются ли пути общения в Мифическом Человеке Месяцем действительно n ^ 2? - PullRequest
0 голосов
/ 07 августа 2009

Не будет ли это ближе к:

n * (n - 1) / 2

Приведенная выше формула является ответом на эту проблему средней школы по математике:

«У вас в комнате n людей, и все они пожимают друг другу руки. Сколько рукопожатий было?»

Разве это не относится и к числу людей, общающихся в рамках программного проекта?

Отказ

Я еще не читал книгу (но), но видел формулу n^2, на которую ссылаются в других местах.

Ответы [ 6 ]

13 голосов
/ 07 августа 2009

Если бы вы прочитали книгу , вы бы не задали вопрос. Вот что на самом деле говорит:

Если в проекте есть n рабочих, то есть интерфейсы (n ^ 2-n) / 2 , через которые может происходить связь, и потенциально их почти 2 n команд, в рамках которых должна осуществляться координация.

Для тех, кто играет в домашнюю игру, это находится в Главе 7 под заголовком Организация в Проекте Большого Программирования .

Так что ответ в том, что вы правы, но об этом говорится и в книге.

11 голосов
/ 07 августа 2009

Мифический человеко-месяц относится к общей алгоритмической эффективности, измеряемой поведением около бесконечности.

n * (n-1) / 2 = O (n ^ 2)

10 голосов
/ 07 августа 2009

Вы правы. Однако, хотя я сам не читал эту книгу, похоже, они пытаются дать порядок роста, а не точное число. n * (n-1) / 2 - это функция, которая растет как O (n ^ 2). См. Биг-О нотация .

1 голос
/ 07 августа 2009

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

По моему личному опыту, есть некоторые люди (которых я только что решил назвать UberCommunicators), которые могут увеличить коэффициент на другой порядок просто из-за присущих затрат общения с ними. Они имеют тенденцию быть чрезвычайно многословными, неспособными сформулировать краткую точку зрения и, как правило, трудными для выполнения задачи. Получение полезного диалога требует многократных усилий в течение длительного периода времени.

0 голосов
/ 07 августа 2009

Я не помню точно, что написано в книге, поэтому вытащил мою копию с полки. Вы можете быть счастливы узнать, что в главе 2 - которая также является эссе, которое дало книге название - на самом деле Брукс говорит, что число путей связи равно n (n - 1) / 2, что соответствует тому, что вы сказали. Итак, как уже говорили другие, я подозреваю, что «кавычка» n ^ 2 - это просто упрощение по аналогии с обозначениями O (n).

0 голосов
/ 07 августа 2009

Я думаю, вы переоцениваете это. Мифический человеко-месяц - это не компьютерная книга, как «Как научиться программировать на Ruby за 21 день». Это бизнес-книга о том, как команды взаимодействуют. Таким образом, он относится к людям как к людям, а не как к машинам. Это означает, что приближения и эвристики - это порядок дня, а не алгоритмы и точность.

Пожалуйста (пожалуйста, пожалуйста, пожалуйста) не забудьте относиться к своим товарищам по команде как к людям, а не просто как к другому компьютеру. Это создаст более приятную рабочую среду и лучший проект.

...