ITパスポート過去問 令和6年度(2024年)問47
ソフトウェアの開発におけるDevOpsに関する記述として,最も適切なものはどれか。
選択肢
- ア:開発側が重要な機能のプロトタイプを作成し,顧客とともにその性能を実測して妥当性を評価する。
- イ:開発側では,開発の各工程でその工程の完了を判断した上で次工程に進み,総合テストで利用者が参加して操作性の確認を実施した後に運用側に引き渡す。
- ウ:開発側と運用側が密接に連携し,自動化ツールなどを活用して機能の導入や更新などを迅速に進める。
- エ:システム開発において,機能の拡張を図るために,固定された短期間のサイクルを繰り返しながらプログラムを順次追加する。
- ア
- イ
- ウ
- エ
正解と解き方・学習ポイント(AI解説)
DevOpsは、開発(Development)と運用(Operations)が連携し、ビルド、テスト、リリースなどを自動化して、変更を短い周期で安全に提供し続ける考え方です。選択肢の中で、開発側と運用側の密接な連携と自動化による迅速な導入、更新を述べている「ウ」が最も適切です。
Point
この問題は、DevOpsが「開発手法の名称」ではなく、「開発と運用が協力して継続的に提供するための考え方、取組」であることを理解しているかを確認しています。あわせて、プロトタイピング、ウォーターフォールモデル、アジャイル開発の説明とDevOpsを区別できるかが問われています。
解くために必要な知識
この問題を解くには、DevOpsの定義と、混同しやすい代表的な開発手法の特徴を理解している必要があります。
用語の整理
| 用語名 | 意味 |
|---|---|
| DevOps | 開発(Development)と運用(Operations)が協力し、自動化などを活用して、ソフトウェアの提供(リリース、更新)を継続的に行いやすくする考え方、取組です。 |
DevOpsでよく出る要素
| 要素 | 内容 |
|---|---|
| 開発と運用の連携 | 開発側だけで完結させず、運用で起きる課題も踏まえて改善します。 |
| 自動化 | ビルド、テスト、デプロイなどを自動化して、作業のばらつきや時間を減らします。 |
| 継続的な提供 | 変更を小さく、短い周期で提供しやすくします。 |
他の選択肢に出てくる用語
| 用語名 | 意味 |
|---|---|
| プロトタイピング | 開発の早い段階で試作品を作り、利用者の確認、評価を通じて要件を明確にしていく手法です。 |
| ウォーターフォールモデル | 要件定義、設計、実装、テストなどを順番に進め、前工程の完了後に次工程へ進む手法です。 |
| アジャイル開発 | 短い期間の反復(イテレーション)を繰り返し、機能を段階的に追加、改善する開発の進め方です。 |
問題の解法手順
各選択肢の整理
| 選択肢 | 記述の要点 | 該当する考え方・手法 |
|---|---|---|
| ア | プロトタイプを作り、顧客と性能を測って妥当性評価をする。 | プロトタイプモデル |
| イ | 工程ごとに完了判定して次へ進み、最後に運用側へ引き渡す。 | ウォーターフォールモデル |
| ウ | 開発側と運用側が連携し、自動化ツールなどで導入・更新を迅速に進める。 | DevOps |
| エ | 短期間サイクルを繰り返し、機能を順次追加する。 | アジャイル開発 |
結論
DevOpsの説明になっているのは「ウ」です。開発側と運用側の連携に加えて、自動化によって導入・更新を速く回す点がポイントです。
選択肢ごとの解説
- ア:不正解
重要な機能のプロトタイプを作り、顧客と評価する内容なので、プロトタイピングの説明です。DevOpsの中心である開発側と運用側の連携や自動化の説明ではありません。
- イ:不正解
各工程の完了を判断して次工程へ進み、総合テストの後に運用側へ引き渡す内容なので、ウォーターフォールモデルの説明です。DevOpsは「引き渡して終わり」ではなく、運用も含めて継続的に改善しやすくする点が異なります。
- ウ:正解
開発側と運用側が密接に連携し、自動化ツールなどを活用して導入や更新を迅速に進める内容なので、DevOpsの説明として適切です。
- エ:不正解
固定された短期間のサイクルを繰り返し、プログラムを順次追加する内容なので、アジャイル開発の説明です。DevOpsはアジャイルと併用されることはありますが、同じ意味ではありません。
まとめ
DevOpsは、開発(Development)と運用(Operations)が連携し、ビルド、テスト、リリースなどを自動化して、変更を短い周期で安全に提供し続ける考え方です。選択肢の中で、開発側と運用側の密接な連携と自動化による迅速な導入、更新を述べている「ウ」が最も適切です。
マネジメント系 > 開発技術 > ソフトウェア開発管理技術
重要な機能のプロトタイプを作り、顧客と評価する内容なので、プロトタイピングの説明です。DevOpsの中心である開発側と運用側の連携や自動化の説明ではありません。
各工程の完了を判断して次工程へ進み、総合テストの後に運用側へ引き渡す内容なので、ウォーターフォールモデルの説明です。DevOpsは「引き渡して終わり」ではなく、運用も含めて継続的に改善しやすくする点が異なります。
開発側と運用側が密接に連携し、自動化ツールなどを活用して導入や更新を迅速に進める内容なので、DevOpsの説明として適切です。
固定された短期間のサイクルを繰り返し、プログラムを順次追加する内容なので、アジャイル開発の説明です。DevOpsはアジャイルと併用されることはありますが、同じ意味ではありません。