継続的デリバリとその原則について調べてみた

はじめに

この記事では、「継続的デリバリの概要」について書いています。

自分に向けた備忘録でもありますが、「継続的デリバリとは何か知りたい」な人の一助になれば嬉しいです。

継続的デリバリとは何か

  • ソフトウェア開発手法の1つ
  • 開発や修正といった様々な変更を安全、迅速、そして持続可能な形で本番環境に組み込んだりユーザーに提供する仕組み、もしくはそれを実現するための手法の集まり

継続的デリバリの原則

  • 自動化に投資する
    • 繰り返し行う作業は全て自動化し、人間は問題解決にあたる
    • 特に、繰り返し行い高い信頼性が必要なリリース(デプロイ)プロセスの自動化には本気で投資する
      • そうすることが信頼性につながる
  • 品質を作りこむ
    • 品質メトリクスは絶対ではないかもしれないが、ある方がない方よりもマシ
      • 品質メトリクス: 複雑度、カバレッジ、コーディングスタイルなど
  • 徹底した改善努力を継続的に行う
    • 「改善」を各メンバーの日常業務の一つにする
  • 全員がリリースプロセスに対して責任を持つ
    • 開発者のノートPC上だけで動作するソフトウェアはなんのお金も産まない。
    • リリースすることで開発したものははじめて価値を持つ
    • だからリリースプロセスは社内全ての人が責任と関心を持たなければいけない
      • 開発者は、作ったものがどのようにデプロイされるかを意識して開発に取り組まなければならない。
      • マネージャはデプロイメントに注意を払ってプロジェクトの計画をたてなければならない。
      • テスターはコードの問題と同じ位デプロイメントに関する問題についてテストすべきである。

おわりに

「継続的デリバリの概要」について解説しました。

ソフトウェア開発の中でよく聞かれるようになった言葉の一つですので、覚えておくと何かの約に立つかもしれません

さいごに、記事を書く上で参考にしたサイトのリンクを以下に掲載します。合わせて読んでいただくと良いかと思います。

https://aws.amazon.com/jp/devops/continuous-delivery/

https://www.atlassian.com/ja/continuous-delivery/principles