開発技術

基本情報技術者試験開発プロセス手法」の問題

マネジメント系開発技術難易度:hard
継続的デリバリ(Continuous Delivery)と継続的デプロイ(Continuous Deployment)の違いの説明として最も適切なものはどれか。
継続的デリバリはコードを書く前にテストを作る手法、継続的デプロイは二人で開発する手法である
継続的デリバリは変更を頻繁に統合してビルドするだけの取組みであり、継続的デプロイは統合作業を一切行わずに本番へ手作業で反映する取組みである
継続的デリバリは本番へ即適用、継続的デプロイは人手の承認を必ず挟む点で逆である
継続的デリバリは本番へリリース可能な状態を常に保ち最終適用は人手の承認を挟むが、継続的デプロイは適用まで自動化する
正解
継続的デリバリは本番へリリース可能な状態を常に保ち最終適用は人手の承認を挟むが、継続的デプロイは適用まで自動化する

継続的デリバリは、ビルドからテスト・本番直前のステージングまでを自動化し、いつでも本番へリリースできる状態を常に保つが、最終的な本番適用は人手の承認(リリース判断)で行う。継続的デプロイはその本番適用までも自動で行う点が異なる。設問の説明に正確に合致する。

?選択肢ごとの解説

ア ×テストを先に書く手法はTDD、二人で開発するのはペアプログラミングであり、継続的デリバリ/デプロイの定義と無関係な説明である。
イ ×変更を頻繁に統合するのは継続的インテグレーションの説明であり、また統合を一切行わないという記述も誤りで、両用語の違いを正しく表していない。
ウ ×継続的デリバリが本番へ即適用、継続的デプロイが人手承認を挟むという対応は実際と逆であり誤りである。
エ ○継続的デリバリは、ビルドからテスト・本番直前のステージングまでを自動化し、いつでも本番へリリースできる状態を常に保つが、最終的な本番適用は人手の承認(リリース判断)で行う。継続的デプロイはその本番適用までも自動で行う点が異なる。設問の説明に正確に合致する。

くわしく

CI/CDパイプラインは段階的に自動化が進む。継続的インテグレーション(CI)は『頻繁な統合とビルド・テスト』、継続的デリバリ(CD)は『いつでもリリース可能な状態の維持(本番適用は手動承認)』、継続的デプロイは『本番適用まで全自動』。三者は重なるが、本番への最終適用が手動か自動かが継続的デリバリと継続的デプロイの分岐点である。

本番での押さえどころ

試験のコツ

『リリース可能状態を維持・最終は手動承認』=継続的デリバリ、『本番適用まで自動』=継続的デプロイと区別する。

覚え方

デリバリ(配送準備)は出荷直前まで、デプロイ(配置実行)は本番投入まで、と『どこまで自動か』で覚える。

よくある誤り

継続的デリバリと継続的デプロイの本番適用の自動・手動を逆に覚える誤りが多い。デプロイ(配置)まで自動なのが継続的デプロイと押さえる。

開発技術の他の問題

この問題を、AIの8-ways解説つきで。

基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · 基本情報技術者試験 · fe-a2-0106

【基本情報技術者試験】開発プロセス手法の問題 — 解答・解説|ukamiru 過去問