ITパスポート 令和6年度 公開問題(過去問) 問47について解説します。
問題
問47 ソフトウェアの開発における DevOps に関する記述として,最も適切なものはどれか。
ア 開発側が重要な機能のプロトタイプを作成し,顧客とともにその性能を実測して受当性を評価する。
イ 開発側では,開発の各工程でその工程の完了を判断した上で次工程に進み,総合テストで利用者が参加して操作性の確認を実施した後に運用側に引き渡す。
ウ 開発側と運用側が密接に連携し,自動化ツールなどを活用して機能の導入や更新などを迅速に進める。
エ システム開発において,機能の拡張を図るために,固定された短期間のサイクルを繰り返しながらプログラムを順次追加する。
解説・解答
DevOps(Development + Operations)とは、開発(Dev)と運用(Ops)が密接に協力して、ソフトウェアの開発と運用のライフサイクルを短縮し、品質を保ちながら頻繁なリリースを可能にするアプローチです。
それぞれの選択肢について確認します。
ア:開発側が重要な機能のプロトタイプを作成し,顧客とともにその性能を実測して受当性を評価する。
これは「プロトタイピングモデル」や「ユーザー受入テスト」の話で、DevOpsとは直接関係ありません。顧客との要件確認の初期段階には有効ですが、開発と運用の連携というDevOpsの本質には触れていません。そのため、この記述は本問の記述に該当しません。
イ:開発側では,開発の各工程でその工程の完了を判断した上で次工程に進み,総合テストで利用者が参加して操作性の確認を実施した後に運用側に引き渡す。
これは「ウォーターフォールモデル」に近い考え方で、工程ごとの明確な区切りと順次的な引き渡しが特徴です。DevOpsはこれとは逆で、継続的・連携的・反復的なプロセスです。そのため、この記述は本問の記述に該当しません。
ウ:開発側と運用側が密接に連携し,自動化ツールなどを活用して機能の導入や更新などを迅速に進める。
開発と運用が密に連携し、CI/CDパイプラインや構成管理ツール(Ansible、Terraform など)を活用して、自動的かつ迅速にソフトウェアをデプロイ・更新していく手法がDevOpsです。この記述はDevOps に関する記述として適切です。
エ:システム開発において,機能の拡張を図るために,固定された短期間のサイクルを繰り返しながらプログラムを順次追加する。
これは「アジャイル開発」や「スクラム」の特徴に近い記述です。DevOpsと併用されることもありますが、DevOpsの特徴である「運用との密連携」や「自動化ツールの活用」には触れていないため、本問の記述に該当しません。
以上により、この問題の解答は「ウ」になります。