問題 No.3770
アジャイル開発プロジェクトにおいて、ソースコードの変更が行われるたびに、自動ビルドと自動テストを継続的に実施し、いつでも本番環境へリリース可能な状態を維持するソフトウェア開発手法はどれか。
【正解の解説】
継続的デリバリー
料理のコースに例えるなら、いつでもお客さんに出せる状態まで下ごしらえと味見を終えておき、シェフの「ゴーサイン(ボタン一つ)」が出たら即座に料理を提供できるようにしておく仕組みです。これにより、リリース直前の慌ただしさや手動ミスのリスクを劇的に減らすことができます。
スポンサーリンク
【その他の選択肢の解説】
継続的インテグレーション
試験では「継続的デリバリー」との混同が非常によく狙われます。こちらは「本番リリース可能にする」手前の一歩手前、つまり「みんなが書いたプログラムを合体させて正しく動くか確かめること」に主眼があります。本番に出す判断は人間の手に委ねられている点がデリバリーとの決定的な違いです。
継続的デプロイメント
デリバリーのさらに先を行く自動化の最高峰です。レストランの例えで言えば、料理ができたらウェイターを呼ばず、全自動のベルトコンベアですぐにお客さんのテーブルへ届ける状態です。「いつでもリリース可能」なのがデリバリー、「自動でリリースしちゃう」のがデプロイメントと区別しましょう。
継続的リファクタリング
リファクタリングはコードの「お掃除・お片付け」であり、リリース作業や自動化の仕組みとは全く関係ありません。初学者が「継続的」という言葉の響きにつられて選んでしまう典型的なひっかけ選択肢なので、用語の目的をしっかり分けて記憶しておきましょう。