概要
TOC( Theory of Constraints )
ターゲット
システム開発従事者。
経緯
所属組織で、 TOC が必修になりました。
さっそく、一番取っつきやすい「ザ・ゴール(コミック版)」を読んだので、 [1]
その内容をもとに具体的事例を考えて理解を深めることにします。
「 例示は理解の試金石 」って偉い人が言ってました。 [2]
TOC とは?
TOCはTheory of Constraintsの略で、あるシステムの目的を 継続的に最大化することを狙います。
TOC の 5 Step
TOC では以下のステップで問題を解決していきます。
1. 制約の特定
2. 制約の活用
3. 他のすべてを制約プロセスの決定に従わせる
4. 制約の能力を高める
5. 1 に戻る
ある炎上プロジェクトを例にとってみる
ある炎上プロジェクトの結合テストフェーズを具体例としてみる。
書籍の説明に出てくる例がシンプルな工場の例だったため、今回の例の説明が適切かちょっと自信がないです。
1. 制約の特定
あるプログラマ Y さんが担当する一部のプログラムのバグが非常に多く、
そのバグ対応が収束せず結合フェーズのテストが進みません。
テストチームは Y さんのプログラムがネックで すすめられないテストケースが増えていきます 。
Y さんが作成した 高難度かつ低品質のプログラムが制約です。
2. 制約の活用
該当担当者は、 仕様誤認 や 実装ミス による バグが非常に多い 。
実装ミスが多いのは、 簡潔なプログラムを書くスキルが低い ためである。
仕様誤認が多いのは、 せっかちで・あわてもので・頑固という気質 の持ち主であるためである。
ただし、 該当業務の経験が多い こと・ プログラムを実装するのが早い こと、
というメリットがあるため 一見ものすごい勢いで進捗を生み出している ように見えます。
そのため 難易度の高いプログラムを複数担当 していました、
彼が書くプログラムは彼以外が読み解くことは難しく、彼自身もスパゲッティに絡まり続けていました。
まずは、コードフォーマッター・静的解析ツール・重点的なレビューにより
一定品質の保守性を確保できるよう、対策を講じました。
3. 他のすべてを制約プロセスの決定に従わせる
- Y さんの対応待ちで手が空いた開発者は Y さんのバグ修正の一部を引き取ります。
- ある担当者は、 Y さん対策のために ツールの検証・導入 を行います。
- ある担当者は、レビュー強化のために Y さんのレビューに注力 します。
- 空いたポジションは、他の待ち要員が埋めます。
- Y さんが持っていた雑多なタスクは他のメンバーが巻き取ります。
4. 制約の能力を高める
コードフォーマッター・静的解析ツール・重点的なレビューを行ったものの、 Y さんは
といった反応で、一定の効果はあったもののボトルネックは解消されませんでした。
結局のところ、 アサインミスが最大の制約 ( ボトルネック ) という結論に。
Y さんには低難度プログラムの担当のみを残し、難易度が高く繰り返しバグが発生しているプログラムについては、
一番優秀な開発者である H さんにアサイン変更し、リファクタリングしてもらいます。
結果、そのプログラムは本質的には高難度ではなく、 Y さんが高難度に実装しただけということも分かりました。
5. 1 に戻る
無事制約はあっさりと解消しました。 すると、次は Z さんのプログラムでテストが進まなくなりました。 また、 H さんがリファry
補足
ドラム・バッファ・ロープ
一本道の道路があります。9台の車と1台のバイクすべてが目的地に着くことが目的です。
車もバイクも追い抜きはできません。
この場合は、オンボロバイクが非常に遅かったとします。
目的達成の時間はバイクの速度に影響されます。
この際に、全体のリズムをあわせ、進行速度を一定にすることでボトルネックを解消するのが ドラム 。
前後の影響を受けないように間隔をあけるのが バッファ 。
必要以上に感覚が開かないようにするのが ロープ です。
改善前
改善後
長期効果
長期的に見れば、
- 採用・教育システム
- 社員の技術力判定とアサイン能力
が 制約( ボトルネック ) だろう。
考えられる対策
- 技術力があり、継続学習の習慣がある人材を採用する
- 採用担当者の人材を見分ける力を強化
- 採用ブランディング
- 好条件の提示
- Y さんは実装が早く業務知識もあるため、 保守性の高いプログラムの実装法を覚えれば化ける可能性が高い
- 技術面の教育
- 可読性・保守性に関わる技術をできる人材が正社員にはいない
- プロジェクト内部の協力会社にはスキルを持つ人材がいるが、外部の人間のため教育担当にはなれない
- 社内に教育者になれる人材を育成する
- H さんを最高の条件で必死に口説き落とす
- 社内に技術教育の仕組みを作る
- 可読性・保守性に関わる技術をできる人材が正社員にはいない
- モチベーション管理
- 継続学習を生むための工夫
- 成果と評価が結びつく評価制度
- 恒常的な激務の解消
- 学習時間の確保
- 体調良化
- リラックス
- モチベーションの向上
- 技術面の教育
- 社員の技術力把握と適切なアサイン
- アサイン担当のマネージャーが技術を把握している必要がある
書籍
- 作者: エリヤフ・ゴールドラット/ジェフ・コックス,岸良裕司,蒼田山,青木健生
- 出版社/メーカー: ダイヤモンド社
- 発売日: 2014/12/05
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る