人月の神話 第9章:リソース配分の決め方

カットされたパイ ソフトウェア開発

それぞれのコンポーネントやチームにリソースを割り振るときには、以下に気をつけること。

  • それぞれのリソースについてバラバラに割り当てを行うのではなく、関連するリソースはまとめて割り当てを考えること。例えば、メモリに入りきらないデータはディスクに置かれることが多いので、メモリサイズとディスクアクセスはセットにして割り当てること。
  • 割り当てを具体的に決める段階では、割り当てを受ける各モジュールが何をしなくてはならないかを正確に決めておくこと。機能の割り振りが曖昧だと、リソースが足りなくなったときに別のモジュールに対する機能の押し付け合いになってしまう。
  • それぞれのコンポーネントやチームが個別最適やセクショナリズムに陥っていないかに常に注意すること。システム全体を考える態度やユーザー志向の態度をチームメンバーに育ませることが最も重要な管理職の役割だと言っていいだろう。

メモリスペースと処理速度のトレードオフにうまく対処するために出来ることとして以下の2つがある。

  • 過去の経験や生まれ持った機転だけに頼らせるのではなく、開発チームにプログラミング技術についてきちんと教育・訓練を受けさせる。新たな言語やマシンの場合は特にそうである。特性やノウハウは、迅速に学ばれ、共有されなくてはならない。
  • プログラミングにはキュー、サーチ、ハッシュ、ソートなどの技術(テクノロジー)があると認識すること。そして、それらのライブラリ(コンポーネント)を用意することの必要性を認識すること。

メモリ不足で困ったときには、データやテーブルの表現を考え直すとうまく行くことがある。

他の章はこちらから:

「人月の神話」の要点
人月の神話の要点・ポイントをまとめています。原著に基づき、人月の神話の要点・ポイントを主に箇条書き形式でご紹介しています。
タイトルとURLをコピーしました