システムアーキテクト 2024年 午前2 問12
問題文
リーンソフトウェア開発の説明として、適切なものはどれか。
選択肢
ア:経験的プロセス制御の理論を基本としており、スプリントと呼ばれる周期で“検査と適応”を繰り返しながら開発を進める。
イ:製造業の現場から生まれた考え方をソフトウェア開発に適用したものであり、“ムダをなくす”、“品質を作り込む”といった七つの原則を重視して、具体的な開発プロセスやプラクティスを策定する。(正解)
ウ:比較的小規模な開発に適した、プログラミングに焦点を当てた開発アプローチであり、“コミュニケーション”などの五つの価値を定義し、それらを高めるように具体的な開発プロセスやプラクティスを策定する。
エ:利用者から見て価値があるまとまりを一つの機能単位とし、その単位ごとに、設計や構築などの五つのプロセスを繰り返しながら開発を進める。
🔒 解説は解答すると表示されます
リーンソフトウェア開発【午前2解説】
正解の理由
設問の正解は選択肢イであり、その理由は次の点にある。リーンソフトウェア開発は製造業(特にトヨタ生産方式)から発想を得ており、「ムダをなくす」「品質を作り込む」などの原則を重視する点が特徴です。また、トム・ポペンディークらがソフトウェア領域に適用して示した“七つの原則”を基盤にしており、具体的なプラクティスやプロセス(ScrumやXPのような単一のフレームワーク)を定義することよりも原則に基づく改善と全体最適を重視します。選択肢イの記述はこの本質を正しく表しています。
解法ステップ
- キーワード抽出:各選択肢の特徴語を確認する(例:「製造業起源」「七つの原則」「ムダ」「品質」)。
- 用語照合:抽出した語と代表的手法(Lean、Scrum、XP など)の特徴を照合する。
- 除外:経験的プロセス制御・スプリント→Scrum、五つの価値→XP、機能単位の反復→一般的な反復/インクリメンタル開発に当てはめ、該当しないものを除外する。
- 確認:製造業の起源と「七つの原則」に合致する選択肢を選ぶ(これがリーン、すなわち選択肢イ)。
選択肢別の誤答解説
- ア:経験的プロセス制御、スプリント、検査と適応、という記述はScrumの定義に一致します。Scrumはリーンの影響を受けている面はあるものの、「製造業発祥」「七つの原則」を中心に置くリーンそのものではありません。
- イ:製造業由来、ムダ削減、品質確保、七つの原則という点でリーンソフトウェア開発の説明として適切です。
- ウ:「比較的小規模」「プログラミングに焦点」「コミュニケーションなど五つの価値」はエクストリーム・プログラミング(XP)の特徴です。XPはリーンと重なる点もありますが、設問文のキーワード(製造業起源、七つの原則)と一致しません。
- エ:価値あるまとまりを単位にして設計・構築のプロセスを繰り返す、という記述は反復的・インクリメンタル開発の説明に近いです。リーン固有の「ムダをなくす」「七つの原則」を示していないため不適切です。
よくある誤解
- リーン=単なるコスト削減、ではない
- リーンは単にコストを下げる手法ではなく、「顧客価値の最大化」と「ムダの排除」を通じた全体最適化を目的とします。単純な人員削減や作業削減が目的ではありません。
- リーンとアジャイルは同義ではない
- どちらも価値提供と頻繁なフィードバックを重視しますが、リーンは製造業由来のムダ削減と七つの原則、アジャイルはソフトウェア開発での適応性やチーム価値(Scrum/XPなど)に重心が置かれます。相互に補完的です。
- 七つの原則の表現に注意する
- 原則の一つに「意思決定は可能な限り遅らせる(decide as late as possible)」があります。誤って「遅延を遅らせる」のような意味不明な表現を覚えないようにしてください(意味は「情報が十分揃うまで不可逆な決定を先送りし、より良い判断材料を得てから決める」ことです)。
補足コラム
リーンソフトウェア開発の「七つの原則」(Poppendieckの定義)と簡単な解説:
- ムダをなくす(Eliminate waste)
- 顧客価値に直接寄与しない活動を削減。例:不要な機能、手待ち時間、二重作業など。
- 品質を作り込む(Build quality in)
- 後付けの検査で品質を確保するのではなく、設計・開発工程で品質を組み込む(自動テスト、継続的インテグレーション、TDDなど)。
- 学習を増やす(Create knowledge)
- 反復とフィードバックで学習し、設計・方針を改善する(実験→検証のサイクル)。
- 意思決定は可能な限り遅らせる(Decide as late as possible)
- 情報が成熟するまで不可逆の決定を延期し、より良い選択肢を保持する。セットベース設計や最後の責任ある瞬間(last responsible moment)の考え方。
- 早く届ける(Deliver as fast as possible)
- 早く価値を届けることでフィードバックを得て、リスクと不確実性を減らす。
- 人を尊重する(Respect people)
- 現場の知恵を尊重し、権限移譲や継続的改善(カイゼン)を促進する。
- 全体最適化(Optimize the whole)
- 部分最適(個別チームや工程だけを効率化)に陥らず、組織全体の価値フローを最適化する。
例:自動テストや継続的デプロイは「品質を作り込む」と「早く届ける」を同時に満たす実践です。機能を増やす前に本当に顧客が価値を感じるか検証することは「ムダをなくす」「学習を増やす」に該当します。
FAQ
Q. リーンとスクラムはどちらを選べばよいですか?
A. 目的が組織全体のフロー改善やムダ排除ならリーン、チーム単位でのイテレーション管理や役割定義が必要ならScrumが有効です。混用するケース(リーン原則を守りつつScrumで運用)も多いです。
A. 目的が組織全体のフロー改善やムダ排除ならリーン、チーム単位でのイテレーション管理や役割定義が必要ならScrumが有効です。混用するケース(リーン原則を守りつつScrumで運用)も多いです。
Q. 「意思決定は可能な限り遅らせる」は具体的にどう実行するのですか?
A. 不可逆な決定は情報が揃うまで先送りする、設計案を複数残して検証する(セットベース)、重要な選択は「最後に責任を持って決める瞬間」に行う、などの方法があります。遅延そのものが目的ではなく、情報に基づいた良い判断を下すための戦略です。
A. 不可逆な決定は情報が揃うまで先送りする、設計案を複数残して検証する(セットベース)、重要な選択は「最後に責任を持って決める瞬間」に行う、などの方法があります。遅延そのものが目的ではなく、情報に基づいた良い判断を下すための戦略です。
Q. 七つの原則は全部覚える必要がありますか?
A. 試験対策では主要な趣旨(ムダ削減、品質重視、学習、遅延決定、早期納品、人を尊重、全体最適)を理解しておけば十分です。実務では原則ごとに対応するプラクティスを学ぶと実践しやすくなります。
A. 試験対策では主要な趣旨(ムダ削減、品質重視、学習、遅延決定、早期納品、人を尊重、全体最適)を理解しておけば十分です。実務では原則ごとに対応するプラクティスを学ぶと実践しやすくなります。
関連キーワード: リーン開発、ムダ削減、品質を作り込む、意思決定は可能な限り遅らせる、全体最適化

\ せっかくなら /
システムアーキテクトを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

