応用情報技術者試験 合格教科書|2026年度(令和8年度)対応
第 14 章|科目 A 例年 2〜3 問(直近 10 年 19 回で 37 問、1 回平均 1.9 問。直近 5 回は平均 2.8 問と増加傾向) 科目 B: 情報システム開発

ソフトウェア開発管理技術 ― 開発プロセス・アジャイル・構成管理

ウォーターフォールからアジャイル・DevOps まで開発プロセスの選び方と、知財・構成管理の実務ルールを押さえる

この章で学ぶこと

科目 A で例年 2〜3 問。直近 10 年(19 回)で 37 問、1 回平均 1.9 問ですが、直近 5 回は平均 2.8 問と増えています。出題の約半分はアジャイル(スクラム・XP・可視化)に集中するので、そこを確実に取り、知財と開発環境ツールで上積みするのが本章の戦略です。科目 B の「情報システム開発」を選ぶ人は、本章のスクラムと構成管理の語彙がそのまま問題文を読む前提になります。

1. 開発モデルと開発手法 ― 直列で作るか、回して作るか

開発モデルとは「工程をどう並べ、利用者にいつ動くものを見せるか」の型です。選ぶ基準は 2 つ、要求がどれだけ固まっているかとリスクをいつ潰したいかです。要求が確定していれば直列に流すのが速く、確定していなければ小さく回して確かめるほうが安全、というだけの話です。

ウォーターフォールモデルは、要件定義・設計・実装・テスト・運用を直列に並べ、各工程の成果物をレビューで確定させてから次へ進みます。確定した成果物は後述のベースラインとして凍結され、以降の変更は変更管理の手続を通します。分担と進捗が明確な反面、後工程で要求の誤りが見つかったときの手戻りコストが最大になります。第 13 章の V 字モデルは、このモデルの各設計工程と対応するテスト工程を突き合わせた見方です。

段階的モデル(Incremental Model)は、全体の要求と方式は先に決めたうえで機能を分割し、増分(インクリメント)ごとに設計からテスト・リリースまでを通します。早い段階で一部の機能が実際に使えるのが利点です。進展的モデル(Evolutionary Model)は逆に、最初に全体を粗く作り、繰り返しながら精度を上げていきます。要求が固まりきらない領域に向きます。

ウォーターフォール 要件定義 設計 実装 テスト 一括公開 段階的モデル 増分1 設計〜テスト 増分2 設計〜テスト 増分3 設計〜テスト 公開1 公開2 公開3 進展的モデル 版1 粗い全体 版2 精度向上 版3 完成
図 14-1 同じ「反復」でも、段階的モデルは機能を分けて増分ごとに完成させ、進展的モデルは全体を作り直して精度を上げます。分割の軸が機能か精度かが区別点です。

ほかに、試作品を利用者に触らせて要求を確定するプロトタイピングモデル、「計画→リスク分析→開発→評価」を渦巻き状に繰り返して危険な部分から潰すスパイラルモデル、少人数チームとツールで短期間に作り込む RAD(Rapid Application Development)があります。製品群に共通する資産をあらかじめ整備し、製品ごとの差分だけを開発する戦略はソフトウェアプロダクトラインと呼びます。機械学習モデルの学習・評価・デプロイ・再学習を継続的に回す運用は MLOps(Machine Learning Operations)です。

モデル要求の前提利用者が動くものに触る時期向く場面
ウォーターフォール初期に確定できる最後(受入れ)大規模・分担明確・法規対応
プロトタイピング曖昧要件定義中に試作品で画面や操作性の合意
スパイラル技術リスクが高い各周回の評価時新技術・不確実性が高い
段階的(Incremental)全体は決まるが量が多い増分のリリースごと早期の部分稼働が要る
進展的(Evolutionary)使ってみないと決まらない版のたび新規事業・探索的な開発
アジャイル変化することが前提イテレーションごと変更が頻繁・小規模チーム

設計技法としては、機能を階層構造化して段階的詳細化していく構造化手法(ソフトウェア構造を表す構造化チャート・HIPO・DFD・状態遷移図など。詳細は第 13 章)と、仕様記述言語で厳密に書いて数学的に検証する形式手法があります。形式手法の代表は VDM-SL・VDM++(支援ツールは VDMTools)と Z 言語で、状態の網羅的検査を行うモデル検査ツールには SPIN があります。コーディングをせずに画面部品の組合せで作るローコード/ノーコード開発は生産性が高い一方、複雑なロジックやプラットフォーム移行に弱い点が留意事項です。

用語要点
ネイティブアプリOS 固有の言語・API で作る。性能と端末機能の利用に有利
モバイル用 Web アプリブラウザで動く。審査・配布が不要だがオフラインや端末機能に制約
ハイブリッドアプリネイティブの外枠の中で Web 技術の画面を動かす折衷案
PWAProgressive Web Apps。Web でありながらオフライン動作・ホーム画面追加ができる
モバイル開発の留意点端末仕様(画面サイズ等)の多様性、User-Agent による判別、パーミッション要求、圏外・着信時の動作、審査と配布
出題実績 ウォーターフォール・プロトタイピング・段階的/進展的モデル・構造化手法・形式手法・モバイルアプリ開発は、この中分類では直近 10 年(19 回)の 37 問中 0 回です。表の 1 行分の理解で十分で、深追いは不要です。厚く学ぶべきはこの後のアジャイルです。

2. アジャイル ― 宣言・原則と手法の地図

アジャイルは特定の手順書ではなく、変化に適応しながら短い間隔で動くソフトウェアを届けるという考え方の総称です。出発点は 2001 年のアジャイルソフトウェア開発宣言で、4 つの価値が対比の形で書かれています。日本語訳では左に「価値を認めるもの」、右に「より価値をおくもの」が並びます。

価値を認めるもの(左)より価値をおくもの(右)実務での意味
プロセスやツール個人と対話手続より、決められる人同士が直接話す
包括的なドキュメント動くソフトウェア文書での合意より、動く実物での確認
契約交渉顧客との協調責任分界の詰めより、一緒に価値を作る
計画に従うこと変化への対応計画の遵守より、学んだことの反映
ここがひっかけ 宣言は「左記のことがらに価値があることを認めながらも、右記のことがらにより価値をおく」と明記しています。「ドキュメントを作らない」「計画を立てない」ではありません。「文書を一切残さないのがアジャイルである」という趣旨の選択肢は誤りです。
覚え方 より価値をおく側(右)だけを「人・物・協・変」で覚えます。人(個人と対話)・物(動くソフトウェア)・協(顧客との協調)・変(変化への対応)。選択肢に左側の語が主語で来ていたら、その時点で誤りです。

宣言には 12 の原則が添えられています。試験で使えるのは「動くソフトウェアこそが進捗の最も重要な尺度である」「要求の変更は開発の後期であっても歓迎する」「短い時間間隔で頻繁にリリースする」「意欲に満ちた人々を信頼し、環境と支援を与える」「最良のアーキテクチャ・要求・設計は自己組織的なチームから生まれる」「一定のペースを継続的に維持する」「定期的にふりかえり、やり方を調整する」あたりです。進捗を「消化した工数」や「作成した文書の量」で測る選択肢は、この原則に反します。

