開発方法論
下の動画はこの節の解説ではありません。 解説動画の雰囲気を知っていただくための見本として、「AI・機械学習」の動画を再生します。
この節の解説動画はプレミアム限定です。プレミアムなら全科目・全節が見放題!
プレミアムで見る従来のソフトウェア開発は、大規模なシステム開発が前提とされてきました。ところが、ハードウェアの発達やWebの普及により、短期間・中〜小規模・低コスト・多様といった特性をもつ分野へ移行しています。案件が小ぶりで足が速くなれば、重たい手続きはそのぶん足かせになります。書類を厚くするより動くものを早く出したい——そう考える、身軽ですばやい進め方が唱えられるようになりました。それがアジャイル開発です。この節では、その考え方と、代表的な手法であるXPとスクラムを詳しく学びます。令和3年度から7年度まで、ほぼ毎年出題されている最重要分野です。
簡単にいうと
アジャイルは「俊敏な」という意味。特定の手法じゃなくて、考え方の総称だよ!そして4つの価値は「AよりBを重視する」という形で書かれているのが特徴。Aを否定しているわけじゃない、という点が大事だよ。
① 登場の背景
従来のソフトウェア開発では、大規模なシステム開発が前提とされてきましたが、ハードウェアの発達やWebの普及等により、短期間、中〜小規模、低コスト、多様などの特性をもつ分野に移行しています。
この変化により、開発プロジェクトもより小さく軽量化し、それまでの重量級の開発プロセスにおける非効率な側面が注目され、軽量であり俊敏な開発プロセスが提唱されるようになりました。
② 従来とアジャイルの対比
| 従来のソフトウェア開発 | アジャイル開発 | |
|---|---|---|
| 手法 | ウォータフォール、プロトタイプ、スパイラル | XP、スクラム、その他の技法 |
| 前提 | 大規模 | 中〜小規模 |
| 期間 | 長期 | 短期間 |
具体例
4つの価値を、実際の場面で考える
価値①:プロセスやツールより人同士の相互作用
| 場面 | 従来 | アジャイル |
|---|---|---|
| 仕様の確認 | 文書で質問し、文書で回答 | 直接話して確認 |
| 進捗の共有 | 報告書を提出 | 毎日15分の立ち会議 |
なぜ人同士の相互作用なのか
| 文書でのやり取り | 直接の会話 |
|---|---|

アジャイル開発プロセスと4つの価値(1/2)

