概要
7つの原則
詳細
リーンソフトウェア開発の7つの原則について。
ムダをなくす
リーン生産方式の7つのムダと照らしあわせて考える。
リーン生産方式 | リーンソフトウェア開発 | 備考 |
---|---|---|
作り過ぎのムダ | 余分な機能のムダ | パレートの法則にあるように実際に使われる機能は20%程度 |
手待ちのムダ | 遅れのムダ | クリティカルパスに注意を払う。手詰まった時にすぐに対処できるように関係者が一箇所に集まっているorすぐに連絡がつくのが理想 |
運搬のムダ | 引き継ぎのムダ | 暗黙知の引き継ぎの難しさ。形式通りのドキュメント+1回の引き継ぎでは多くが失われてしまう |
加工そのもののムダ | 再学習のムダ | 知識、経験を保存可能にしたり、プロセスに組み込む |
在庫のムダ | 未完成のムダ | アジャイル、CIなどの導入により短い間隔でリリースし、未完成の作業が増えないようにする |
動作のムダ | タスク切り替えの無駄 | 複数タスクの兼任などをするとコンテキストスイッチで作業効率が落ちる |
不良をつくるムダ | 欠陥のムダ | テスト駆動開発、振る舞い駆動開発、CIなどを導入 |
品質を作り込む
テスト駆動開発、CIなどにより欠陥をすぐに排除し欠陥数を少なく保つことで
品質が高く維持されるとともに、欠陥への対応のためのコストも減らすことが出来る。
知識を作り出す
知識は実体験とフィードバックの繰り返しから生まれるもので、
最初に完璧な知識が有ることを前提とし、後戻りを許さないウォーターフォール型開発はリスクが高い。
・早期リリース
・デイリービルド
などから得たフィードバックを元に
・チーム、リーダーが経験・直感を蓄え、的確な判断を下す
・機能追加に強いアーキテクチャのシステムを構築する
管理のために工程を完全固定化するのは悪習で、常に改善を意識しながら工程をすすめる。
決定を遅らせる
リスクの高い部分に関する決定は可能な限り遅らせる。
また、そのような箇所は出来るだけ柔軟に対応出来るアーキテクチャにしておく。
速く提供する
素早く開発することで、顧客の気がわりの前にソフトウェアを提供出来る。
徹底した無駄の削減を行い、スピードを上げる。
継続してスピードを上げるには品質が重要になる。
従来のプロセスの失敗は長期的で硬直的なプロセス管理。
プロセスは現時点での最善や知識ではあるが、常に改善すべきものとしてとらえる。
またはそのように考えられる人材を育成する。
人を尊重する
・起業家的リーダー
成功するプロダクト→優秀なリーダー→優秀な人材が育成される
->人は成功するプロダクトに関わりたがる->のループ
・エキスパートエンジニアの尊重
外注しか利用していないなら、他社に対する優位はない。
エクスパートを育成シて初めて、競争優位を得ることが出来る。
・責任ベースのプランニングと制御
やるべきこととやり方を指示するのではなく、
自律的に考えて動くでことが出来る人材の集まる組織にする。
全体を最適化する
部分的な利益が全体的な利益に勝るような体制にしていると
部分最適化が発生して、全体としては損失を産む。