アジャイル共通の道具

用語何をするものか試験での問われ方
タイムボックス期間を固定し、入る作業量のほうを調整する「期間を延ばして全部入れる」は誤り
ユーザーストーリー「誰が・何をしたい・なぜ」を利用者の言葉で書いた短い要求詳細仕様書との違い
INVEST良いストーリーの 6 条件。Independent(独立)・Negotiable(交渉可能)・Valuable(価値がある)・Estimable(見積り可能)・Small(小さい)・Testable(テスト可能)頭文字の意味
ペルソナ典型的な利用者像を具体的な人物として定義するユーザーストーリーの前提づくり
インセプションデッキ開発の初期に「なぜやるのか・何を作るのか」を関係者で議論し、共通認識を得る一式の問い「初期」「共通認識」の 2 語で判定
プランニングポーカーカードを同時に出して相対見積りの合意を作る絶対工数の見積り技法ではない
ふりかえり(レトロスペクティブ)プロセスの改善点を話し合う。整理の型が KPT(Keep・Problem・Try)スプリントレビュー(成果物)との入替え
モブプログラミングチーム全員が 1 つの画面を見て 1 つの成果物を作る2 人ならペアプログラミング

チームが 1 つでは収まらない規模に広げる枠組みをエンタープライズアジャイルと呼びます。SAFe(Scaled Agile Framework)、LeSS(Large-Scale Scrum)、複数チームの代表が集まる Scrum of Scrums、DA(Disciplined Agile)が代表例です。名称と「大規模向けの枠組みである」ことが分かれば十分です。

出題実績 アジャイル(概要・XP・スクラム)はこの中分類の 37 問中 17 問と約半分を占めます。内訳はアジャイルの概要 8 問(バーンダウンチャート 3 回、アジャイル開発宣言・インセプションデッキ・ベロシティ・レトロスペクティブ・バリューストリームマップが各 1 回)、スクラム 5 問、XP 4 問です。

3. スクラム ― 3 役割・5 イベント・3 成果物

スクラムは、透明性・検査・適応という経験主義に基づく軽量なフレームワークです。要素は3 つの役割・5 つのイベント・3 つの成果物だけで、この 11 個を「誰が」「いつ」「何を」で結び付ければ、スクラムの問題はほぼ解けます。

役割責任ひっかけられ方
プロダクトオーナー(PO)プロダクトの価値の最大化。プロダクトバックログの内容と並び順(優先順位)を決める唯一の責任者「開発者に作業を割り当てる」は誤り
スクラムマスタースクラムの理論とプラクティスの理解・実践を支援し、チームの妨害を取り除く。指示ではなく支援「進捗を管理し指示を出す管理者」は誤り
開発者各スプリントで利用可能なインクリメントを作る。見積りと作業計画は開発者が行う「PO が工数を見積もる」は誤り

イベントはすべてタイムボックス(時間の上限)付きで、スプリントという入れ物の中に他の 4 つが入ります。順序は、プランニングで始まり、毎日のデイリースクラムを挟み、成果物を見せるレビュー、やり方を見直すレトロスペクティブで終わる、という 1 本道です。

① スプリント プランニング ② デイリー スクラム(毎日) ③ スプリント レビュー ④ レトロ スペクティブ 次のスプリントへ(タイムボックスは 1 か月以内) プロダクトバックログ 選ぶ スプリントバックログ 作る インクリメント レビューで検査
図 14-2 上段がイベントの順序、下段が成果物の流れです。レビューで検査するのはインクリメント(成果物)、レトロスペクティブで検査するのはやり方(プロセス)、という対象の違いが繰り返し問われます。
イベント目的参加者と特徴
スプリント他の 4 イベントを収める固定長の期間(1 か月以内)期間中はスプリントゴールを危うくする変更を入れない
スプリントプランニングこのスプリントで何を作り、どう作るかを決めるスクラムチーム全員。成果はスプリントバックログ
デイリースクラムゴールへの進捗を検査し、その日の計画を調整する(15 分)開発者のためのイベント。報告会ではない
スプリントレビューインクリメントをステークホルダに示し、フィードバックを受けてプロダクトバックログを調整する対象は成果物。以降のスコープはここで動く
スプリントレトロスペクティブ人・関係・プロセス・ツールを検査し、次に試す改善を決める対象はやり方。KPT などで整理する
成果物中身責任者
プロダクトバックログプロダクトに必要なものすべての、順序付きの一覧プロダクトオーナー
スプリントバックログ今回選んだ項目と、それを実現するための計画開発者
インクリメント完成の定義を満たした、利用可能な状態の成果物開発者
出題実績 スクラムは 10 年で 5 問。定義(役割とイベントから成るフレームワーク)、スクラムマスタの役割、プロダクトオーナーの役割、イベントの順序、スプリントレビューの目的が 1 問ずつという配り方で、役割・イベントを 1 つずつ入れ替えて出題されています。

4. アジャイルの可視化 ― バーンダウンとベロシティ

アジャイルは計画書で進捗を管理しません。代わりに実績値をグラフにして毎日眺めることで、遅れを早く見つけます。試験で問われるのはグラフの形の読み取りで、計算そのものはほとんど要りません。

バーンダウンチャートは、縦軸に残作業量(ストーリーポイントや残時間)、横軸に時間をとったグラフです。作業が消化されると残量が減るので、線は右下がりになります。開始時点と終了時点を直線で結んだ理想線を引いておき、実績線がその上にあれば遅れ、下にあれば前倒しと判断します。

残作業量(ポイント) 経過日数 40 30 20 10 0 0 2 4 6 8 10 理想線 実績線 実績線が理想線より上なら遅れ、下なら前倒し
図 14-3 バーンダウンチャート。縦軸が残作業量で右下がりという 2 点だけで、他のグラフと確実に区別できます。この例は 6 日目で理想より 10 ポイント残が多く、遅れています。

誤答肢は「軸か向きだけを入れ替えた別のグラフ」で作られます。図 14-4 の 3 つの形を覚えておけば取り違えません。バーンアップチャートは完了量の累積を積み上げるので右上がりになり、スコープ(総量)の線を重ねると要求追加も見えます。ガントチャートは作業ごとの期間を帯で表すもので、残量のグラフではありません。

① バーンダウン 残作業量が右下がり ② バーンアップ 完了量が右上がり ③ ガントチャート 作業の期間を帯で表す
図 14-4 バーンダウン(①)と、その誤答肢に使われる 2 つの形(②③)。縦軸が「残り」か「済み」か、線の向きが下か上かで見分けます。誤答肢には累積バグ数の S 字(信頼度成長曲線)が混ぜられることもあります。
出題実績 バーンダウンチャートは 10 年で 3 回(H29 秋 問 50、H31 春 問 49、R3 秋 問 49)出題され、いずれも 4 つのグラフから選ぶ同型の読解問題です。計算は不要で、「残作業量」「右下がり」の 2 点で決まります。