アジャイル開発プロセスと4つの価値(2/2)
試験のポイント
簡単にいうと
アジャイルの手法は6つ! 名前と特徴をセットで覚えよう。XPが先駆け、スクラムが密接な連携、FDDが機能価値(フィーチャ)単位。LSDは製造業のリーン生産方式が元になっているのが面白いところだよ。
① 6つの手法
アジャイル開発プロセスに分類される、代表的な開発手法は次のとおりです。
② XP(エクストリームプログラミング)
アジャイル開発プロセスの先駆けとなった手法であり、Kent Beck氏らによって考案・提唱されています。
XPでは、開発の初期段階に行われる設計工程よりもコーディングとテストを重視しています。
また、各工程を順序立てて積み上げていくよりも、常にフィードバックを行って修正や再設計していくことを重視しています。
| 項目 | 内容 |
|---|
簡単にいうと
XPは19個もプラクティスがあるけど、全部覚える必要はないよ!ペアプログラミング、テスト駆動開発、リファクタリング、共同所有権——この4つが繰り返し出題されている本命だよ。
① XPの5つの価値
エクストリームプログラミングは、単純さ、コミュニケーション、フィードバック、勇気、尊重の5つの価値を重視したソフトウェア開発手法です。
| 5つの価値 |
|---|
| 単純さ |
| コミュニケーション |
| フィードバック |
| 勇気 |
簡単にいうと
スクラムの役割は3つ! プロダクトオーナー、スクラムマスター、開発者。「優先順位を決めるのはプロダクトオーナー」「障害物を取り除くのはスクラムマスター」——この2つの対比が、そのまま出題されるよ。
① スクラムとは
アジャイル開発のひとつであるスクラムは、ソフトウェア開発において柔軟かつ効率的なチームワークを促進するためのフレームワークです。
スクラムの考案者である、Ken SchwaberとJeff Sutherlandによって書かれた「スクラム公式ガイド:ゲームのルール」の日本語訳には、スクラムの価値基準、構成員の役割、スプリント期間中に行うイベントが定義されています。
| 項目 | 内容 |
|---|---|
| 考案者 | Ken Schwaber と Jeff Sutherland |
| 定義されているもの |
簡単にいうと
スクラムには4つのイベントがあるよ!毎日やるのがデイリースクラム、終わりにやるのがスプリントレビューとレトロスペクティブ。「誰に見せるか」で見分けるのがコツだよ。
① スプリントとは
スクラムのスプリント(一般的に1〜4週間の期間)では、以下のイベントが定期的に行われます。
これらのイベントは、開発の進行を確認し柔軟に対応できる体制を整えるために実施されます。
| 用語 | 意味 |
|---|---|
| スプリント | 一般的に1〜4週間の開発期間 |
sprint は「短距離走」という意味です。短い期間を全力で走り抜けるという性格を表しています。
動画・テキスト・過去問・AI添削まですべて網羅!
予備校代の1/10以下で、独学の不安をまるごと解決できます
| 高い |
| 低コスト |
| プロセス | 重量級 | 軽量 |
③ アジャイル開発プロセスとは
アジャイル開発プロセスとは、特定の開発手法を指す言葉ではなく、アジャイル(迅速/俊敏)にソフトウェアを開発することを可能にするさまざまな手法の総称です。
「特定の開発手法を指す言葉ではない」——ここが重要です。
| 誤解 | 実際 |
|---|---|
| 「アジャイル」という1つの手法がある | さまざまな手法の総称 |
agile は「俊敏な、機敏な」という意味の英語です。
④ 4つの価値
アジャイル開発プロセスでは4つの価値を重視します。
| 4つの価値 |
|---|
| プロセスやツールより人同士の相互作用を重視する |
| 包括的なドキュメントより動作するソフトウェアを重視する |
| 契約上の交渉よりも顧客との協調を重視する |
| 計画に従うことよりも変化に対応することを重視する |
⑤ 「AよりBを重視する」という形
4つとも、「AよりBを重視する」という形で書かれています。
| より軽視される側(A) | より重視される側(B) |
|---|---|
| プロセスやツール | 人同士の相互作用 |
| 包括的なドキュメント | 動作するソフトウェア |
| 契約上の交渉 | 顧客との協調 |
| 計画に従うこと | 変化に対応すること |
Aを否定しているわけではない
「ドキュメントは不要」「計画は立てない」という意味ではありません。どちらも価値があるが、より重視するのはBという主張です。
この点は、試験で「アジャイル開発ではドキュメントを作成しない」といった極端な記述が出たときの判断材料になります。
⑥ ウォータフォールとの対比で読む
| 価値 | ウォータフォールでは |
|---|---|
| プロセスやツールより人同士の相互作用 | プロセスとドキュメントで管理 |
| 包括的なドキュメントより動作するソフトウェア | 各工程でドキュメントを作り承認 |
| 契約上の交渉より顧客との協調 | 契約と仕様書に基づく |
| 計画に従うことよりも変化に対応 | 計画どおりに進める(後戻りしない) |
ウォータフォールが重視してきたものを、あえて相対化している——これが4つの価値の性格です。
⑦ なぜこの転換が起きたのか
| 環境の変化 | 求められるもの |
|---|---|
| Webサービスの普及 | 素早く出して、使われ方を見て改善する |
| 競争の激化 | 早く市場に出す |
| 要件が事前に固まらない | 作りながら決める |
| 小規模なプロジェクトが増えた | 重い管理は割に合わない |
「計画どおりに作る」より「変化に合わせて作る」ほうが価値を生む場面が増えた——これが背景です。
⑧ 向く場面と向かない場面
| 条件 | アジャイルが向くか |
|---|---|
| 要件が変わりやすい | 向く |
| 早く出して改善したい | 向く |
| 顧客が密に関われる | 向く |
| 規模が小さい | 向く |
| 要件が固定されている | 向かない |
| 大規模で多数の関係者 | 向かない |
| 契約で仕様を確定する必要がある | 向かない |
最後の点が実務上の課題
外部に発注する場合、「何をいくらで作るか」を契約で決める必要があります。アジャイル開発では仕様が変わりうるため、この契約が難しくなります。
| 契約の形 | 内容 |
|---|---|
| 請負契約 | 成果物を決めて発注(アジャイルに向かない) |
| 準委任契約 | 作業に対して発注(アジャイルに向く) |
経営法務で学ぶ契約の種類が、ここで関わってきます。第10章で学ぶ見積りの問題とも直結する論点です。
| その場で解決 |
| 誤解が残りうる | その場で確認できる |
| 記録は残る | 記録は残りにくい |
価値②:包括的なドキュメントより動作するソフトウェア
| 場面 | 従来 | アジャイル |
|---|---|---|
| 進捗の証明 | 設計書が何%できた | 動く機能が何個できた |
「設計書が100%できた」は、動くものが何もないことを意味します。利用者にとっての価値はゼロです。
価値③:契約上の交渉より顧客との協調
| 場面 | 従来 | アジャイル |
|---|---|---|
| 仕様変更の要望 | 「契約にないので追加費用」 | 「優先順位を見直しましょう」 |
協調の意味
| 対立的 | 協調的 |
|---|---|
| 「言った/言わない」 | 一緒に最善を探す |
| 仕様書が争いの道具に | 共通の目標に向かう |
価値④:計画に従うことよりも変化に対応すること
| 場面 | 従来 | アジャイル |
|---|---|---|
| 途中で市場が変わった | 計画どおり進める | 優先順位を組み替える |
「計画を立てない」ではない
アジャイル開発でも計画は立てます。ただし、計画は変わるものだという前提に立ちます。
中小企業でアジャイル的に進める
大がかりなアジャイル開発の導入は難しくても、考え方は取り入れられます。
| 従来のやり方 | アジャイル的なやり方 |
|---|---|
| 全部できてから見せてもらう | 1か月ごとに動くものを見せてもらう |
| 仕様書で確認 | 実際に触って確認 |
| 変更は追加費用 | 優先順位を見直して総量を保つ |
「優先順位を見直す」という発想
| 要望 | 対応 |
|---|---|
| 新しい機能を追加したい | どれかを後回しにする |
| 総量は変えない | 予算と期間は守られる |
「あれもこれも」ではなく「何を諦めるか」を決める——これが現実的な進め方です。
アジャイルへの誤解
| 誤解 | 実際 |
|---|---|
| ドキュメントを作らない | 必要なものは作る。包括的である必要はない |
| 計画を立てない | 立てるが、変わることを前提にする |
| 何でも変更できる | 総量には限りがある |
| 管理しない | 毎日の確認など、むしろ細かく見る |
「アジャイルだから何でもあり」ではない——この点を関係者で共有しておかないと、混乱のもとになります。
確認してみましょう
> 次の記述の正誤を判定せよ。
> a アジャイル開発プロセスとは、特定の開発手法を指す言葉ではなく、さまざまな手法の総称である。
> b アジャイル開発プロセスでは、包括的なドキュメントより動作するソフトウェアを重視する。
> c アジャイル開発プロセスでは、変化に対応することよりも計画に従うことを重視する。
解答 a:○ b:○ c:×
| 位置づけ | アジャイル開発プロセスの先駆け |
| 考案者 | Kent Beck氏ら |
| 重視するもの | 設計工程よりコーディングとテスト |
| 常にフィードバックを行って修正や再設計 |
③ スクラム
開発チームの密接な連携を前提にする開発手法であり、顧客の要求変化や技術の変化など、予測が難しいプロジェクトの運営に適しています。
スクラムは、設計工程とプログラミング工程を往復しながらソフトウェア開発を行うラウンドトリップ・エンジニアリングの手法を取り入れています。
ラウンドトリップ・エンジニアリングでは、仕様を簡単に動作するコードに変換しながら修正を繰り返していくことで、開発工程全体を短縮することができます。
| 項目 | 内容 |
|---|---|
| 前提 | 開発チームの密接な連携 |
| 適する場面 | 顧客の要求変化や技術の変化など、予測が難しいプロジェクト |
| 取り入れた手法 | ラウンドトリップ・エンジニアリング |
④ ラウンドトリップ・エンジニアリング
round trip は「往復旅行」という意味です。設計とプログラミングを行ったり来たりするという性格を表しています。
| 従来 | ラウンドトリップ |
|---|---|
| 設計 → プログラミング(一方通行) | 設計 ⇄ プログラミング(往復) |
⑤ クリスタル
定まったソフトウェア開発プロセスをもたない組織が、アジャイル開発プロセスを試験的に導入する際に用いられる手法です。
プロジェクトの規模や重要度などに応じた複数の方法論の集合体で構成されており、他の手法を取り入れたり、プロジェクトに合わせてチューニングを行ったりすることを考慮している点が特徴です。
| 項目 | 内容 |
|---|---|
| 用途 | アジャイルを試験的に導入する際 |
| 構成 | 複数の方法論の集合体 |
| 特徴 | プロジェクトに合わせてチューニングできる |
⑥ FDD(Feature Driven Development:フィーチャ駆動開発)
比較的大規模なプロジェクトにも適用可能な手法であり、開発プロセスが非常にコンパクトで明確に定義されています。
ユーザにとっての機能価値(=フィーチャ)を基本単位として開発を進める点が特徴です。
| 項目 | 内容 |
|---|---|
| 規模 | 比較的大規模にも適用可能 |
| 開発プロセス | 非常にコンパクトで明確に定義 |
| 基本単位 | ユーザにとっての機能価値(=フィーチャ) |
feature は「機能、特徴」という意味です。技術の単位ではなく、ユーザにとっての価値の単位で分ける、という考え方です。
⑦ ASD(Adaptive Software Development:適応型ソフトウェア開発)
大規模で複雑であり、速さや激しい変化への対応を求められるプロジェクトに適した手法です。
プロジェクトの当初に綿密な計画を立て、「思索」「協調」「学習」という3段階を短い期間で繰り返すことで開発を進めます。
| 項目 | 内容 |
|---|---|
| 適する場面 | 大規模で複雑、速さや激しい変化への対応 |
| 進め方 | 当初に綿密な計画を立てる |
| 3段階 | 思索・協調・学習 |
adaptive は「適応型の」——変化に適応する、という性格が名前になっています。
⑧ LSD(Lean Software Development:リーンソフトウェア開発)
ソフトウェア開発プロセスから無駄を取り除くことを目的とした手法であり、製造業を中心に展開されているリーン生産方式の考え方(リーン思考)を、ソフトウェア開発に応用したものです。
7つの原則が示されています。
| 7つの原則 |
|---|
| ムダをなくす |
| 品質を作り込む |
| 知識を作り出す |
| 決定を遅らせる |
| 速く提供する |
| 人を尊重する |
| 全体を最適化する |
⑨ 運営管理とのつながり
LSDは、製造業のリーン生産方式(トヨタ生産方式を体系化したもの)の考え方をソフトウェア開発に応用したものです。
| リーン生産方式 | LSD |
|---|---|
| ムダの排除 | ムダをなくす |
| 品質は工程で作り込む | 品質を作り込む |
| 人を尊重する | 人を尊重する |
| 全体最適 | 全体を最適化する |
運営管理で学ぶ生産管理の考え方が、そのままソフトウェア開発に持ち込まれている——科目をまたいだつながりが見える例です。
⑩ 「決定を遅らせる」という原則
7つの原則のなかで、直感に反するのがこれです。
| 従来の考え方 | リーン思考 |
|---|---|
| 早く決めるほどよい | 決定は遅らせるほどよい |
なぜ遅らせるのか
| 理由 | 内容 |
|---|---|
| 情報が増えてから決めたほうが精度が高い | 早すぎる決定は誤りやすい |
| 決定を変える費用を避けられる | 決めてしまうと変更に費用がかかる |
「最終責任時点まで決定を遅らせる」——必要になるぎりぎりまで、選択肢を残しておく、という考え方です。
⑪ 6つの手法を一覧で
| 手法 | 一言でいうと |
|---|---|
| XP | アジャイルの先駆け。Kent Beck氏ら。コーディングとテストを重視 |
| スクラム | 密接な連携。予測が難しいプロジェクトに適する |
| クリスタル | 試験的に導入する際。方法論の集合体 |
| FDD | 比較的大規模にも適用可。フィーチャ(機能価値)が基本単位 |
| ASD | 大規模で複雑。思索・協調・学習の3段階 |
| LSD | リーン生産方式の応用。7つの原則 |
具体例
設例 アジャイル開発の手法
> 次の記述の正誤を判定せよ。(令和4年度第13問 改題)
> イ XPは、開発の基幹手法としてペアプログラミングを用いる方法論であり、ウォーターフォール型開発を改善したものである。
> エ スクラムは、動いているシステムを壊さずに、ソフトウェアを高速に、着実に、自動的に機能を増幅させ、本番環境にリリース可能な状態にする方法論である。
> オ フィーチャ駆動開発は、開発工程を上流工程から下流工程へと順次移行し、後戻りはシステムの完成後にのみ許される方法論である。
解答 イ:× エ:× オ:×
3つの誤りの構造
| 選択肢 | 誤りの内容 |
|---|---|
| イ | ウォーターフォールの改善としている(対照的なもの) |
| エ | 別の概念の説明(継続的デリバリーに近い内容) |
| オ | ウォーターフォールの特徴を当てている |
イとオに共通するのは「ウォーターフォールの特徴を混ぜている」
| キーワード | どちらのもの |
|---|---|
| 上流工程から下流工程へ順次移行 | ウォータフォール |
| 後戻りしない | ウォータフォール |
| ウォーターフォールを改善したもの | 誤り(思想が対照的) |
アジャイルはウォータフォールの改善ではない
| 関係 | |
|---|---|
| 誤解 | ウォータフォールを改良してアジャイルになった |
| 実際 | 思想やプロセスが対照的な、別の考え方 |
「改善」という言葉が出てきたら疑う——この読み方が有効です。
6つの手法から選ぶ
中小企業がアジャイル開発を試したい場面を考えます。
| 状況 | 向く手法 |
|---|---|
| 初めてアジャイルを試す | クリスタル(試験的導入のため) |
| チームで密に連携できる | スクラム |
| 品質と技術的な実践を重視 | XP |
| ユーザ価値の単位で進めたい | FDD |
| ムダの排除を重視 | LSD |
実務ではスクラムが主流
現在、アジャイル開発といえばスクラムを指すことが多くなっています。理由は、
| 理由 | 内容 |
|---|---|
| 役割・イベント・成果物が明確に定義されている | 始めやすい |
| 公式ガイドがある | 共通の理解を持てる |
| 技術的な実践を強制しない | どんな技術でも使える |
XPとスクラムの組み合わせ
| 手法 | 定めているもの |
|---|---|
| スクラム | 進め方の枠組み(役割、イベント、成果物) |
| XP | 技術的な実践(ペアプログラミング、テスト駆動開発など) |
両者は競合せず、組み合わせて使えます。スクラムで進め方を決め、XPのプラクティスで品質を担保する——という形が実務では多く見られます。
LSDと運営管理のつながり
診断士として興味深いのは、製造業の知見がソフトウェア開発に応用されているという点です。
| リーン生産方式の概念 | ソフトウェア開発での対応 |
|---|---|
| 在庫のムダ | 作りかけの機能 |
| 手待ちのムダ | 承認待ちの時間 |
| 作りすぎのムダ | 使われない機能 |
| 不良のムダ | バグ |
「作りすぎのムダ」が興味深い
使われない機能を作ることは、在庫を作りすぎるのと同じムダ——この見方は、システム開発の費用対効果を考えるうえで有用です。
このあと学ぶXPのプラクティス「YAGNI(You Aren't Going to Need It)」——先の事を考えて前払い的に機能を増やさない——も、同じ発想です。
確認してみましょう
> 次の記述の正誤を判定せよ。
> a XPは、アジャイル開発プロセスの先駆けとなった手法であり、Kent Beck氏らによって考案・提唱されている。
> b FDDは、ユーザにとっての機能価値(=フィーチャ)を基本単位として開発を進める。
> c LSDは、製造業を中心に展開されているリーン生産方式の考え方をソフトウェア開発に応用したものである。
解答 a:○ b:○ c:○
いずれも正しい記述です。考案者の名前、基本単位、由来——特徴的な語をそれぞれ押さえておきましょう。

代表的な開発手法(1/2)

代表的な開発手法(2/2)
試験のポイント
② 5つの基本原則
XPでは5つの価値を5つの基本原則として具体化しています。
| 基本原則 |
|---|
| 素早いフィードバック |
| 単純さの採用 |
| インクリメンタル(小さな開発を何回も繰り返すことで開発を進めていくこと)な変更 |
| 変化を取り込む |
| 質の高い作業 |
③ 適用可能性
XPでの適用可能なプロジェクトは、次の特性を有しているのが望ましいとされます。
| 特性 |
|---|
| プロジェクト規模が比較的小さい(初期段階で10人以下) |
| 顧客の要求が最初にあまり明確でなく、プロジェクト期間中に変更される可能性が高い |
| 明確な顧客が存在し、プロジェクトに積極的に関与することができる |
④ 3つの条件の意味
| 条件 | なぜ必要か |
|---|---|
| 10人以下 | 密なコミュニケーションが取れる規模 |
| 要求が変更される可能性が高い | 変化への対応が価値を生む場面 |
| 顧客が積極的に関与できる | フィードバックが得られる |
3つ目がとくに重要
顧客が関与しなければ、フィードバックが得られません。「作って持っていくだけ」の関係では、XPは機能しません。
⑤ 19のプラクティス
XPでは、19のプラクティスを定義しています。
初期は12のプラクティスであったが、数度の改定を経て数が19に増え、対象者の立場ごとに4種類に分類されるようになりました。
| 分類 | 対象者 |
|---|---|
| A. 共通のプラクティス | 全員 |
| B. 開発のプラクティス | 開発者 |
| C. 管理者のプラクティス | 管理者 |
| D. 顧客のプラクティス | 顧客 |
⑥ A. 共通のプラクティス
| プラクティス | 内容 | |
|---|---|---|
| 1 | 反復 | 開発期間をイテレーションとよばれる1〜2週間の短い期間に区切り、イテレーションごとに部分的な設計・実装・テストを行って半完成品システムのリリースを繰り返す |
| 2 | 共通の用語(旧:メタファ) | チーム全員(開発者・管理者・顧客)が使用する用語とその概念を一致させるため、用語集を作成する |
| 3 | オープンな空間(旧:顧客も一緒) | 会話しやすく、作業に打ち込める雰囲気を作る。顧客も含めて1か所に集まって作業を行う |
| 4 | 回顧 | 現在の状態を明確に把握しつつ、過去のフィードバックを迅速に反映させるよう心がけ、そのための環境や体制を構築しておく |
⑦ B. 開発のプラクティス
| プラクティス | 内容 | |
|---|---|---|
| 5 | テスト駆動開発(旧:まずテスト) | 実装を行うより先に、自動化または手順が明確化されたホワイトボックステストを準備する。ホワイトボックステストを先に準備することで、求める機能が明確化され、シンプルな設計が可能になる |
| 6 | ペアプログラミング(旧:いつも2人で) | 2人のプログラマがペアとなり、相談やレビューを行いながら、協力してプログラムの開発を行う |
| 7 | リファクタリング | 完成済みのコードも、随時、改善処置を行う。その際、ソフトウェアの機能を変えずに、内部構造をわかりやすいものに変更する |
| 8 | 共同所有権(旧:みんなで所有) | 実装コードの所有者は決めない。すべてのコードに対して全員が責任を担い、誰が作ったソースコードであっても、開発チーム全員が断り無く修正を行えるようにする |
| 9 | 継続的インテグレーション(旧:常に統合) | あるコードが単体テストをクリアしたら、すぐに結合テストを行い、問題点や改善点を探す。少なくとも1日に1回は、結合テストを行う |
| 10 | YAGNI(You Aren't Going to Need It.)(旧:単純さ優先) | 先の事を考えて、前払い的に機能を増やし、実装を複雑化させる事は避ける。無駄な機能があれば削除し、今必要な機能を単純に実装する |
⑧ C. 管理者のプラクティス
| プラクティス | 内容 | |
|---|---|---|
| 11 | 責任の受け入れ | 開発者自身に開発を行うことをコミットメントさせる。具体的には、顧客が作成したストーリーをもとに開発者がタスクを分割し、その担当を自らサインアップさせる |
| 12 | 援護 | 開発者を1リソースとしてみるのではなく、同じ人として尊重し、開発者が余計なことに煩わされないように支援する |
| 13 | 四半期ごとの見直し | 四半期(3カ月)単位で作業を計画する。四半期ごとに、チーム・プロジェクト・プロジェクトの進捗・大きな目標との調整について考える |
| 14 | ミラー | その都度、チームの状態をチームに知らせておく |
| 15 | 最適なペースの仕事(旧:持続可能なペース) | 知的作業には週40時間の労働時間が最適である。そのため、計画的に開発スピードの調整を行う |
⑨ D. 顧客のプラクティス
| プラクティス | 内容 | |
|---|---|---|
| 16 | ストーリーの作成(旧:計画ゲーム) | 求める機能のコンセプトを短い文章で記したストーリーカードを作成する。そのカードをもとに、開発者・管理者を含めたチームとのミーティングを行い、詳細を決定する |
| 17 | リリース計画 | どのストーリーをどの開発イテレーションの対象とするか、チームミーティングで主体となって提案し、合意のうえで最終的な承認を行う |
| 18 | 受け入れテスト | 開発イテレーションごとに顧客の立場からテストを行い、ストーリーが実現できているか、望むシステムになっているか確認する |
| 19 | 小規模リリース(旧:短いリリース) | 動くソフトウェアを、2〜3週間から2〜3カ月というできるだけ短い時間間隔でリリースする |
⑩ 試験で狙われる4つ
19すべてを暗記する必要はありません。繰り返し出題されているのは次の4つです。
| プラクティス | 押さえどころ |
|---|---|
| ペアプログラミング | 2人のプログラマがペアとなり、相談やレビューを行いながら協力して開発 |
| テスト駆動開発 | 実装より先にテストを準備する |
| リファクタリング | 機能を変えずに内部構造を分かりやすく変更する |
| 共同所有権 | 所有者を決めず、全員が断り無く修正できる |
⑪ 4つの誤りやすい点
| プラクティス | よくある誤り |
|---|---|
| ペアプログラミング | 「交代しながら」ではなく「相談やレビューを行いながら協力して」 |
| リファクタリング | 「内部構造には変更を加えず外部の振る舞いを変更」は逆。機能(外部)を変えずに内部構造を変える |
| 共同所有権 | 「作成者だけが行う」は誤り。全員が責任を担う |
| 最適なペースの仕事 | 「全員で相談して自由に決める」ではなく「週40時間が最適」 |
具体例
設例1 XPのプラクティス
> XPのプラクティスに関する次の記述の正誤を判定せよ。(令和3年度第18問 改題)
> ア 1週間の作業時間は、チームのメンバー全員で相談して自由に決める。
> イ 2人のプログラマがペアになって、同じPCを使用して交代しながらプログラミングを行う。
> ウ ソースコードの修正や再利用は、責任を明確にするために、作成者だけが行うようにする。
> エ プログラムを書く前にテストケースを作成しておき、動作を確認した上でプログラムを洗練させていく。
> オ リファクタリングの際には、開発効率を高めるために内部構造には変更を加えず、外部から見た振る舞いを変更する。
解答 ア:× イ:× ウ:× エ:○ オ:×
それぞれの誤りを正す
| 選択肢 | 誤っている点 | 正しくは |
|---|---|---|
| ア | 「全員で相談して自由に決める」 | 週40時間が最適 |
| イ | 「交代しながら」 | 相談やレビューを行いながら協力して |
| ウ | 「作成者だけが行う」 | 全員が責任を担い、断り無く修正できる |
| オ | 「内部構造には変更を加えず、外部から見た振る舞いを変更」 | 機能を変えずに内部構造を変更(逆) |
オの誤りがとくに巧妙
リファクタリングの定義は「機能を変えずに内部構造をわかりやすいものに変更する」です。選択肢はこれを完全に逆にしています。
| リファクタリング | 選択肢の記述 | |
|---|---|---|
| 外部から見た振る舞い | 変えない | 変更する |
| 内部構造 | 変更する | 変えない |
リファクタリングの目的は「見た目は同じまま、中身を整える」——この理解があれば、逆になっていることに気づけます。
設例2 ペアプログラミング
> XPにおけるペアプログラミングでは、2人のプログラマがペアとなり、相談やレビューを行いながら、協力してプログラムの開発を行う。(令和7年度第13問)
解答 ○
ペアプログラミングの狙い
| よくある疑問 | 答え |
|---|---|
| 2人で1つの仕事をして効率が落ちないか | 誤りが減り、結果として速くなることが多い |
| 効果 | 内容 |
|---|---|
| その場でレビューされる | 誤りが早く見つかる |
| 知識が共有される | 属人化を防げる |
| 集中が保たれる | 一人より気が散りにくい |
| 設計の質が上がる | 2人で考えるため |
共同所有権との組み合わせ
| プラクティス | 効果 |
|---|---|
| ペアプログラミング | 2人が内容を知っている |
| 共同所有権 | 誰でも修正できる |
この2つが組み合わさると、属人化が大きく減ります。
| 従来 | XP |
|---|---|
| その人しか分からない | 複数人が分かる |
| その人が休むと止まる | 誰でも進められる |
中小企業にとっての示唆
第11章で学ぶIT組織・人材育成では、属人化が大きな課題として扱われます。
| 属人化の問題 | XPのプラクティスによる解決 |
|---|---|
| 1人しか分からない | ペアプログラミング、共同所有権 |
| 休めない、辞められない | 同上 |
| 品質がその人に依存 | ペアでレビュー |
「効率が落ちるように見えて、組織としては強くなる」——これがペアプログラミングの本質的な価値です。
リファクタリングの実務的な意味
| 状況 | 内容 |
|---|---|
| 動いているが、中身が分かりにくい | 直すのに時間がかかる |
| 放置すると悪化する | 改修のたびに複雑になる |
| リファクタリングする | 機能は変えずに整理する |
「動いているのに直すのか」という疑問
| 直さない場合 | 直す場合 |
|---|---|
| 次の改修に時間がかかる | 次が楽になる |
| 誤りが混入しやすい | 品質が保たれる |
| やがて誰も触れなくなる | 長く使える |
レガシーシステムの問題は、リファクタリングを怠り続けた結果ともいえます。継続的に手入れをすることで、システムの寿命が延びる——この視点は、経営者に伝える価値があります。
確認してみましょう
> 次の記述の正誤を判定せよ。
> a テスト駆動開発では、実装を行うより先にホワイトボックステストを準備する。
> b 共同所有権では、実装コードの所有者を明確にし、作成者のみが修正を行う。
> c XPでの適用可能なプロジェクトは、規模が比較的小さい(初期段階で10人以下)ことが望ましい。
解答 a:○ b:× c:○

XPの5つの価値と19のプラクティス(1/2)

XPの5つの価値と19のプラクティス(2/2)
試験のポイント
| 価値基準、構成員の役割、スプリント期間中のイベント |
② スクラムの5つの価値基準
スクラムには次の5つの価値基準があります。
| 価値基準 | 内容 |
|---|---|
| 確約 | スクラムチームは、ゴールを達成し、お互いにサポートすることを確約する |
| 集中 | スクラムチームは、ゴールに向けて可能な限り進捗できるように、スプリントの作業に集中する |
| 公開 | スクラムチームとステークホルダーは、作業や課題を公開する |
| 尊敬 | スクラムチームのメンバーは、お互いに能力のある独立した個人として尊敬し、一緒に働く人たちからも同じように尊敬される |
| 勇気 | スクラムチームのメンバーは、正しいことをする勇気や困難な問題に取り組む勇気を持つ |
(出所:スクラム公式ガイド:ゲームルール2020年11月)
③ 5つの頭文字
| 日本語 | 英語 |
|---|---|
| 確約 | Commitment |
| 集中 | Focus |
| 公開 | Openness |
| 尊敬 | Respect |
| 勇気 | Courage |
④ 構成員の役割
スクラムには3つの役割があります。
⑤ プロダクトオーナー
| 役割 |
|---|
| どこへ向かう製品なのかを決める |
| 作るべき機能や要件を並べた一覧(プロダクトバックログ)について、どれを先にやるかの順番を決める |
| チームが生み出す価値をいちばん大きくする——そこに責任を負う |
| 顧客や関係者との窓口に立ち、望まれているものから外れないようチームを導く |
⑥ スクラムマスター
| 役割 |
|---|
| チームがスクラムのフレームワークに従って開発を進められるようにする指導・トレーニング・コーチの役割を担う |
| チームの行く手をふさいでいるものを、どけてくるのが仕事 |
| 仕事がはかどるよう手を貸し、チームが自分で回せる場を整える |
| プロダクトオーナーにもメンバーにも、スクラムのやり方から外れないよう助言する |
⑦ 開発者
| 役割 |
|---|
| 誰が何をどうやるかを自分たちで決められるチーム。プロダクトオーナーが示した要件をもとに手を動かす |
| そのスプリントの計画(スプリントバックログ)を自分たちで立て、ゴールに向けて日々こまめに直していく |
| 一般的に、チームは7人前後のメンバーで構成され、スプリントの終了までに動作するプロダクトを作り上げる |
⑧ 3つの役割を対比する
| 役割 | 責任 | 一言でいうと |
|---|---|---|
| プロダクトオーナー | プロダクトの価値を最大化させる | 何を作るかを決める |
| スクラムマスター | 開発における障害物を取り除く | チームが働きやすくする |
| 開発者 | 動作するプロダクトを作り上げる | 実際に作る |
⑨ 試験で狙われる対比
| 事項 | 担当する役割 |
|---|---|
| プロダクトバックログの優先順位を決定する | プロダクトオーナー |
| プロダクトの価値を最大化させる責任 | プロダクトオーナー |
| 開発における障害物を取り除く責任 | スクラムマスター |
| スプリントバックログを作成する | 開発者 |
令和6年度の本試験では、この4つがそっくり入れ替えて出題されました。
⑩ 判別のキーワード
| 選択肢の語 | 対応する役割 |
|---|---|
| 優先順位を決定する | プロダクトオーナー |
| 価値を最大化させる | プロダクトオーナー |
| ビジョンや方向性を定める | プロダクトオーナー |
| 障害物を取り除く | スクラムマスター |
| 指導・トレーニング・コーチ | スクラムマスター |
| 自己管理、開発作業を行う | 開発者 |
⑪ なぜ役割を分けるのか
| もし1人が兼ねたら | 起きること |
|---|---|
| プロダクトオーナーとスクラムマスターを兼任 | 「優先順位を決める人」と「チームを守る人」が同一。チームに無理を強いても止める人がいない |
| スクラムマスターと開発者を兼任 | 障害物の除去に集中できない |
役割を分けることで、互いに牽制が働きます。
⑫ チームの規模
一般的に、チームは7人前後のメンバーで構成されます。
第3テーマで見たXPの適用条件(初期段階で10人以下)と近い規模です。
なぜ小規模なのか
| 理由 | 内容 |
|---|---|
| 密なコミュニケーションが取れる | 全員が全員と話せる |
| 毎日の短い会議が成立する | 人数が多いと時間が足りない |
| 自己管理が機能する | 大人数では統制が必要になる |
アジャイル開発が中〜小規模に向くとされる理由が、ここにあります。
具体例
設例 スクラムの特徴
> スクラムの特徴に関する次の記述の正誤を判定せよ。(令和6年度第14問 改題)
> ア 開発者は、製品開発に必要な機能、タスク、要件などをリストアップしたプロダクトバックログの優先順位を決定する。
> イ スクラムマスターは、スクラムチームから生み出されるプロダクトの価値を最大化させる責任がある。
> ウ スプリントレビューは、主要なステークホルダーに作業の結果を提示し、プロダクトゴールに対する進捗を話し合うイベントである。
> エ プロダクトオーナーには、開発チームの開発における障害物を取り除く責任がある。
> オ レトロスペクティブは、開発チームの全員が、昨日行ったこと、今日行うこと、障害になっていることを話し合い、全員で開発状況を共有するイベントである。
解答 ア:× イ:× ウ:○ エ:× オ:×
4つの誤りが、役割とイベントの入れ替え
| 選択肢 | 書かれている内容 | 本来の担当 |
|---|---|---|
| ア | 優先順位を決定する | プロダクトオーナー |
| イ | 価値を最大化させる責任 | プロダクトオーナー |
| エ | 障害物を取り除く責任 | スクラムマスター |
| オ | 昨日・今日・障害を話し合う | デイリースクラム |
アとイはどちらもプロダクトオーナー
プロダクトオーナーの2大責任を押さえておけば、両方判定できます。
| プロダクトオーナーの責任 |
|---|
| プロダクトバックログの優先順位を決定する |
| プロダクトの価値を最大化させる |
「価値」という語がプロダクトオーナーの目印
| 語 | 役割 |
|---|---|
| 価値、優先順位、ビジョン | プロダクトオーナー |
| 障害物、指導、支援 | スクラムマスター |
3つの役割を、会社の組織にたとえる
| スクラムの役割 | 会社でいえば |
|---|---|
| プロダクトオーナー | 商品企画責任者(何を作るかを決める) |
| スクラムマスター | 現場の環境整備役(働きやすくする) |
| 開発者 | 実際に作る人たち |
スクラムマスターは管理職ではない
| よくある誤解 | 実際 |
|---|---|
| スクラムマスターがチームを指揮する | チームは自己管理。マスターは支援役 |
| 進捗を管理して指示を出す | 障害物を取り除き、環境を整える |
「指揮命令」ではなく「支援」——この点が、従来のプロジェクトマネージャとの大きな違いです。
開発者の「自己管理」という特徴
| 従来 | スクラム |
|---|---|
| 管理者が仕事を割り当てる | 開発者が「誰が」「どのように」を選択する |
| 指示を待つ | 自ら計画を立てる |
なぜ自己管理なのか
| 理由 | 内容 |
|---|---|
| 実際にできるのは当人 | 見積もりの精度が上がる |
| 納得感が生まれる | 自分で決めたことには責任を持つ |
| 変化に素早く対応できる | 都度の承認が不要 |
XPの「責任の受け入れ」と同じ発想です。
| XP | スクラム |
|---|---|
| 開発者が自らサインアップする | 開発者が「誰が」を選択する |
中小企業での応用
スクラムの形式をそのまま導入するのは難しくても、考え方は応用できます。
| 考え方 | 応用 |
|---|---|
| 優先順位を決める人を1人にする | 「あれもこれも」を整理できる |
| 障害を取り除く役を置く | 現場が本来の仕事に集中できる |
| 作業者が自分で計画する | 納得感と精度が上がる |
1つ目が実務的に効く
| 状況 | 起きること |
|---|---|
| 複数の人が別々に要望を出す | 優先順位が決まらない。全部やろうとする |
| 1人が優先順位を決める | 何を先にやるかが明確 |
「決める人を決める」——これは、システム開発に限らず、あらゆるプロジェクトで有効な助言です。
確認してみましょう
> 次の記述の正誤を判定せよ。
> a プロダクトオーナーは、プロダクトバックログの優先順位を決定する。
> b スクラムマスターは、チームがスクラムのフレームワークに従って開発を進められるようにする指導・トレーニング・コーチの役割を担う。
> c スクラムの価値基準は、確約・集中・公開・尊敬・勇気の5つである。
解答 a:○ b:○ c:○
いずれも正しい記述です。5つの価値基準も、そのまま問われることがあるので押さえておきましょう。

スクラムの価値基準と構成員の役割(1/2)

スクラムの価値基準と構成員の役割(2/2)
試験のポイント
XPの「反復(イテレーション)」が1〜2週間だったのに対し、スクラムのスプリントは1〜4週間です。
② 4つのイベント
| イベント | いつ行うか |
|---|---|
| スプリントプランニング | スプリントの開始時 |
| デイリースクラム | 毎日 |
| スプリントレビュー | スプリントの終了時 |
| スプリントレトロスペクティブ | スプリントが終了した後 |
③ スプリントプランニング
| 内容 |
|---|
| スプリントの頭に開く、「今回なにを作るか」を決める場 |
| プロダクトオーナーが一覧の上位を示し、そこからどれを今回やるかをチームが決める |
| やり方のほうはチームが考え、今回の到達点(スプリントゴール)を置く |
「何を」はプロダクトオーナー、「どうやって」はチーム——この分担が明確に示されています。
④ デイリースクラム
| 内容 |
|---|
| 毎日やる短い立ち話。だいたい15分 |
| 昨日やったこと、今日やること、つまずいていること——この3つを全員が出して、現在地をそろえる |
| ずれていれば、その場で計画を直す。進行役はスクラムマスター |
3つの問い
| 問い |
|---|
| 昨日行ったこと |
| 今日行うこと |
| 障害になっていること |
「スタンドアップ」とは
立ったまま行うことを指します。座らないことで、自然に短時間で終わるようにする工夫です。
⑤ スプリントレビュー
| 内容 |
|---|
| スプリントの終わりに、できたものを主な関係者に見せて意見をもらう場 |
| プロダクトオーナー・関係者・チームが顔を合わせ、出来上がった分への反応を次回の向きに反映する |
⑥ スプリントレトロスペクティブ
| 内容 |
|---|
| スプリントが終了した後、チームは自身のプロセスを振り返り、何がうまくいったか、改善すべき点は何かを話し合う |
| 作業フロー、チームのコミュニケーション、障害の対処方法などが議題となる |
| このミーティングの目的は、次のスプリントでチームの作業効率や満足度を向上させることである |
⑦ レビューとレトロスペクティブの違い
この2つは、どちらもスプリントの終わりに行われるため混同しやすい論点です。
| スプリントレビュー | スプリントレトロスペクティブ | |
|---|---|---|
| 誰に対して | 主要なステークホルダー | チーム自身 |
| 何を振り返るか | 作業の結果(プロダクト) | 自身のプロセス(進め方) |
| 目的 | フィードバックを得る | 次のスプリントで作業効率や満足度を向上させる |
「モノを見せる」のがレビュー、「やり方を振り返る」のがレトロスペクティブ——この対比で覚えられます。
retrospective は「回顧、振り返り」という意味です。
⑧ デイリースクラムとスプリントレビューの違い
令和7年度の本試験では、この2つが入れ替えて出題されました。
| デイリースクラム | スプリントレビュー | |
|---|---|---|
| 頻度 | 毎日 | スプリントの終了時 |
| 参加者 | 開発チームの全員 | プロダクトオーナー、ステークホルダー、チーム |
| 内容 | 昨日・今日・障害を共有 | 作業の結果を提示しフィードバックを得る |
「ステークホルダーに提示する」のはスプリントレビュー——この語が判別の決め手です。
⑨ 3つの成果物
スクラムでは3つの成果物が規定されています。スクラムチームが目的を達成するために必要なものや作業を通じて生み出される成果を指します。
| 成果物 | 内容 | 管理する人 |
|---|---|---|
| プロダクトバックログ | プロダクトに必要な機能や修正のリスト | プロダクトオーナー |
| スプリントバックログ | スプリント中に実施するタスクのリスト | 開発チーム |
| インクリメント | スプリントのゴールを達成するために作成された機能や改善されたパフォーマンスなどの成果物 | — |
⑩ 2つのバックログの違い
| プロダクトバックログ | スプリントバックログ | |
|---|---|---|
| 範囲 | プロダクト全体 | このスプリント |
| 内容 | 必要な機能や修正のリスト | 実施するタスクのリスト |
| 管理 | プロダクトオーナー | 開発チーム |
大きなリストから、今回やる分を取り出したのがスプリントバックログ——という関係です。
⑪ インクリメント
前節で学んだインクリメンタル開発の「インクリメント」と同じ語です。
| 用語 | 意味 |
|---|---|
| インクリメント | スプリントのゴールを達成するために作成された機能や改善されたパフォーマンスなどの成果物 |
各スプリントで、動くものが1つ積み増される——これがスクラムの進め方です。
⑫ 全体の流れ
| 順番 | 動き |
|---|---|
| ① | プロダクトバックログから最優先の項目を選ぶ(スプリントプランニング) |
| ② | スプリントバックログを作る(開発チーム) |
| ③ | 毎日デイリースクラムで状況を共有(1〜4週間) |
| ④ | インクリメントができる |
| ⑤ | ステークホルダーに見せてフィードバックを得る(スプリントレビュー) |
| ⑥ | 進め方を振り返る(スプリントレトロスペクティブ) |
| ⑦ | ①へ戻る |
この一巡を繰り返す——これがスクラムの全体像です。
具体例
設例 デイリースクラムとスプリントレビュー
> 次の記述の正誤を判定せよ。(令和7年度第13問 改題)
> デイリースクラムでは、スプリントの成果をステークホルダーに提示し、フィードバックを得る。
解答 ×
スクラムにおけるスプリントレビューの内容です。
判別のキーワード
| 選択肢の語 | 対応するイベント |
|---|---|
| ステークホルダーに提示 | スプリントレビュー |
| 昨日・今日・障害 | デイリースクラム |
| プロセスを振り返る | スプリントレトロスペクティブ |
| 次のスプリントで何を開発するか決める | スプリントプランニング |
4つのイベントを時系列で並べる
2週間のスプリントを例に、いつ何が行われるかを追ってみます。
| 日 | イベント | 所要時間 |
|---|---|---|
| 1日目 朝 | スプリントプランニング | 数時間 |
| 1日目〜10日目 毎朝 | デイリースクラム | 15分 |
| 10日目 午後 | スプリントレビュー | 1〜2時間 |
| 10日目 夕方 | スプリントレトロスペクティブ | 1時間程度 |
デイリースクラムが15分である理由
| もし長くなったら | 対策 |
|---|---|
| 毎日1時間なら、10日で10時間 | 15分に区切る |
| 議論が始まると終わらない | 共有だけ行い、議論は別途 |
| 立っていれば長くならない | スタンドアップ |
「短く、毎日」が効く理由
| 週1回の長い会議 | 毎日15分 | |
|---|---|---|
| 問題の発見 | 最大6日遅れる | 最大1日 |
| 情報の鮮度 | 古い | 新しい |
| 参加の負担 | まとまった時間が必要 | 短時間 |
第7章で学んだ障害対策の発想と同じ
| 考え方 | 内容 |
|---|---|
| 早く見つけるほど、直す費用が小さい | 毎日確認する |
スプリントレビューとレトロスペクティブを分ける理由
| 議題 | 参加者 | |
|---|---|---|
| レビュー | 作ったもの | ステークホルダーを含む |
| レトロスペクティブ | やり方 | チームのみ |
なぜ分けるのか
| 理由 | 内容 |
|---|---|
| 議題が違う | モノの話と、進め方の話 |
| 参加者が違う | ステークホルダーの前では、チームの課題を率直に話しにくい |
| 目的が違う | フィードバックを得る/自分たちを改善する |
2つ目がとくに実務的
「実は連携がうまくいっていない」「この作業に時間がかかりすぎている」——こうした話は、顧客の前では言いにくいものです。チームだけの場を設けることで、率直な振り返りが可能になります。
中小企業での応用
システム開発に限らず、どんなプロジェクトでも応用できます。
| 場面 | 応用 |
|---|---|
| 新商品開発 | 毎朝15分、進捗と障害を共有 |
| 業務改善活動 | 2週間ごとに成果を報告し、進め方を振り返る |
| 店舗の改装 | 同上 |
「振り返りの場を設ける」ことの価値
| 振り返らない | 振り返る |
|---|---|
| 同じ失敗を繰り返す | 次に活かせる |
| 不満が溜まる | その場で解消できる |
| 改善が進まない | 少しずつ良くなる |
運営管理で学ぶPDCAの「C(Check)」と「A(Act)」を、2週間ごとに回す仕組みだと考えると、経営の文脈に位置づけられます。
診断士としての助言
| 場面 | 助言 |
|---|---|
| プロジェクトが停滞している | 短い周期で進捗を確認する場を設ける |
| 同じ問題が繰り返される | 振り返りの場を作る |
| 成果が見えない | 短い周期で動くものを見せる |
「毎日15分の立ち会議」——これだけなら、どんな企業でも今日から始められます。
確認してみましょう
> 次の記述の正誤を判定せよ。
> a スプリントプランニングでは、プロダクトオーナーがプロダクトバックログから最優先の項目を提示する。
> b スプリントレトロスペクティブは、主要なステークホルダーに作業の結果を提示し、フィードバックを得るイベントである。
> c スプリントバックログは、スプリント中に実施するタスクのリストであり、開発チームが管理する。
解答 a:○ b:× c:○

スクラムのフレームワーク
試験のポイント
プレミアムプラン
¥9,800〜/ 買い切り・自動更新なし(税込)
決済はStripe(世界最高水準・PCI-DSS準拠)で安全に処理されます。カード情報は当サービスに保存されません。