リーン開発の本質
トヨタ生産方式(TPS)をソフトウェア開発に適用する
■原則
原則1:ムダをなくす
ムダとは価値を生まないあらゆるもの。
ならば、ムダを無くすには、まず顧客にとっての価値を理解しなければならない。
次にムダを見抜く能力を身につける。
原則2:品質を作り込む
テスト駆動開発や継続的インテグレーションで最初から欠陥が入り込まないようにする。
新たな機能を追加する前に、リファクタリングを行い、コードをシンプルに保つ。
原則3: 知識を作り出す
プロセスを継続的に改善する。
どのような異常であれ、元凶を見つけ出し、再発防止のためにプロセスを変更する。
原則4: 決定を遅らせる。
システムの初期機能を開発している時点で、重要な決定をしてしまい、
将来の変更を妨げてはならない。
難しい決断はなるべく遅らせ、選択可能な状態を保つ。
原則5: 速く提供する
ムダがなくなれば、スピードが上がる。
スピードと品質は共存する。
サイクルタイムを重視し、重要なところから改善する。
原則6: 人を尊重する
リーダーシップを発揮させる。専門知識を備えた人を育成する。
やるべきことややり方を指図するのではなく、人が頭を使い、
自らそれを見つけ出すことのできる、自律した組織を作る。
原則7: 全体を最適化する
注文を受けた時点から、ニーズ解決されるまでの、バリューストリーム全体を解決する。
部分最適に陥ってはならない。
バリューストリームの中で、ボトルネックとなっている箇所を見つけ出し、
本当に重要な一つだけを最適化する。
■7つのムダ
1. 未完成の作業のムダ
・コード化されていないドキュメント
・コミットされていないコード
・開発したがリリース待ちのコード
2. 余分な機能のムダ
・必要性に疑問があるものを作ってはならない
3. 再学習のムダ
・一度覚えたことは、次に必ず引き出せるようにする。
・同じ失敗を繰り返してはならない
4. 引き継ぎのムダ
・引き継ぎの回数を減らす
・暗黙知が共有されるよう、コミュニケーションを増やす
5. タスク切り替えのムダ
・マルチタスクではなくシングルタスク
・開発チームが保守も行う
6. 遅れのムダ
・全ての待ち時間を無くす
7. 欠陥のムダ
・できるだけ早期に欠陥を見つける
■待ち行列理論
バリューストリームマップの各プロセスで、平均サイクルタイムを測定する。
サイクルタイム = やるべきことの数/平均完成率
待ち行列を最小にするには、
・作業を特定のプロセスに集中させない。
・やるべきことを減らす
・やるべきことのリリースサイクルを小さくする
・イテレーションを一定にする
・許容能力を超えた仕事をしない
・プル型のスケジューリング
|
コメント