ベロシティと残スプリント数

ベロシティは、1 スプリントで完了できたストーリーポイントの実績値です。見積りではなく実測なので、直近数スプリントの平均を使って「あと何スプリントで終わるか」を機械的に出せます。

計算の型: ベロシティから残スプリント数を出す

ベロシティ = 直近 n スプリントの完了ポイントの平均 / 残スプリント数 = 残ストーリーポイント ÷ ベロシティ

例題 プロダクトバックログの残りは 240 ポイント。直近 3 スプリントの完了実績は 36、40、44 ポイントで、1 スプリントは 2 週間である。残りは何スプリント、何週間か。

  1. ベロシティを出す: (36 + 40 + 44) ÷ 3 = 40 ポイント/スプリント
  2. 残スプリント数を出す: 240 ÷ 40 = 6 スプリント
  3. 期間に直す: 6 × 2 週間 = 12 週間

答え 6 スプリント(12 週間)。3 スプリントの合計 120 をベロシティと取り違えると 2 スプリントになってしまいます。「1 スプリントあたり」に直してから割るのが手順です。

ベロシティはチーム固有の値で、チーム間の比較や評価に使ってはいけない点も押さえます。見積りの単位であるストーリーポイントは相対値であり、チームが違えば尺度も違うからです。

リーンソフトウェア開発から持ち込まれた可視化手法がバリューストリームマップです。要求が出てから利用者に届くまでの工程を横に並べ、各工程の付加価値時間(実際に作業している時間)と待ち時間を書き込みます。リードタイムの大半が待ち時間であることを見える化し、どこの滞留を削ればよいかを決めるための道具です。

可視化の道具縦軸・表すもの分かること
バーンダウンチャート残作業量(右下がり)スプリント内の遅れ・前倒し
バーンアップチャート完了量の累積(右上がり)+スコープ線進捗に加えて要求の追加
ベロシティ1 スプリントの完了ポイント完了時期の予測(チーム内限定)
バリューストリームマップ工程ごとの付加価値時間と待ち時間リードタイムのうちの無駄

5. XP・リーン・カンバン ― プラクティスの帰属を間違えない

スクラムが「チームの回し方」を決める枠組みなのに対し、XP(エクストリームプログラミング)は「コードの書き方」まで踏み込んだ具体的なプラクティスの集まりです。試験では両者の用語を入れ替えた誤答肢が定番なので、どの手法の言葉かを対応表で覚えます。

XP は 5 つの価値(コミュニケーション・シンプル・フィードバック・勇気・尊重)を掲げ、それを実現するプラクティスを立場別に整理しています。

分類主なプラクティスねらい
共同のプラクティス反復(イテレーション)、共通の用語、開けた作業空間、ふりかえりチーム全体で同じリズムと語彙をもつ
開発のプラクティステスト駆動開発(TDD)、ペアプログラミング、リファクタリング、ソースコードの共同所有、継続的インテグレーション(CI)、YAGNI変更に強いコードを保つ
管理者のプラクティスチームの責任の受入れ、援護、四半期ごとの見直し、持続可能なペース無理のない速度を守る
顧客のプラクティスストーリーの作成、リリース計画、受入れテスト、頻繁なリリース価値の判断を顧客が担う

