はじめに
今回も、応用情報技術者試験の過去問を解いていきます。
今回は「リーンソフトウェア開発」に関する問題です。
ソフトウェア開発では、「どこで時間がかかっているのか」「どこに無駄があるのか」を見えるようにすることが非常に重要です。
特にアジャイル開発やリーン開発では、プロセス全体を可視化し、改善し続ける考え方が重視されます。
今回は、その中でも重要な バリューストリームマップ(Value Stream Map) について理解を深めていきましょう。
問題
リーンソフトウェア開発において、ソフトウェア開発のプロセスとプロセスの所要時間とを可視化し、ボトルネックや無駄がないかどうかを確認するのに用いるものはどれか。
| 選択肢 | 内容 |
|---|---|
| ア | ストーリーカード |
| イ | スプリントバックログ |
| ウ | バーンダウンチャート |
| エ | バリューストリームマップ |
解答
エ バリューストリームマップ
解説
この問題で注目したいキーワードは、
「プロセス」「所要時間」「ボトルネック」「無駄」
の4つです。
これらを可視化して、開発プロセス全体を改善するために利用されるのがバリューストリームマップです。
バリューストリームマップでは、製品やサービスが顧客に価値を届けるまでの一連の流れを可視化します。
その中で、
- 実際に作業している時間
- 工程間の待ち時間
- 情報の流れ
- ボトルネック
- 価値を生み出している活動
- 価値につながらない活動
などを確認します。
つまり、
「開発のどこで時間を使っているのかを、全体の流れとして見る」
ための道具です。
バリューストリームマップのイメージ
例えば、次のようなソフトウェア開発があったとします。
要件整理
作業:2時間
↓
待ち:2日
↓
設計
作業:4時間
↓
待ち:1日
↓
実装
作業:2日
↓
待ち:5日 ← 改善候補
↓
テスト
作業:1日
↓
リリース
ここで注目したいのは、作業時間だけではありません。
例えば実装そのものは2日で終わっているのに、テスト開始まで5日間待っているとします。
すると、
「実装をもっと速くしよう!」
と頑張るより、
「なぜテスト開始まで5日も待っているのか?」
を改善した方が、開発全体を短縮できる可能性があります。
バリューストリームマップでは、このように工程全体を見ることで、局所的な改善では気付きにくい無駄を発見できます。
他の選択肢も確認しよう
ア:ストーリーカード
ストーリーカードは、ユーザーストーリーなどをカード形式で表現・管理するものです。
例えば、
利用者として、
商品名から商品を検索したい。
なぜなら、欲しい商品を素早く見つけたいから。
といった形で、利用者が求めていることを表現できます。
今回問われている「開発プロセス全体と所要時間の可視化」とは目的が異なるため、不正解です。
イ:スプリントバックログ
スプリントバックログは、スクラムにおいてそのスプリントで何を実現し、どのように進めるかを示す計画です。
具体的には、
- スプリントゴール
- スプリントで選択されたプロダクトバックログ項目
- それらを実現するための計画
から構成されます。
単なる「作業一覧」ではない点に注意しましょう。
開発プロセス全体の無駄やボトルネックを分析するものではないため、不正解です。
ウ:バーンダウンチャート
バーンダウンチャートは、時間の経過とともに残作業量がどのように変化しているかを可視化するグラフです。
「予定どおり作業が減っているか」といった進捗状況を確認するのに役立ちます。
ただし、開発工程全体の流れや工程間の待ち時間を分析するものではありません。
したがって不正解です。
エ:バリューストリームマップ
バリューストリームマップは、
プロセス全体の流れと時間を可視化して、無駄やボトルネックなどの改善点を発見するための手法
です。
したがって、今回の正解はエです。
4つの違いを整理
試験対策では、「それぞれ何を可視化・管理するのか」で整理すると覚えやすくなります。
| 用語 | 主に可視化・管理するもの | 主な目的 |
| ストーリーカード | ユーザーの要求 | 要求・価値を表現する |
| スプリントバックログ | スプリントの目標・作業計画 | スプリントを実行する |
| バーンダウンチャート | 残作業量の推移 | 進捗を確認する |
| バリューストリームマップ | プロセス・時間・流れ | 無駄やボトルネックを発見する |
特に、
バーンダウンチャート=残作業量
バリューストリームマップ=プロセス+時間
という違いは押さえておきましょう。
問題の用語解説
リーンソフトウェア開発とは
「リーン(Lean)」には、「無駄がなく引き締まった」といった意味があります。
リーンの考え方は製造業・リーン生産の分野で発展し、ソフトウェア開発にも応用されました。
ソフトウェア開発では、
顧客にとっての価値を重視し、無駄を減らしながら開発プロセス全体を改善していく
という考え方につながります。
単純に「作業を速くする」という話ではありません。
例えば、
プログラミング:2日
待ち時間:10日
だった場合、
プログラミングを2日から1日に短縮するよりも、10日間の待ち時間を減らした方が全体への効果は大きくなるかもしれません。
部分ではなく、価値が生まれる流れ全体を見る。
これがリーンを理解する上で重要なポイントです。
バリューストリームとは
Value Streamを直訳すると、
Value=価値
Stream=流れ
です。
つまり、**「価値が顧客に届くまでの一連の流れ」**と考えると分かりやすいでしょう。
例えばソフトウェア開発なら、
アイデア
↓
要件
↓
設計
↓
実装
↓
テスト
↓
リリース
↓
ユーザー
という流れがあります。
この流れ全体を見ながら、
「ここ、本当に必要?」
「なぜここで3日も止まっている?」
「この承認、もっと簡単にできない?」
と改善点を探していくわけです。
体系的位置づけ
IPAの応用情報技術者試験シラバスでは、今回のテーマは大きく次の位置に整理できます。
テクノロジ系
↓
大分類:開発技術
↓
中分類:ソフトウェア開発管理技術
↓
開発プロセス・手法
この周辺では、
- アジャイル
- スクラム
- XP(エクストリームプログラミング)
- リーンソフトウェア開発
- DevOps
- 継続的インテグレーション(CI)
などの用語も登場します。
個別に暗記するよりも、「ソフトウェアをどのようなプロセス・手法で開発し、改善していくか」という大きな枠組みで整理すると理解しやすくなります。
今回の問題の重要ポイント
今回の問題で最も重要なのは、
「何を可視化する道具なのか」
を区別することです。
試験問題で、
「残作業量」「時間の経過」「進捗」
と出てきたら、
→ バーンダウンチャート
を疑います。
一方で、
「プロセス」「所要時間」「待ち時間」「無駄」「ボトルネック」
と出てきたら、
→ バリューストリームマップ
が有力です。
このキーワードの違いを覚えておくだけでも、かなり判断しやすくなります。
覚え方のコツ
バリューストリームマップは英語を分解すると覚えやすいです。
Value = 価値
Stream = 流れ
Map = 地図
つまり、
「価値の流れを描いた地図」
です。
地図を広げて、
「ここで渋滞しているな」
「ここでずいぶん待っているな」
と確認するイメージです。
ソフトウェア開発の「渋滞ポイント」を探す地図、と考えると覚えやすいでしょう。
まとめ
今回の問題の正解は、
エ:バリューストリームマップ
です。
バリューストリームマップは、価値を生み出す一連のプロセスや時間を可視化し、無駄やボトルネックなどの改善点を発見するための手法です。
試験対策としては、次の違いを押さえておきましょう。
| キーワード | 答え |
| ユーザーの要求 | ストーリーカード |
| スプリントの計画 | スプリントバックログ |
| 残作業量・進捗 | バーンダウンチャート |
| プロセス・時間・無駄・ボトルネック | バリューストリームマップ |
特に重要なのは、
「バーンダウンチャートは残作業量を見る」
「バリューストリームマップは開発の流れを見る」
という違いです。
「Value Stream=価値の流れ」と覚えておけば、試験でも思い出しやすいでしょう。

コメント