ITパスポート試験

問40

ITパスポート過去問 令和5年度(2023年)問40

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

選択肢

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

正解と解き方・学習ポイント(AI解説)

正解:
あなたの回答:未回答

DevOpsは、開発側(Development)と運用側(Operations)が密接に連携し、テストやデプロイなどを自動化しながら、仕様変更や改善に迅速かつ柔軟に対応してリリースを継続する考え方です。

不正解

プロトタイピングの説明です。要件定義段階で試作品を作り、利用者の確認を通じて要件を明確にします。DevOpsの中心である開発と運用の連携や自動化の説明ではありません。

不正解

ウォーターフォールモデルの説明です。工程を順番に進め、全ての機能と品質を揃えてから運用側に引き渡します。DevOpsが重視する継続的な連携や自動化による迅速な変更対応とは異なります。

正解

DevOpsの説明です。開発側と運用側が密接に連携し、ビルド、テスト、デプロイなどを自動化して、変更要求などへ迅速かつ柔軟に対応します。

不正解

ペアプログラミングの説明です。2人で共同して開発し、品質向上や知識共有をねらいます。DevOpsの開発と運用の連携を直接説明したものではありません。

Point

この問題は、DevOpsが開発と運用の分担を分けたまま引き渡す方式ではなく、開発側と運用側が連携し、自動化も活用して変更に素早く対応する考え方であることを理解しているかを問うています。

解くために必要な知識

この問題を解くには、DevOpsの目的と特徴(開発・運用の連携と自動化)の理解が必要です。

用語の整理

用語 意味
DevOps 開発(Development)と運用(Operations)が協力し、ビルド、テスト、デプロイなどを自動化して、短い周期で改善し続ける考え方や取組みです。
自動化ツール ビルド、テスト、デプロイなどの作業を仕組みで実行し、作業時間の短縮と手作業ミスの低減を目的とするツールや仕組みです。

他の選択肢に出てくる用語

用語 意味
プロトタイプ 要件の確認のために、試作品(画面や簡易機能)を作って、利用者と認識を合わせる手法です。
要件定義 システムで実現すべき機能、性能、制約条件などを決めて文書化する工程です。
ウォータフォール 要件、設計、実装、テストなどの工程を順に進め、原則として前工程に戻らずに進める開発モデルです。
ペアプログラミング 2人1組で1台の端末を使い、コードを書く人とレビューする人に分かれて開発する手法です。

問題の解法手順

各選択肢の整理

選択肢 述べている内容 DevOpsとして適切か 判定理由
要件定義でプロトタイプを作成 × プロトタイピングの説明であり、開発と運用の連携や自動化が中心ではありません。
設計・開発・テストを順に実施し、完成後に運用へ引渡し × 工程を分離し、完成後に引き渡す考え方であり、DevOpsの連携と継続的な改善と異なります。
開発と運用が連携し、自動化で変更に迅速・柔軟に対応 DevOpsの中心である、連携と自動化による短い周期での改善に合致します。
2人で共同開発して生産性と信頼性を向上 × ペアプログラミングの説明であり、DevOpsの対象(開発と運用の一体化)とは異なります。

選択肢ごとの解説

不正解

プロトタイピングの説明です。要件定義段階で試作品を作り、利用者の確認を通じて要件を明確にします。DevOpsの中心である開発と運用の連携や自動化の説明ではありません。

不正解

ウォーターフォールモデルの説明です。工程を順番に進め、全ての機能と品質を揃えてから運用側に引き渡します。DevOpsが重視する継続的な連携や自動化による迅速な変更対応とは異なります。

正解

DevOpsの説明です。開発側と運用側が密接に連携し、ビルド、テスト、デプロイなどを自動化して、変更要求などへ迅速かつ柔軟に対応します。

不正解

ペアプログラミングの説明です。2人で共同して開発し、品質向上や知識共有をねらいます。DevOpsの開発と運用の連携を直接説明したものではありません。

まとめ

DevOpsは、開発側(Development)と運用側(Operations)が密接に連携し、テストやデプロイなどを自動化しながら、仕様変更や改善に迅速かつ柔軟に対応してリリースを継続する考え方です。

マネジメント系 > 開発技術 > ソフトウェア開発管理技術