YAGNI(You Aren't Gonna Need It)は「今必要ないものは作らない」という指針で、シンプルの価値に対応します。ソースコードの共同所有は、誰でもどのコードでも直してよいという原則で、担当者不在で修正が止まる事態を防ぎます。

開発のプラクティスの中心がテスト駆動開発(TDD)です。実装より先にテストを書き、失敗を確認してから最短で通し、最後に重複を除く、という 3 拍子を小刻みに繰り返します。「先にテストを書く」ことで、テストが仕様書と回帰テストを兼ねる点が要点です。

① Red 失敗するテストを書く ② Green 最短で通すコードを書く ③ Refactor 重複を除いて整える テストが通ったら次の小さな仕様へ
図 14-5 TDD の 3 段階。③ で外部から見た振る舞いを変えずに内部構造だけを整えるのがリファクタリングです。テストがあるからこそ安全に行えます。

ペアプログラミングは 2 人 1 組で 1 台の端末に向かい、実装役と確認役を交代しながら 1 つのプログラムを作る手法です。書きながらレビューが済むので欠陥の早期発見と知識共有に効きます。人数が 3 人以上のチーム全員に広がるとモブプログラミングです。「2 人で分担して並行に別々の部分を作る」「完成後にまとめてレビューする」は、どちらもペアプログラミングではありません。

出題実績 ペアプログラミングは 10 年で 2 回(H30 春 問 49、R3 春 問 50)、いずれも「2 人 1 組で相談・レビューしながら 1 つのプログラムを開発する」が正解の同型出題です。R7 春 問 48 の「XP のプラクティスはどれか」でも正解肢になりました。

リーン・カンバン・FDD

リーンソフトウェア開発は、トヨタ生産方式の考え方をソフトウェア開発に持ち込んだもので、ムダを取り除く・品質を作り込む・決定をぎりぎりまで遅らせる・速く提供する・全体を最適化する、といった原則からなります。前述のバリューストリームマップはこの流れの道具です。

カンバンは、作業をカードにしてボード上の列(未着手・仕掛り・完了など)を移動させ、各列に置ける枚数の上限(WIP 制限:Work In Progress の制限)を決める手法です。上限に達したら新しい作業を始めず、詰まっている工程を手伝います。スクラムのように固定長の反復を必ずしも持たず、流れを絶やさないプル型である点が特徴です。

FDD(ユーザー機能駆動開発)は、利用者にとって価値のある「フィーチャ(機能)」の単位で全体モデルを作り、フィーチャごとに設計と構築を繰り返します。

用語属する手法ひとことで
スプリント、プロダクトバックログ、デイリースクラム、スクラムマスタースクラムチームの回し方の枠組み
ペアプログラミング、TDD、リファクタリング、ソースコードの共同所有、YAGNIXPコードの作り方のプラクティス
継続的インテグレーション(CI)XP 発祥、DevOps でも中核頻繁に統合して壊れを早期発見
WIP 制限、プル型のボードカンバン仕掛りを絞って流れを作る
バリューストリームマップ、ムダの排除リーンリードタイムの無駄を可視化
フィーチャ単位の反復FDD機能ごとに設計・構築を繰り返す
ユーザーストーリー、ふりかえり、タイムボックスアジャイル共通特定手法に固有ではない

6. DevOps と CI/CD

アジャイルで開発が速くなっても、リリースが月 1 回の手作業なら価値は届きません。DevOps は、開発(Development)と運用(Operations)の壁を取り払い、文化と自動化の両輪で「小さく速く、何度でも安全に」リリースできる状態を作る考え方です。特定のツールの名前ではありません。

DevOps の構成要素を整理した枠組みが CALMS です。Culture(文化:チームをまたいだ責任の共有)、Automation(自動化)、Lean(リーン:ムダの排除と小さいバッチ)、Measurement(測定)、Sharing(共有)の頭文字で、先頭が文化であって、道具ではない点が趣旨です。運用側からソフトウェアエンジニアリングで信頼性を作り込む役割・実践を SRE(Site Reliability Engineering)と呼びます。

自動化の背骨が CI/CD パイプラインです。開発者が変更を push するたびにビルドとテストが自動で走り、通ったものだけが次の段階へ進みます。

CI(継続的インテグレーション) CD(継続的デリバリー/デプロイ) ① コミット 変更を push ② ビルド コンパイル・結合 ③ 自動テスト 単体・結合・回帰 ④ ステージング 検証環境へ配置 ⑤ 本番リリース 手動承認か自動 各段階は自動で走り、失敗した時点で止まる
図 14-6 CI/CD パイプライン。⑤ に人の承認が入るものが継続的デリバリー、⑤ まで自動で流れるものが継続的デプロイです。CI は ③ までを指します。
用語どこまで自動か試験での区別
継続的インテグレーション(CI)統合・ビルド・自動テストまで「頻繁に統合して壊れを早く見つける」
継続的デリバリー(CD)いつでもリリースできる状態まで本番反映の判断は人が行う
継続的デプロイ本番反映まで人の承認が入らない
IaC(Infrastructure as Code)サーバ・ネットワークの構成をコードで定義し自動構築環境差異と手作業ミスをなくす

本番反映の仕方にも型があります。ブルーグリーンデプロイメントは本番と同等の環境を 2 系統用意し、新版を待機系に載せてから切り替える方式で、問題が起これば切り戻すだけで復旧できます。カナリアリリースは一部の利用者にだけ新版を出し、指標を見ながら比率を上げる方式です。ローリングアップデートはサーバを 1 台ずつ順に入れ替えます。

DevOps の成果は測定して初めて改善できます。よく使われる 4 指標が Four Keys です。

指標測るもの方向
デプロイの頻度本番へのリリース回数多いほど良い
変更のリードタイムコミットから本番稼働までの時間短いほど良い
変更障害率リリースのうち障害を招いた割合低いほど良い
平均修復時間(MTTR)障害発生から復旧までの平均時間短いほど良い

測定の前提がオブザーバビリティ(可観測性)です。ログ・メトリクス・トレースという外部から観測できる出力だけで、内部で何が起きているかを説明できる状態を指します。この計装(テレメトリの収集)を標準化する仕様・実装が OpenTelemetry です。さらに、開発の早い段階からセキュリティの検査を自動パイプラインに組み込む考え方を DevSecOps と呼びます。

カオスエンジニアリングは、本番環境で意図的に障害を起こしてシステムが定常状態を保てるかを検証する実践です。「定常状態の仮説を立てる」「現実に起こり得る事象を変数とする」「本番環境で実験する」「継続的に自動実行する」「影響範囲(ブラストラジアス)を局所化する」といった原則が知られています。「テスト環境に限る」「障害を起こさないようにする」は、直観的には正しそうに見えて原則に反する誤答肢です。

出題実績 DevOps はこの中分類では R7 春 問 49 のカオスエンジニアリング 1 問のみが 10 年での実績です。ただしシラバス Ver.7 系で CALMS・SRE・Four Keys・オブザーバビリティが用語例に加わっており、直近 3 年は新語からの出題が続いているため、用語の定義は押さえておく価値があります。

7. プロセス改善・共通フレーム・ソフトウェア再利用

個々のプロジェクトの巧拙ではなく、組織としてのやり方(プロセス)の質を測って底上げする活動がプロセス改善です。測るための物差しが成熟度モデルで、代表が CMMI(Capability Maturity Model Integration:能力成熟度モデル統合)です。組織の成熟度を 5 段階で示し、上の段に上がるには下の段の達成が前提になります。

組織のプロセス成熟度(CMMI の 5 段階) → 上位ほど予測可能 レベル1 初期 レベル2 管理された レベル3 定義された レベル4 定量的に管理 レベル5 最適化している レベル2 以降は、下位レベルの達成が前提
図 14-7 CMMI の 5 段階。レベル 3 で「組織の標準プロセス」が定義され、レベル 4 で定量的に管理でき、レベル 5 で継続的な改善が回り始めます。段の高さは予測可能性の高まりを表しています。
レベルCMMI の呼び名その段階の状態
1初期場当たり的。成功は個人の力量に依存する
2管理されたプロジェクト単位で計画・追跡ができている
3定義された組織の標準プロセスがあり、修整して使う
4定量的に管理されたプロセスの実績を数値で把握し統計的に管理する
5最適化しているデータに基づいてプロセス自体を継続的に改善する

国際規格の系統では、プロセスアセスメント(プロセス評価)の枠組みを ISO/IEC 33000 シリーズが定めており、その JIS 版が JIS X 33001 以下の規格群です。試験では番号と内容の対応がそのまま問われます。

JIS X 33020 のプロセス能力水準は、レベル 0 不完全なプロセス・1 実施された・2 管理された・3 確立された・4 予測可能な・5 革新しているの6 段階で、CMMI の 5 段階と数え方が違う点に注意します。組織のプロセスを評価して改善する活動全般は SPA(Software Process Assessment)とも呼ばれます。

ここがひっかけ 「CMMI は 5 段階、JIS X 33020 の能力水準はレベル 0 を含む 6 段階」。段階数を入れ替えた選択肢と、規格番号だけを差し替えた選択肢(JIS X 0160 はライフサイクルプロセス、JIS X 33002 はアセスメント)が定番の誤答肢です。

共通フレーム(SLCP)

発注者と受注者が「どの作業まで契約に含むのか」を同じ言葉で話せるようにするための共通の物差しが SLCP(Software Life Cycle Process:ソフトウェアライフサイクルプロセス)で、国内向けに具体化したものが共通フレーム 2013(SLCP-JCF2013)です(現行版が 2013 年版で、98 年版・2007 年版が旧版です)。規格としては JIS X 0160(ソフトウェアライフサイクルプロセス)、システムを対象とする JIS X 0170 があります。

構造はプロセス → アクティビティ → タスクの 3 階層で、合意プロセス、組織のプロジェクトイネーブリングプロセス、テクニカルマネジメントプロセス、テクニカルプロセスといったプロセス群に分かれます。企画・要件定義から開発・運用・保守・廃棄までを対象範囲に含む点が要点です。すべてを使う必要はなく、プロジェクトの特性に合わせて取捨選択することを修整(テーラリング)と呼び、規格の全項目を満たす「完全適合」と、修整した上で満たす「修整適合」という適合の考え方があります。共通フレームは作業の標準手順書ではなく、用語と作業範囲を共有するための枠組みである、という位置づけが問われます。

ソフトウェア再利用とリバースエンジニアリング

生産性と品質を同時に上げる王道が再利用です。ただし「作ったものを後で使い回す」のではなく、再利用されることを前提に設計するのが部品化の要点で、そのためにモジュールの独立性を高め、カスタマイズできる箇所を明示し、命名規則を統一してライブラリとして登録します。既製のソフトウェアパッケージを購入して業務に合わせて使うことも、開発量そのものを減らす再利用の一形態です。

分類の軸種類意味
粒度・形態関数部品/オブジェクト部品(クラスライブラリ)/データ部品/プロセス部品手続き単位か、データと振る舞いの組か、業務処理単位か
組込み方常駐部品/組込み部品実行時に共有されるか、成果物に取り込まれるか
内部の見え方ブラックボックス部品/ホワイトボックス部品内部を見ずに使うか、改変を前提に中身を開くか
可変性パラメトリック部品/ノンパラメトリック部品引数で振る舞いを変えられるか
相互運用性クローズドシステム部品/オープンシステム部品特定環境専用か、標準に沿って広く使えるか

部品より大きな単位では、独立して差し替えられるまとまりとして境界と提供機能を定めたコンポーネント、共通の骨組みを提供して開発者が差分だけを書くフレームワーク、機能を境界越しに呼び出す API、業務機能をサービスとして疎結合に組み合わせる SOA(Service Oriented Architecture)、それを小さな独立配備単位まで分割したマイクロサービスがあります。複数の提供元の API を組み合わせて新しいサービスを作る手法がマッシュアップで、画面を組み合わせるプレゼンテーションマッシュアップ、データを統合するデータマッシュアップ、処理を組み合わせるロジックマッシュアップに分かれます。短期間で作れる反面、提供元の仕様変更やサービス停止に品質が左右されるのが留意点です。

リバースエンジニアリングは、既存のソフトウェアや実行形式を解析して仕様・構成・呼出し関係(コールグラフ)などの情報を取り出す行為です。互換製品の開発や仕様書が失われた資産の保守に使われますが、権利者の許可なく解析結果を用いて開発・販売すれば知的財産権の侵害となり得ること、利用許諾契約でリバースエンジニアリング自体が禁止されている場合があることを押さえます。

8. 知的財産適用管理 ― 著作権・特許・ライセンス

この節は法律の暗記ではなく、開発の現場で誰に何の権利が残り、何をするのに許諾が要るかを判断する話です。法規そのものの体系は第 22 章で扱います。

著作権 ― 誰のものになるかは契約で決まる

プログラムは著作物として保護され、プログラムの著作者は原則としてそれを創作した者です。ただし、法人等の発意に基づき、その業務に従事する者が職務上作成したものは、契約や勤務規則に別段の定めがない限り法人等が著作者になります(職務著作)。プログラムの著作物だけは「法人等の名義で公表する」という要件が不要で、社内システムのように公表しないソフトウェアでも法人が著作者になります。したがって、外部に開発を委託した場合は、何も定めなければ著作権は受託者(開発した側)に残り、委託元は納品物を使えても改変や再利用に制約が生じます。委託元へ移したいなら、契約で著作権の譲渡を明記します。

ただし著作権を譲り受けても、著作者人格権(公表権・氏名表示権・同一性保持権)は著作者本人に一身専属的に残り、譲渡できません。とくに同一性保持権があると、委託元が納品されたプログラムを自分の判断で改変することに支障が出ます。そこで実務では、契約に著作者人格権を行使しない旨の特約(不行使特約)を入れます。この条項の目的は「委託元が委託先の了解を都度取らなくても保守・改良できるようにすること」であり、財産権の帰属や公表の可否とは別の論点です。

ここがひっかけ 「著作者人格権を譲渡する」と書かれた選択肢は誤りです。譲渡できないからこそ「行使しない」という約束をします。不行使特約の効果を「著作権(財産権)が委託元に移る」と説明する肢も誤りです。
出題実績 著作者人格権の不行使特約は R7 秋 問 50 で出題されました。直近 10 年 19 回の科目 A で著作者人格権に触れたのはこの 1 問だけです。委託契約に条項を置く目的を選ばせる形式で、正解は「委託元が委託先の了解を得ずに納品物を改変・改良できるようにする」です。財産権の帰属・譲渡や公表の可否と混同させる肢が誤答肢になります。知財を契約実務の側から問うのは直近の新傾向です。

特許 ― 属地主義と実施許諾

特許権は国ごとに成立する権利で、日本の特許権の効力は日本国内にしか及びません(属地主義)。そして特許発明の「実施」には、物の生産・使用・譲渡・輸出・輸入などが含まれます。ここから、試験で繰り返し問われる結論が出ます。国内で製造すれば、その製品を全量国外へ輸出しても国内での実施に当たるため、実施許諾が必要です。

日本で特許を受けた発明 その発明を日本国内で 生産・使用・譲渡・輸出・輸入 するか? はい いいえ 特許権の実施に当たる → 実施許諾(ライセンス)が必要 日本の特許権は及ばない → 実施許諾は不要 輸出先の国に特許が無くても、国内での生産は実施に当たる
図 14-8 特許の実施許諾が要るかの判定。販売先ではなく「国内で何をしたか」で決まるのが属地主義の帰結です。国外の工場で作り国外だけで売るなら、日本の特許権は及びません。

実施許諾には 2 種類あります。専用実施権は設定した範囲で実施できるのが実施権者だけになる強い権利で、登録が効力の発生要件です。通常実施権は同じ範囲について複数人に重ねて許諾できます。両者の違いは「独占できるか」です。

出題実績 特許権の実施許諾は 10 年で 3 回(H29 春 問 50、R2 10 月 問 50、R5 春 問 49)。うち 2 回は要旨も正解も同一の再出題で、正解はいずれも「国内で製造し国外へ輸出する」ケースです。

ライセンス管理と技術的保護

自社が権利を持たないソフトウェアを使うには、権利者(ライセンサー)から使用許諾を受け、利用者(ライセンシー)は契約の範囲内で使う義務を負います。管理側の実務は、保有ライセンス数と実際のインストール数を定期的に照合(棚卸)することに尽きます。契約条項を超えた利用は不正利用であり、不正コピーは法的処罰の対象になります。

技術的保護仕組み主な対象
アクティベーションインストール時に固有情報を登録し、正規の利用かを認証するソフトウェア製品
コピーガード複製を技術的に妨げる媒体・コンテンツ
DRMDigital Rights Management。復号鍵と利用条件で再生・複製・期限を制御するデジタルコンテンツ全般
CPRM/AACS記録メディア・光ディスク向けの著作権保護方式録画・映像メディア

OSS のライセンス類型(コピーレフトの強弱など)は第 6 章、著作権法・特許法・不正競争防止法といった法規の条文レベルの整理は第 22 章で扱います。本章では「開発の場面でどの許諾を取るか」の判断だけを押さえてください。

9. 開発環境管理と構成管理・変更管理

複数人・長期間の開発では、「今動いているのはどの版か」「誰がいつ何を変えたか」が分からなくなることが最大のリスクです。それを防ぐのが開発環境管理と構成管理です。

開発環境の分離と管理対象

環境は開発環境・検証(ステージング)環境・本番環境に分け、本番と同じ構成の検証環境で確かめてから反映します。仮想化やコンテナを使えば同じ構成を短時間で再現でき、「私の環境では動く」を減らせます。開発環境そのものも管理対象で、次の 5 つが押さえどころです。

管理対象やること怠るとどうなるか
開発環境の稼働状況計算資源・ツールの使用状況を把握し、資源管理・運用管理を行うビルド待ちや環境不足で手が止まる
設計データ・ドキュメント更新履歴管理・アクセス権管理・検索性の確保。リポジトリで一元化する最新版が分からず、機密情報の持出しも追えない
ツール使用するツールとバージョンをチームで統一する成果物の互換性が崩れ、ツール由来の欠陥も混入する
ソフトウェアライセンスインストール数と保有ライセンス数を定期的に棚卸する契約違反の不正利用になる
開発環境のセキュリティ本番データを開発環境へ持ち込まない。アクセス権と持出しを記録し、導入するツールの供給元も検証する開発環境が情報漏えいとサプライチェーン攻撃の入口になる
開発ツール役割
IDE(統合開発環境)エディタ・コンパイラ・リンカ・デバッガなどを一体化し、同じ操作画面から扱えるようにしたもの
SCM(ソースコード管理)ソースの版と変更履歴を管理する。バージョン管理システムの中核
ドキュメンテーションジェネレーターソース中のコメントや宣言から API 仕様書を自動生成する
ビルドツール/CI サーバコンパイルから配置までの手順を自動実行する
静的解析ツール/テスト自動化ツール実行せずに欠陥候補を検出する/テストを反復実行する
シミュレーター・エミュレーター実機がない段階で組込みソフトウェアの動作を確認する
出題実績 IDE は 10 年で 2 回(R4 春 問 50、R5 秋 問 50)。どちらも正解は「エディタ・コンパイラ・リンカ・デバッガが一体になったツール」で、R5 秋は「組込みシステム向け」という限定が付くだけの再出題です。

バージョン管理 ― 集中型と分散型

バージョン管理システムは、ファイルの変更履歴を記録し、いつでも過去の版に戻せるようにする仕組みです。集中型(Subversion、CVS など)は履歴を中央のリポジトリだけが持ち、開発者は作業コピーを取得します。分散型(Git など)は各開発者の手元に全履歴の複製があり、中央に接続できなくてもコミットや履歴の調査ができます。

集中型(例: Subversion) 中央リポジトリ 全履歴はここだけ commit / update 開発者A 作業コピー 開発者B 作業コピー 開発者C 作業コピー 中央が落ちると履歴を追えない 分散型(例: Git) リモートリポジトリ 共有用の全履歴 push / pull 開発者A 全履歴を複製 開発者B 全履歴を複製 開発者C 全履歴を複製 各自が全履歴を持ち、単独でも調べられる
図 14-9 集中型と分散型の違いは履歴の複製がどこにあるかの一点です。分散型でも共有用のリモートリポジトリは置きますが、それは「複製の 1 つ」にすぎません。

分散型の運用では、作業を枝分かれさせるブランチ、枝を統合するマージ、特定の版に印を付けるタグ(リリース版の目印に使う)が基本操作です。同じ箇所を並行して変更するとマージ時に競合(コンフリクト)が起こるので、ブランチを短命に保ち、頻繁に統合するのが CI の考え方につながります。

構成管理・変更管理とベースライン

ソフトウェア構成管理は、ソフトウェアがどんな部品の組合せでできているかを識別し(構成識別)、管理単位である構成品目ごとに版と変更を統制する活動です。構成品目にはソースコードだけでなく、設計書・テスト仕様書・ビルド手順・実行環境の定義なども含みます。管理の方法をあらかじめ決めた文書が構成管理計画です。構成品目とその相互関係を記録して一元的に照会できるようにしたデータベースを構成管理データベース(CMDB)と呼びます(サービスマネジメントでも同じ言葉を使います。第 16 章)。含まれる部品と依存関係を機械可読な形式で一覧にしたものが SBOM(Software Bill of Materials)で、脆弱性が公表されたときに影響範囲を即座に特定するために使われます。

この統制の要がベースラインです。正式なレビューを経て合意された構成品目の版をベースラインとして凍結し、以後の変更は変更管理の手続を通したものだけを反映します。「勝手に直せない基準の版」を置くことで、いつの時点の何を作っているのかが常に言える状態を保ちます。

① 変更要求 利用者・運用から ② 影響分析 範囲と工数の評価 ③ 承認 変更管理委員会 ④ 実施・検証 変更してテスト ⑤ 記録 構成状況を更新 ベースライン v1.0 承認された変更だけを反映 ベースライン v1.1 承認を経ない変更は入れない(構成品目の完全性を保つ)
図 14-10 変更管理の手順。影響分析と承認を飛ばして実施しないことと、実施後に必ず記録することの 2 点が構成管理の生命線です。

変更を記録する活動が構成状況の記録で、変更回数・最新のバージョン・移行状況などを文書化します。あわせて、構成品目が仕様どおりの機能をもつこと(機能的完全性)と、必要な要素が過不足なく揃っていること(物理的完全性)を確認するのが完全性の保証で、一貫性と正確性が判断の観点です。完全性が保証されて初めて、新しい版の出荷や配布を行うリリース管理に進みます。出荷したコードと文書は、ソフトウェアの寿命がある間、定められた保管期間にわたって保守します。要求からコード・テスト・リリースまでを相互に辿れるようにしておくことをトレーサビリティと呼び、影響分析の精度はこれで決まります。

出題実績 分散型バージョン管理は 10 年で 2 回(R3 秋 問 18、R6 秋 問 19)。どちらも「各開発者が全履歴を複製し、中央にアクセスできなくても履歴を調査できる」という特徴からツール名(Git)を選ばせる形式の再出題で、問番号帯がこの中分類の 問 46〜50 から外れている点も共通しています。

ひっかけポイント

ここがひっかけ 1: レビューとレトロスペクティブ スプリントレビューが検査するのはインクリメント(成果物)、スプリントレトロスペクティブが検査するのはプロセス(やり方)です。「開発したものをステークホルダに示す」ならレビュー、「次のスプリントで試す改善を決める」ならレトロスペクティブ。この 2 つの説明文を入れ替えた肢が最も出ます。ついでに、デイリースクラムは進捗報告会ではなく開発者自身が計画を調整する場である点も狙われます。
ここがひっかけ 2: 用語の帰属 「XP のプラクティスはどれか」に対して、スプリント・プロダクトバックログ・デイリースクラム(=スクラムの語)を混ぜてきます。ペアプログラミング・TDD・リファクタリング・ソースコードの共同所有・YAGNI は XP、スプリント・バックログ・スクラムマスターはスクラム、WIP 制限はカンバン、バリューストリームマップはリーンです。CI は XP 発祥ですが DevOps でも中核なので、どちらの文脈でも正解になり得ます。
ここがひっかけ 3: 特許の属地主義 「輸出先の国では特許が成立していないから許諾は不要」は誤りです。判断するのは国内で実施行為があったかだけで、国内で製造(生産)した時点で日本の特許権の実施に当たります。逆に、国外で製造して国外だけで販売するなら日本の特許権は及びません。「販売先の国」で判断させる肢に引っ張られないでください。
ここがひっかけ 4: グラフの向きと軸 バーンダウンは残作業量・右下がり。誤答肢は右上がりの累積(バーンアップ)、期間を帯で示すガントチャート、累積バグ数の S 字曲線です。図を選ぶ問題では線の形だけを見て飛びつかず、縦軸が「残り」か「済み」かを先に確認します。
ここがひっかけ 5: 段階数と規格番号 CMMI の成熟度は5 段階、JIS X 33020 のプロセス能力水準はレベル 0 を含む6 段階です。規格の役割も混ぜられます。JIS X 0160 はソフトウェアライフサイクルプロセス、JIS X 33002 はプロセスアセスメントの実施要求事項で、番号と目的の組合せをずらした肢が作られます。

理解度チェック(科目 A 形式)

Q1. スクラムのイベントのうち、開発したインクリメントをステークホルダに示し、そのフィードバックを踏まえてプロダクトバックログを調整するものはどれか。
  1. スプリントプランニング
  2. スプリントレトロスペクティブ
  3. デイリースクラム
  4. スプリントレビュー

正解: エ スプリントレビューは成果物であるインクリメントを検査し、以降のスコープを調整する場です。ア は次のスプリントで何をどう作るかを決めるイベント、イ は成果物ではなくプロセスを検査して改善策を決めるイベント、ウ は開発者がゴールへの進捗を確認してその日の計画を整える 15 分のイベントです。

Q2. スクラムにおけるプロダクトオーナーの責任として適切なものはどれか。
  1. 開発者に対して日々の作業を割り当て、進捗を管理する
  2. スプリントで実装する項目の技術的な実現方法を決定する
  3. プロダクトバックログの項目の内容と並び順を決定する
  4. チームがスクラムを正しく理解し実践できるよう支援する

正解: ウ プロダクトオーナーはプロダクトの価値を最大化する責任者で、バックログの内容と優先順位を決める唯一の人です。ア のような作業割当てはスクラムには無く、開発者が自ら計画します。イ も開発者の責任です。エ はスクラムマスターの責任で、指示ではなく支援を行います。

Q3. アジャイルソフトウェア開発宣言に記述されている内容として適切なものはどれか。
  1. 計画に従うことよりも、変化への対応に価値をおく
  2. 契約交渉を、顧客との協調よりも重視する
  3. 動くソフトウェアよりも、包括的なドキュメントを重視する
  4. 個人と対話よりも、プロセスやツールに価値をおく

正解: ア 宣言の 4 つの価値は「プロセスやツールよりも個人と対話」「包括的なドキュメントよりも動くソフトウェア」「契約交渉よりも顧客との協調」「計画に従うことよりも変化への対応」です。イ・ウ・エ はいずれも左右を反転させた記述で誤りです。なお宣言は左側の価値も認めており、「ドキュメントを作らない」という意味ではありません。

Q4. バーンダウンチャートの説明として適切なものはどれか。
  1. 縦軸に完了した作業量の累積、横軸に時間をとり、右上がりに描く
  2. 縦軸に残作業量、横軸に時間をとり、右下がりに描く
  3. 作業ごとの開始日と終了日を帯で表し、進捗を帯の塗りつぶしで示す
  4. 累積の欠陥検出数を時間軸にとり、S 字状に飽和する様子を示す

正解: イ バーンダウンチャートは残作業量を縦軸にとるため、作業が進むほど右下がりになり、理想線との上下で遅れを判断します。ア はバーンアップチャート、ウ はガントチャート、エ はソフトウェア信頼度成長曲線の説明です。

Q5. 残作業が 240 ストーリーポイント、直近 3 スプリントの完了実績が 36、40、44 ポイントのとき、平均ベロシティで進むと残りは何スプリントか。
  1. 2
  2. 5
  3. 6
  4. 7

正解: ウ ベロシティ = (36 + 40 + 44) ÷ 3 = 40 ポイント/スプリントなので、240 ÷ 40 = 6 スプリントです。ア は 3 スプリントの合計 120 をベロシティと取り違えた値、イ は最大値 44 で割った 240 ÷ 44 ≒ 5.45 を切り捨てた値、エ は最小値 36 で割った 240 ÷ 36 ≒ 6.67 を切り上げた値です。

Q6. XP(エクストリームプログラミング)の開発のプラクティスの一つであるペアプログラミングの説明として適切なものはどれか。
  1. 開発者が担当箇所を分け合い、それぞれが別々のプログラムを並行して実装する
  2. 実装が完了したソースコードを、作成者以外の複数名が後日集まって机上で検証する
  3. 2 人 1 組で 1 台の端末に向かい、相談とレビューをしながら 1 つのプログラムを作成する
  4. チーム全員が 1 つの画面を囲み、全員で 1 つの成果物を作成する

正解: ウ ペアプログラミングは 2 人 1 組で実装役と確認役を交代しながら 1 つのプログラムを作る手法で、書きながらレビューが済む点が利点です。ア は分担並行の開発で、レビューが同時に行われません。イ は事後のレビュー(ウォークスルーやインスペクション)です。エ は 3 人以上に広げたモブプログラミングで、人数が異なります。

Q7. インセプションデッキの説明として適切なものはどれか。
  1. 開発の初期に、プロジェクトの目的や優先順位を関係者で議論し、共通認識を得るための一連の問い
  2. 相対的な規模を書いたカードを同時に提示し、見積りの合意を作る手法
  3. 反復の終わりに Keep・Problem・Try の観点で改善点を整理する手法
  4. 利用者の要求を「誰が・何を・なぜ」の形式で短く記述したもの

正解: ア インセプションデッキは「初期」に「共通認識」を作る道具で、この 2 語が判定の鍵です。イ はプランニングポーカー、ウ は KPT(ふりかえりの整理法)、エ はユーザーストーリーの説明で、いずれも初期の合意形成が目的ではありません。

Q8. カオスエンジニアリングの考え方として適切なものはどれか。
  1. 開発環境に限定して負荷を掛け、本番には影響を与えない範囲で耐性を測る
  2. 障害発生時に自動的に前の版へ戻す仕組みを実装すること
  3. テストケースを乱数で生成し、コードの網羅率を高めること
  4. 本番環境で意図的に障害を起こし、影響範囲を局所化しながら定常状態が保たれるかを検証すること

正解: エ カオスエンジニアリングは、定常状態の仮説を立てたうえで本番環境に現実的な障害を注入し、影響範囲を絞りながら耐性を確かめる実践です。ア は「本番環境で実験する」という原則に反します。イ はロールバックの実装、ウ はランダムテスト(ファジング等)の説明で、いずれも別の技法です。

Q9. 日本国内でだけ特許権が成立している発明について、特許権者から実施許諾を受ける必要があるのはどれか。
  1. 国外の工場で製造し、その全量を国外で販売する
  2. 国内の工場で製造し、その全量を国外へ輸出する
  3. 国内の研究機関が、試験・研究のためだけにその発明を実施する
  4. 特許権の存続期間が満了した後に、国内で製造して販売する

正解: イ 特許権は属地主義で国ごとに成立し、実施には物の生産が含まれます。国内で製造した時点で国内での実施に当たるため、販売先が国外でも許諾が必要です。ア は国内での実施行為が無いので日本の特許権は及びません。ウ は試験・研究のための実施として特許権の効力が及ばない場合に当たります。エ は権利が消滅しており誰でも実施できます。

Q10. ソフトウェア開発の委託契約に、著作者人格権を行使しない旨の特約を定める主な目的はどれか。
  1. 委託先が納品後に著作権を第三者へ譲渡できないようにするため
  2. 委託元が納品されたプログラムを、委託先の同意を得ずに改変・改良できるようにするため
  3. 委託元が納品物を無償で第三者へ再頒布できるようにするため
  4. 職務著作の要件を満たし、著作権を委託先の法人に帰属させるため

正解: イ 著作者人格権のうち同一性保持権があると、委託元が納品物を勝手に改変できません。人格権は譲渡できないため「行使しない」と約束させ、保守・改良を可能にします。ア・ウ は著作権(財産権)の譲渡や利用許諾の話で、人格権の特約とは別の条項です。エ の職務著作は法人と従業者の関係の制度で、委託契約の効果ではありません。

Q11. 分散型バージョン管理システムの特徴として適切なものはどれか。
  1. 各開発者の手元に全ての変更履歴の複製があり、中央のサーバに接続できなくても履歴を参照できる
  2. 中央のリポジトリだけが変更履歴を保持し、開発者は作業コピーだけを取得する
  3. ファイルを編集する前に必ずロックを取得し、同時編集を禁止する
  4. 変更が登録されるたびにビルドとテストを自動実行し、結果を開発者に通知する

正解: ア 分散型は各開発者がリポジトリの完全な複製を持つため、オフラインでもコミットや履歴調査ができます。イ は集中型(Subversion・CVS など)の説明です。ウ は排他制御の方式の話で分散型の定義ではありません。エ は継続的インテグレーションのツールの説明です。

Q12. IDE(統合開発環境)の説明として適切なものはどれか。
  1. ソースコードの変更履歴を記録し、版の差分やマージを管理する
  2. ソースコード中のコメントや宣言から API 仕様書を自動生成する
  3. テストケースを自動で実行し、結果をレポートとして出力する
  4. エディタ、コンパイラ、リンカ、デバッガなどを一体化し、同じ操作画面から扱えるようにする

正解: エ IDE は開発に必要なツール群を統合し、編集からデバッグまでを一貫した画面で行えるようにしたものです。ア はバージョン管理システム、イ はドキュメンテーションジェネレーター、ウ はテスト自動化ツールの説明です。

Q13. ソフトウェア構成管理における「ベースライン」の説明として適切なものはどれか。
  1. 構成品目の変更要求を受け付け、承認の可否を判断する組織
  2. 正式なレビューで合意され、以後の変更を変更管理の手続を経てのみ許す、構成品目の基準となる版
  3. ソフトウェアに含まれる部品と依存関係を機械可読な形式で一覧にしたもの
  4. 1 反復あたりに完了できる作業量の実績値

正解: イ ベースラインは凍結された基準の版で、以降は承認された変更だけが反映されます。ア は変更管理委員会などの組織、ウ は SBOM、エ はベロシティの説明です。

Q14. CMMI における成熟度レベルの並びとして正しいものはどれか。
  1. 初期 → 管理された → 定義された → 定量的に管理された → 最適化している
  2. 初期 → 定義された → 管理された → 最適化している → 定量的に管理された
  3. 管理された → 初期 → 定義された → 最適化している → 定量的に管理された
  4. 定義された → 初期 → 管理された → 定量的に管理された → 最適化している

正解: ア プロジェクト単位で管理できる(レベル 2)→ 組織の標準プロセスが定義される(レベル 3)→ 数値で管理できる(レベル 4)→ 継続的に改善する(レベル 5)という順に、範囲が個から組織へ、判断が経験から数値へ移ります。イ〜エ はいずれも順序を入れ替えたもので、とくに「定義された」が「管理された」より先に来る並びが誤りの定番です。

まとめ

本章の得点源は、出題の約半分を占めるアジャイルです。役割・イベント・用語の帰属を表で押さえ、グラフは形で見分け、知財は「国内で実施したか」「人格権は行使しない」の 2 点に絞れば、例年 2〜3 問のうち 2 問は堅く取れます。

論点覚える結論誤答肢の作られ方
スクラムの構成3 役割(PO・スクラムマスター・開発者)/5 イベント/3 成果物役割の責任を 1 つずらす
レビュー vs レトロスペクティブ成果物を検査 vs プロセスを検査説明文の入替え
アジャイル宣言対話・動くソフトウェア・協調・変化への対応に、より価値をおく左右の反転
バーンダウン残作業量・右下がり。理想線より上なら遅れバーンアップ・ガント・S 字
ベロシティ残ポイント ÷ 直近平均ベロシティ = 残スプリント数合計値をベロシティと誤認
XPペアプロ・TDD・リファクタリング・共同所有・CI・YAGNIスクラムの語を混ぜる
CI/CDCI はテストまで、デリバリーは人の承認あり、デプロイは全自動3 語の範囲を入れ替える
カオスエンジニアリング本番環境で実験し、影響範囲を局所化する「テスト環境に限る」
プロセス成熟度CMMI は 5 段階、JIS X 33020 の能力水準は 0〜5 の 6 段階段階数・規格番号の差替え
特許の実施許諾国内で生産・使用・譲渡・輸出・輸入すれば必要(属地主義)販売先の国で判断させる
著作者人格権譲渡できないので「不行使特約」で改変を可能にする財産権の帰属と混同
バージョン管理分散型は各自が全履歴を複製。集中型は中央だけ集中型・CI ツールの説明
構成管理構成識別 → ベースライン凍結 → 変更管理(要求・分析・承認・実施・記録)承認や記録を省いた手順

次の第 15 章では、ここで扱った開発の進め方を「いつ・いくらで・誰が」の観点から統制するプロジェクトマネジメントを学びます。本章のスプリントやベロシティは、第 15 章のスコープ管理・スケジュール管理・EVM と同じ問題を別の道具で解いたものだと捉えると、両章がつながります。