リーンソフトウェア開発とバリューストリームマップ(lean software development / value stream map)
トヨタ生産方式の考え方をソフトウェア開発に持ち込んだ手法。ムダを見つける道具がバリューストリームマップ。
もう少し詳しい説明
2つは考え方と道具の関係です。
| 何か | |
|---|---|
| リーンソフトウェア開発 | ムダを削ぎ落とす、という考え方 |
| バリューストリームマップ | そのムダを見つけるための道具 |
考え方だけでは、どこにムダがあるのか分かりません。順に見ていきます。
リーンソフトウェア開発
リーンソフトウェア開発は、トヨタ生産方式(リーン生産方式)の考え方を、ソフトウェア開発に持ち込んだ手法です。
lean は「ぜい肉のない」という意味です。ムダを削ぎ落とす、という方向を表しています。
7つの原則
まとめられている原則は次のとおりです。
| 原則 | 中身 |
|---|---|
| ムダをなくす | 価値を生まないものを取り除く |
| 品質を作り込む | あとで検査するのではなく、作るときに入れる |
| 知識を作り出す | やってみて分かったことを残す |
| 決定を遅らせる | 決めるのに十分な情報が集まるまで待つ |
| 早く提供する | 小さく作って早く出す |
| 人を尊重する | 現場が自分で決められるようにする |
| 全体を最適化する | 部分ごとに速くしても、全体は速くならない |
4つめが、ほかの手法と違うところです。ふつう「早く決めろ」と言われます。リーンでは、決めたあとに分かることのほうが多いと考えて、取り返しのつく範囲でぎりぎりまで待ちます。
7つめも大事な点です。 設計だけを速くしても、テストで詰まれば全体は変わりません。いちばん詰まっているところを直さないと、全体は速くなりません。
ソフトウェアにおける7つのムダ
製造業のムダを、ソフトウェア開発に置き換えたものです。
| ムダ | 中身 |
|---|---|
| 作りかけの仕事 | 完成していない機能が積み上がっている |
| 余分な機能 | 使われない機能を作っている |
| 再学習 | 一度分かったことを、調べ直している |
| 引き継ぎ | 人から人へ渡すたび、情報が落ちる |
| タスクの切り替え | 複数を同時に抱えて、切り替えのたびに頭を戻す |
| 遅れ(待ち) | 承認待ち、環境待ち、レビュー待ち |
| 欠陥 | 直すために戻る |
「余分な機能」が最大のムダとされます。作ってしまえば、作る手間だけでなく、テストも保守も永遠に付いてきます。
バリューストリームマップ
バリューストリームマップ(VSM、価値の流れ図)は、依頼が入ってから成果が届くまでの流れを書き出し、どこで時間を食っているかを見つける図です。
何を書くのか
各段階について、2つの時間を並べて書きます。
| 何か | |
|---|---|
| 処理時間 | 実際に手を動かしている時間 |
| 待ち時間 | 次の段階に渡るまで止まっている時間 |
そして、全体に対する比率を出します。
効率 = 処理時間の合計 ÷ 全体の時間
待ち時間のほうが長い
ここがこの図の、いちばん大事なところです。
開発の流れを書き出してみると、実際に手を動かしている時間より、待っている時間のほうがずっと長いことがよくあります。
| 段階 | 処理時間 | 待ち時間 |
|---|---|---|
| 要件を決める | 2日 | 5日(会議の日程待ち) |
| 作る | 3日 | 0日 |
| レビュー | 0.5日 | 4日(レビュー待ち) |
| テスト環境へ反映 | 0.5日 | 3日(申請の承認待ち) |
| 合計 | 6日 | 12日 |
効率 = 6日 ÷ 18日 = 約33%
この例では、3分の2が待ち時間です。
どこを直すのか
手を動かす時間を半分にしても、全体は3日しか縮みません。 いっぽう、レビュー待ちの4日を1日にすれば、それだけで3日縮みます。
速くすべきは、作業そのものではなく、待ち時間。
これがバリューストリームマップで分かることです。「もっと速く作れ」と言う前に、止まっている場所を探します。
待ち時間は、ふだん見えません。 誰も作業していない時間なので、作業報告にも出てきません。書き出して並べて、はじめて目に入ります。
試験ではこう出る
科目A(旧・午前)では、バリューストリームマップの目的が問われます。「流れを書き出して、価値を生まない時間を見つける」が答えです。
リーンの考え方も出ます。ムダの排除、決定を遅らせること、全体最適が軸です。
アジャイル開発(短い期間で作っては見せる、を繰り返す進め方)との関係も出ます。リーンはアジャイルの土台にある考え方のひとつで、対立するものではありません。
応用情報では、流れのどこを改善すべきかを判断させる形が出ます。待ち時間がいちばん長い段階を選ぶのが答えです。
関連する用語
- アジャイル開発
- 短い期間を繰り返す開発。リーンはその土台にある考え方のひとつ
- 継続的インテグレーション
- 待ち時間を減らす具体的な手。リーンの考え方と合う
- BPR
- 業務の手順を作り直す。ムダを見つけて直すという点で地続き
- エンジニアリングシステム(CAD・CAM・FMS・PDM)
- もとは製造業の考え方。そちらの仕組みと背景を同じくする
ミニクイズ
バリューストリームマップを作成する目的として、最も適切なものはどれか。
正解は 4番:作業の流れを書き出し、価値を生まない待ち時間がどこにあるかを見つける
バリューストリームマップは、材料や依頼が入ってから成果が出るまでの流れを書き出し、各段階にかかる時間と、段階と段階のあいだの待ち時間を並べて示す図です。実際に手を動かしている時間より待ち時間のほうが長いことが多く、そこを見つけて縮めるために使います。作業を階層的に分解するのはWBS、所要期間を決める経路を求めるのはクリティカルパス、残作業量の推移を折れ線で表すのはバーンダウンチャートで、どれも目的が違います。
この分野をまとめて解く → システム開発とユーザーインタフェースのミニテスト(全40問)
最終更新:2026-10-20