制約条件理論(TOC: theory of constraints)というのがあります。いきなり難しそうな言葉で身構えてしまうかも知れませんが、基本的な考え方は割とシンプルなのでご安心を。ちなみに関連の書籍やザ・ゴール ― 企業の究極の目的とは何かといった小説も出ていますので興味のある方は一読をお勧めします。私は最速で開発し最短で納めるプロジェクト・マネジメント―TOCの管理手法という本で初めて知りました。
TOCの基本的な考え方について、思い切り噛み砕いて説明すると、
1. 作業全体の流れの中で、ボトルネック
(TOCでは制約プロセスと呼ぶらしい)となる箇所を見つけて
2. ボトルネック箇所の性能を最大限に引き出すよう改善
3. ボトルネック箇所がこなせるタスク量にあわせて
全体のスループットを調整
4. ボトルネック箇所用のタスクがなくならないように注意
5. 上記のボトルネックが改善されたら
別のボトルネックを探す(1へループし改善を続ける)
となります(噛み砕きすぎて別物になっていたらすみません)。
ここで、強引にソフトウェア開発のプロジェクトに当てはめた例を挙げてみましょう。たとえば…
・複数のプロジェクトが平行して進んでいる中で
・フレームワーク周りを担当できるのは、Zさんだけ
・Zさんはちょっとした役職についているので雑用も多い
・各プロジェクトはそれぞれ勝手にスケジューリングしてしまい
・フレームワーク周りのテスト時期がよく重なる(※)
・フレームワーク周りのテストが遅れると直接
全体スケジュールに波及する
(※…開発はさすがにずらすと思いますが…)
という状況だとどうなるでしょう?
「各プロジェクトのフレームワークのテスト時期になると Zさんしか対応できないバグが続出。雑用の多いZさんは徹夜続きで効率があがらず、それ以降の工程が大幅にずれ込む」という現象が発生しそうです。
ここでTOCの観点から対処を考えてみましょう。
1.
各プロジェクトのスケジュールからクリティカルパス(ここが遅れたらダイレクトにスケジュール全体が遅れる、という一連のタスクの流れ)を引いていく。すると各プロジェクトともフレームワーク周りのテストがクリティカルパスに含まれそう。ここでバグが続出した場合、Zさんの処理能力を超えてしまうと思われるため、Zさんがボトルネックになりそうだと判断する。
2.
Zさんの処理効率を最大限に高めるためには?まず複数のプロジェクトで、Zさん対応が必要になるフェーズ(フレームワーク周りのテスト)が重ならないように調整し、バグが続出してもZさんの負荷が異常に高くならないようにする。他のメンバーでサポートできる雑用はZさんから切り離しZさんの負荷を軽減。もちろん中長期的にはフレームワーク周りを担当できるメンバーを育てZさん以外でも対応できるようにする。
3.
依然としてZさんの負荷が高いようなので、ある程度未解決のバグが残っている場合、フレームワークテストメンバーは、平行して進められる作業に専念するか、それも無ければ、さくっと仕事を切り上げてしまいましょう。Zさんが一杯一杯だとバグを見つけても対応してもらえませんし…
4.
付加価値の高い仕事をするZさんがタスク待ちになってしまうと、全体的に大きな損失になるので、未解決のバグが少なくなってきた場合は…フレームワークテストメンバーは頑張ってテストを進めましょう。
5.
適度な余裕をもって元気に仕事ができるようになったZさん。一方、各プロジェクトの基本設計レビューを一手に引き受けているXさんの顔色が悪い。徹夜続きだそうで、タスクが山積みであるにも関わらず、昼過ぎは居眠りをしがちという噂も…作業もはかどっておらず基本設計書のFIX時期が延び延びになっているようだ。今度はXさんの負荷を軽減しなければ。
まぁ、例示したプロジェクトの状況ができすぎている感がありますが、雰囲気だけでもつかんで頂けたら嬉しいです。また、プロジェクトマネジメントとは関係ないと思っている新人プログラマの方も、自発的にボトルネックになっているメンバーを見つけて、可能であればフォローしたり、上司に相談したりすると素晴らしいと思います。経験上、そういうメンバーは重宝がられるような気がしますねぇ。
TOCには今回紹介した基本的な考え方「制約を見つけて最大限のパフォーマンスを発揮できるよう改善する」以外にも、非常に効果的な考え方が補足的に存在します。こちらのほうが初心者向きな気がしますので、次回紹介したいと思います。
なお、私はTOCの論文を読んでおりませんので、内容について勘違い等ありましたら、お手数ですがご指摘頂けるととても有難いです。
※このエントリはZDNetブロガーにより投稿されたものです。朝日インタラクティブ および ZDNet編集部の見解・意向を示すものではありません。
勝ち残るIT活用--中堅中小企業の現場からタレントの江口ともみさんをレポーターに、
全国さまざまな業種の企業担当者に聞く!
サイバー攻撃関連ニュースのまとめ特別企画:高度化するサイバー攻撃からビジネスを守る
~対策レポートや企業の製品動向をまとめ読み~
仮想化の暗黒大陸を切り拓く
高次元のサーバー性能とHAクラスタリング
「創世期」から「成長期」へ突入
国内ベンダーはどう「進化し続ける」のか?
【セミナー】IBM、Red Hat、サイオス
リーディングカンパニー3社が語る最新動向
「使いたい時、使いたいだけ」を実現
今年検討すべき理想のストレージを考える
従来の防御が使えない!?複合的手法による
脅威から企業システムを守るために
管理者は、OS、仮想環境の混在に悩む
クラウド環境に必要な3つの運用サイクル
オープンソースの強みを発揮するJBoss
企業システムへの接続を安全、簡単にする
Juniper Networks MAGシリーズ
コラボレーションを変えるクラウドサービス
ANAや商船三井など5社の事例で読み解く
多様なボイスコミュニケーションを実現する
クラウド型プラットフォームとは?
2012年春モデルの情報をいち早く掲載
HPのお得な情報や最新情報が満載
よくある「5つの勘違い」の真実とは?
IT担当者必見の、目覚めの書を公開
入社後の満足と不満足の分かれ目とは?!
納得いく転職をする為の転職活動での留意点
株式会社エイジア
株式会社サテライトオフィス
EMCジャパン株式会社
ZDNet Japanは、情報システム部門の読者を対象に、ITを活用したビジネス課題の解決策を提供します。技術や製品の解説、ケーススタディ、ホワイトペーパーなどを通じて、情報システム部門の正しい意志決定を支援します。
ITビジネス全般については、CNET Japanをご覧ください。