令和5年度40マネジメント系

ITパスポート 令和5年度 問40:development_managementに関する問題

ソフトウェア開発におけるDevOpsに関する記述として,最も適切なものはどれか。

  • a運用側で利用する画面のイメージを明確にするために,開発側が要件定義段階でプロトタイプを作成する。
  • b開発側が,設計・開発・テストの工程を順に実施して,システムに必要な全ての機能及び品質を揃えてから運用側に引き渡す。
  • c開発側と運用側が密接に連携し,自動化ツールなどを取り入れることによって,仕様変更要求などに対して迅速かつ柔軟に対応する。正答
  • d一つのプログラムを2人の開発者が共同で開発することによって,生産性と信頼性を向上させる。
正答:C開発側と運用側が密接に連携し,自動化ツールなどを取り入れることによって,仕様変更要求などに対して迅速かつ柔軟に対応する。

AI解説(初心者・標準・上級)

理解度に合わせて3レベルの解説を無料で読めます。

初心者向けまずはここから。やさしく要点を解説

答えは c です。

DevOps(デブオプス)は『開発する人(Dev)』と『運用・動かす人(Ops)』が、仲良く協力して、ツールで自動化しながら、変更のお願いにすばやく対応していくやり方です。

ふだんは別々に動きがちな2つのチームが手を組むのがポイント。

👉 覚え方:Dev(開発)+Ops(運用)が手をつないで、すばやく改善!

ほかの選択肢:a 画面イメージを先に作る=プロトタイピングの話/b 全部作り終えてから渡す=順番に進めるやり方(ウォーターフォール)/ d 2人1組でコードを書く=ペアプログラミングの話。

標準試験対策の基準レベル

なぜこれが正解か

正解は c。DevOps(Development+Operations)は、開発側と運用側が密接に連携し、自動化ツールを活用することで、仕様変更要求やリリースに迅速かつ柔軟に対応する開発・運用のアプローチ・文化。cの記述がそのまま定義に一致する。

各選択肢の解説

  • a:要件定義段階でのプロトタイプ作成 → プロトタイピングの説明。
  • b:全工程を順に実施し全機能を揃えてから引き渡す → ウォーターフォール型開発の説明。
  • d:1つのプログラムを2人で共同開発 → ペアプログラミング(アジャイルのプラクティス)の説明。

覚え方・ひっかけ注意

DevOps=『Dev(開発)とOps(運用)の連携+自動化+迅速・柔軟』。キーワードは『開発と運用の連携』と『自動化』。ウォーターフォール(b)やペアプログラミング(d)と混同しないこと。

上級誤答論破・背景理論まで深掘り

理論的背景

DevOps(Development+Operations)は、ソフトウェア開発(Dev)と運用(Ops)の間に存在する組織的・文化的・プロセス的な壁(「サイロ」)を取り除き、両者が継続的に協働することで高品質なソフトウェアを速く・安定的に提供し続けることを可能にする考え方・実践体系である。2009年にパトリック・デボワが「DevOpsDays」カンファレンスを始めたことで広まり、2010年代にはFacebook・Google・Amazon・Netflixなどのテック企業が実践を公開したことで世界的に普及した。

従来のウォーターフォール開発では、開発チームがコードを完成させて「壁を越えて」運用チームに投げ渡す文化があり、両者の間に目標の対立(開発は変化を好み、運用は安定を好む)が生まれやすかった。DevOpsはこの対立を「共有された目標と責任、自動化されたプロセス」によって解消し、両者を継続的に連携させるパラダイムシフトを意味する。

理念的な基盤として、CALMSフレームワーク(Culture=失敗を責めない文化・Automation=繰り返し作業の自動化・Lean=フロー改善・Measurement=指標による継続的計測・Sharing=知識・コードの共有)が広く引用されている。

実務での使われ方

DevOpsの実装ではCI/CD(継続的インテグレーション/継続的デリバリー)パイプラインが中核技術となる。CI(Continuous Integration)では、開発者がコードをリポジトリにpushするたびに自動でビルド・テスト・コード品質チェックが実行され、問題を即座に検出する。CD(Continuous Delivery/Deployment)では、テストを通過したコードが自動的にステージング・本番環境にデプロイされる。これにより従来は週単位・月単位だったリリースサイクルが、1日数回の頻繁なリリースへと変化する。

主要ツールチェーンとして、バージョン管理(GitHub・GitLab・Bitbucket)、CI/CDパイプライン(GitHub Actions・Jenkins・CircleCI・GitLab CI)、コンテナ(Docker)・オーケストレーション(Kubernetes)、IaC(Infrastructure as Code:Terraform・AWS CloudFormation)、監視・ログ(Datadog・Prometheus・Grafana・ELKスタック)が一体となって運用される。近年はDevSecOps(セキュリティをCI/CDに組み込む)、AIOps(AIによる運用自動化)への発展が進んでいる。

Amazonは「1時間に1000回以上のデプロイ」を実現していることで知られ、DevOpsの成熟した実践例として引用される。日本でも2020年代に入りDX推進の文脈でDevOps導入が加速しており、経産省の「DX推進ガイドライン」でもアジャイル・DevOpsの採用が推奨されている。

試験での位置づけ

ITパスポートの開発プロセス・手法分野では、ウォーターフォール・アジャイル(スクラム)・DevOpsの3つの開発アプローチの特徴と違いが繰り返し問われている。本問の核心は「開発と運用の連携+自動化ツール+迅速・柔軟な対応」という3キーワードの組合せであり、これに合致するのがDevOpsである。

CI/CDとの関係では、CI/CDはDevOpsを実現する具体的な技術手段であり、「DevOpsという理念・文化・体制をCI/CDという技術で具体化する」という関係を理解しておくと応用問題に強くなる。上位資格の基本情報技術者試験ではコンテナ仮想化(Dockerとの違い:ハイパーバイザー型VMとの比較)、マイクロサービスアーキテクチャとの親和性、SRE(Site Reliability Engineering)というDevOpsの実装形態まで問われる。

選択肢の発展補足

プロトタイピング(a):要件定義・設計段階で試作品(プロトタイプ)を作成し、利用者の確認・フィードバックを得ながら要件を明確化する手法。「運用側が利用する画面のイメージを明確にするためにプロトタイプを作成する」は確かにプロトタイピングの一用途だが、開発と運用の継続的連携・自動化という特性を持たない。

ウォーターフォール(b):要件定義→基本設計→詳細設計→実装→テスト→運用という工程を順番に実施し、前工程が完了してから次工程に進む計画駆動型の開発手法。「全機能を揃えてから引き渡す」という記述は本選択肢の通り。変更に弱く、品質問題を後工程で発見すると手戻りコストが高い点がDevOpsやアジャイルとの根本的な違い。

ペアプログラミング(d):XP(eXtreme Programming)のコアプラクティスの一つで、2人の開発者が1台のPCを共有し、1人がコードを書き(ドライバー)もう1人がレビューしながら作業する手法。生産性・品質向上の実証研究も多い。DevOpsと組み合わせて使われることはあるが、「開発と運用の連携・自動化」というDevOpsの定義とは別概念である。

出典・引用について

出典:IPA(情報処理推進機構)公式 ITパスポート試験 令和5年度40/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。

マネジメント系の他の過去問

35
system_audit
36
project_management
37
project_management
38
development_management
39
project_management

あなたの弱点を診断して、合格までの最短ルートを

この分野を連続演習し、AIがあなたの弱点を分析。合格ナビならITパスポートの過去問を解きながら学べます。