令和6年度 ITパスポート試験 公開問題 問47 解説 DevOpsの定義
ソフトウェアの開発におけるDevOpsに関する記述として,最も適切なものはどれか。
- ア
- イ
- ウ ✓ 正答
- エ
解説
解答のポイント
DevOpsという用語を見たら、「開発(Development)」と「運用(Operations)」の協力関係と、プロセスの「自動化」というキーワードを探します。この2つの要素が組み合わさっている選択肢が正解です。
DevOpsの定義と目的
DevOpsは、その名の通り開発チーム(Development)と運用チーム(Operations)が壁を取り払い、お互いに密接に連携することで、システムをより速く、より安定的にリリースするための組織文化や手法を指します。
従来、開発チームは「新しい機能を追加すること」を優先し、運用チームは「システムを安定稼働させること」を優先していました。そのため、開発側がリリースを急ぐと運用側が混乱し、逆に運用側が慎重になりすぎると開発側が動けないという対立構造が生じがちでした。DevOpsはこれを解決するために、開発から運用までのサイクルを自動化し、小さな変更を頻繁かつ安全に繰り返すことを重視します。
思考プロセス:なぜ他の選択肢は誤りなのか
各選択肢が示す手法を整理すると、それぞれの用語との違いが明確になります。
アは「プロトタイピング」の手法です。顧客との対話を通じて仕様を詰める段階を説明しており、運用との連携には焦点を当てていません。
イは「ウォーターフォールモデル」の説明です。工程を順番に進めていく伝統的な手法ですが、近年ではリリースまでのスピード感が求められる開発現場において、DevOps的なアプローチとは対照的な位置付けとなります。
エは「アジャイル開発」や「イテレーティブ(反復型)開発」の説明です。短い期間で開発を繰り返す手法ですが、これはあくまで開発の手法であり、運用側との連携や運用の効率化までを含む概念ではありません。
現場で求められるDevOpsの考え方
現代のIT現場では、ユーザーのニーズを素早くシステムに反映させることが競争力に直結します。そのため、CI/CD(継続的インテグレーション/継続的デリバリ)と呼ばれる自動化ツールが欠かせません。
たとえば、プログラマがプログラムを変更して保存した瞬間に、自動でテストが走り、問題がなければ自動的に本番環境へ反映される仕組みが構築されます。これにより、手作業によるミスを防ぎつつ、数日かかっていたリリース作業を数分に短縮できます。DevOpsは単なるツール導入の話ではなく、「チーム全体でいかに素早く価値を届けるか」というマインドセットが問われる重要なテーマです。