より近いものではないでしょうか:
n * (n - 1) / 2
上記の式は、この中学校の数学チームの問題に対する答えです。
「部屋に n 人がいて、全員が他の人と握手しています。握手は何回行われましたか?」
これは、ソフトウェア プロジェクト内で通信する人の数にも当てはまりますか?
免責事項
私はその本を (まだ) 読んでいませんが、他のn^2
場所で参照されている公式を見たことがあります。
より近いものではないでしょうか:
n * (n - 1) / 2
上記の式は、この中学校の数学チームの問題に対する答えです。
「部屋に n 人がいて、全員が他の人と握手しています。握手は何回行われましたか?」
これは、ソフトウェア プロジェクト内で通信する人の数にも当てはまりますか?
免責事項
私はその本を (まだ) 読んでいませんが、他のn^2
場所で参照されている公式を見たことがあります。
本を読んでいれば、こんな質問はしなかったでしょう。これが実際に言っていることです:
プロジェクトにn人の作業者がいる場合、 (n^2-n)/2 個のインターフェイスで通信が行われる可能性があり、調整が必要なチームがほぼ 2^n 個存在する可能性があります。
ホーム ゲームをプレイしている場合は、第 7 章の「大規模なプログラミング プロジェクト」の組織という見出しの下にあります。
答えはあなたが正しいということですが、それは本にも書かれていることです。
神話上の人月は、無限に近い動作によって測定される、全体的なアルゴリズム効率を指します。
n*(n-1)/2 = O(n^2)
あなたは正しいです。しかし、私はこの本を自分で読んだことはありませんが、彼らは正確な数ではなく、成長の順序を与えようとしているようです. n * (n-1) / 2 は、O(n^2) として成長する関数です。Big-O 記法を参照してください。
違いは、握手は 1 回だけで、両方の人にカウントされることだと思います。チームメイトとのコミュニケーションはどちらの人からでも開始できるため、開始者ごとに 1 回ずつ、パスを 2 回カウントすることになります。
私の個人的な経験では、彼らとのコミュニケーションに固有のコストがかかるという理由だけで、ファクターをさらに桁違いに増加させることができる特定の人々 (UberCommunicators と呼ぶことにしました) がいます。彼らは非常に冗長で、簡潔な点を述べることができず、一般的に仕事を続けるのが難しい傾向があります. 有用なダイアログを取得するには、長期間にわたって繰り返し努力する必要があります。
あなたはこれを過度に分析していると思います。神話上の人月は、『21 日で Ruby をプログラミングする方法を学ぶ』のようなコンピューターの本ではありません。チームがどのように相互作用するかについてのビジネス書です。そのため、人を機械ではなく人として扱います。つまり、アルゴリズムや精度ではなく、概算とヒューリスティックが主流になっているということです。
チームメイトを単なるコンピューターではなく、人間として扱うことを忘れないでください。より快適な職場環境とより良いプロジェクトを実現します。
その本が何を言っているのか正確に覚えていなかったので、本を棚から引っ張り出した。第 2 章 (これは本にその名前を付けたエッセイでもあります) で、Brooks は実際に通信経路の数は n(n - 1)/2 であり、あなたの言ったことと一致していることを知って喜んでいるかもしれません。したがって、他の人が言ったように、n^2 の「引用符」は O(n) 表記法に沿った単純化にすぎないと思います。