ITパスポート 令和6年度 問47:development_managementに関する問題
ソフトウェアの開発における DevOps に関する記述として、最も適切なものはどれか。
- a開発側が重要な機能のプロトタイプを作成し、顧客とともにその性能を実測して妥当性を評価する。
- b開発側では、開発の各工程でその工程の完了を判断した上で次工程に進み、総合テストで利用者が参加して操作性の確認を実施した後に運用側に引き渡す。
- c開発側と運用側が密接に連携し、自動化ツールなどを活用して機能の導入や更新などを迅速に進める。正答
- dシステム開発において、機能の拡張を図るために、固定された短期間のサイクルを繰り返しながらプログラムを順次追加する。
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは c です。
DevOps(デブオプス)は、「作る人(開発)」と「動かし続ける人(運用)」がチームの壁をなくして手を組み、ツールで作業を自動化して、新しい機能をどんどん速く出していくやり方です。
名前も Dev(開発)+ Ops(運用)をくっつけたもの。仲が悪くなりがちな2チームを“ひとつのチーム”にするイメージです。
👉 覚え方:DevOps=「開発と運用が手をつないで、自動で速く出す」。
ほかの選択肢:a 試作品で性能を測る=プロトタイピング/b 工程を順番に進める=ウォーターフォール開発/d 短い期間を繰り返して少しずつ作る=アジャイル(反復型)開発。
なぜこれが正解か
正解は c。DevOps(Development+Operations)は、開発側と運用側が密接に連携・協働し、CI/CD等の自動化ツールを活用して、機能の導入・更新・リリースを迅速かつ継続的に進める考え方・文化。組織の壁(サイロ)をなくすことが核心。
各選択肢の解説
- a:プロトタイプを作り顧客と性能を実測して妥当性評価=プロトタイピングの説明。
- b:各工程の完了を判断して順に次工程へ進む=ウォーターフォールモデルの説明。
- d:固定された短期間のサイクルを繰り返してプログラムを順次追加=アジャイル開発(反復・漸進)の説明。
ひっかけ注意
dの「短期間のサイクルを繰り返す」はアジャイルの特徴で、DevOpsと混同しやすい。DevOpsの決め手は「開発と運用の連携」と「自動化」というキーワード。アジャイルが「作り方の反復」なのに対し、DevOpsは「開発〜運用までを通した連携・自動化」と区別する。
理論的背景
DevOps(Development + Operations)は、ソフトウェア開発チーム(Dev)と運用チーム(Ops)の文化的・組織的・技術的統合を通じて、ソフトウェアのデリバリー速度・品質・信頼性を向上させるアプローチである。Gene Kim・Jez Humble・Patrick Deboisらが体系化し、2009年のDevOpsDays Gent(ベルギー)から運動として広まった。
正解cの「開発側と運用側が密接に連携し、自動化ツールなどを活用して機能の導入や更新などを迅速に進める」はDevOpsの本質的定義を正確に捉えている。DevOpsの理論的根拠は「制約理論(Theory of Constraints:Goldratt)」「リーン製造(Toyota Production System)」「学習する組織(Senge)」の3つの知的系譜に求められ、「The Phoenix Project」と「The DevOps Handbook」が現代DevOpsのバイブルとして広く読まれている。
DevOpsを技術的に支える要素は「CI/CD(継続的インテグレーション/継続的デリバリー・デプロイメント)」である。CIはコード変更のたびに自動でビルド・テストを実行し統合品質を保証し、CDは承認後の自動デプロイメントでリリースを迅速化する。これがcの「自動化ツールを活用した機能更新の迅速化」に対応する。Netflixが1日に何百回もの本番デプロイを行うことが可能なのは、DevOps原則とCI/CDパイプラインの高度な実装によるものである。
実務での使われ方
DevOpsの実践的技術スタック:バージョン管理(Git/GitHub/GitLab)、CI/CDツール(Jenkins・GitHub Actions・CircleCI・GitLab CI)、コンテナ化(Docker・Kubernetes)、インフラストラクチャ・アズ・コード(Terraform・Ansible・Chef・Puppet)、モニタリング(Prometheus・Grafana・Datadog・New Relic)が標準的なDevOpsツールチェーンを形成している。
DevOpsの成熟度指標として「DORA Metrics(DevOps Research and Assessment)」が業界標準として確立している。4指標:①デプロイ頻度(Deployment Frequency)、②変更リードタイム(Lead Time for Changes)、③変更失敗率(Change Failure Rate)、④平均修復時間(MTTR:Mean Time to Restore)。Googleが毎年実施する「State of DevOps Report」では、DevOps高パフォーマー組織は低パフォーマーと比較してデプロイ頻度が208倍、リードタイムが106倍速いことが統計的に示されている。
近年はDevOpsにSecurityを統合した「DevSecOps」、より広くAI/MLパイプラインを含む「MLOps」「AIOps」への拡張が進んでいる。
試験での位置づけ
DevOpsはITパスポートの「開発管理」分野で近年出題が増加しているキーワードであり、特に「アジャイル・スクラムとの関係」「ウォーターフォールとの対比」「CI/CDとの接続」の文脈で問われる。本問の誤選択肢はアジャイル(プロトタイプ開発・スプリント繰り返し)と類似の記述を含み、DevOpsの「Dev(開発)とOps(運用)の統合・連携」という組織的・文化的側面が識別のポイント。
基本情報技術者では「CI/CDパイプラインの構成要素」「コンテナ仮想化技術(Docker・Kubernetes)」「マイクロサービスアーキテクチャとDevOpsの関係」が詳細に問われる。上位のシステムアーキテクト・情報処理安全確保支援士ではDevSecOps(セキュリティをDevOpsパイプラインに統合する手法)・SBOM(Software Bill of Materials:ソフトウェア部品表)・SLSA(Supply-chain Levels for Software Artifacts)フレームワークとの接続が問われる。
選択肢の発展補足
aのプロトタイプ開発との区別:「重要な機能のプロトタイプを作成し、顧客とともに性能を実測して評価する」はプロトタイピングの定義(とりわけスパイク的PoC)に近い。DevOpsも「早期デプロイによるフィードバック収集」という点でプロトタイプ思想と共鳴する部分があるが、DevOpsの本質は「開発と運用の組織的統合」「自動化による継続的デリバリー」にあり、「性能実測・妥当性評価」というプロトタイプの目的とは異なる。
bのウォーターフォール(総合テスト→運用引き渡し)との対比:「全工程完了後に運用側に引き渡す」という記述はウォーターフォールの「サイロ型開発→引き渡し」文化の典型表現。DevOpsはまさにこの「開発と運用のサイロ(壁)」を打破するために生まれた思想であり、bの記述はDevOpsが解決しようとした問題そのものを表している。
dのアジャイル(スプリント繰り返し)との区別:「固定された短期間のサイクルを繰り返しながらプログラムを順次追加する」はスクラムのスプリント反復開発の記述。DevOpsはアジャイル開発と組み合わせて使われることが多く(アジャイル+DevOps=クラウドネイティブ開発の標準形)、両者の混同は自然な誤りだが、「スプリントサイクル」はアジャイルの開発プロセス構造を指し、「Dev-Ops統合」はDevOpsの組織・文化・インフラ構造を指す点で概念的層が異なる。
出典:IPA(情報処理推進機構)公式 ITパスポート試験 令和6年度 問47/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。