Ryuzeeさんの記事をトリガにしてContinuous Deliveryネタが多く回ってきたので、Continuous DeliveryとDevOpsについて考えてみた。なぜDevOpsかというと、日本語だと「継続的デリバリー」や「Continuous Delivery」よりも「DevOps」の方が目的の情報に引っかかりやすいから
Continuous DeliveryとDevOps
- Continuous Deliveryとは
- 継続的に動作するソフトウェアをリリースすること
- アジャイル宣言の背景の一番目「価値のあるソフトウェアを早く継続的に提供します」が、まさに「Continuous Delivery」である*1
- アジャイル宣言の背後にある原則
- Principles behind the Agile Manifesto
- DevOpsとは
- 開発と運用の壁をなくし、ともにビジネスの成功に向けてまい進する
- 開発と運用の新しい関係、「DevOps」とは何か? - Publickey
- ソニックガーデン社が日本で一番DevOpsを体現している会社だと思う
DevOpsとContinuous Feedback
DevOpsでは、ビジネスの加速のために頻繁なリリースが必要であるため、そのプラクティスの一つにContinuous Deliveryが含まれる。
また、DevOpsにはContinuous Feedback(継続的フィードバック)という側面がある。
- Continuous Feedbackは「リリースしたソフトウェアをモニターした結果を、プロダクトバックログにフィードバックする」こと
- ビジネスの加速には、リリースしたソフトウェアへのフィードバックが不可欠
- リリースが継続的に行われるので、フィードバックも継続的に行われる
Visual Studioで考える、Continuous DeliveryとDevOps
Continuous DeliveryやContinuous Feedbackは先日のALM Summitでたくさん耳にしたが、Visual Studioの機能と合わせて考ると、その時々の流れがわかるので、下記に列挙してみる(Microsoft Visual Studio ホームページ - Visual Studio)。
- Visual Studio 6 - .NET203:開発者個人をターゲット
- Visual Studio 2005:チームコラボレーションの導入(Visual Studio 2005 Team System)
- Visual Studio 2008:チームコラボレーションの洗練(Team Foundation Server 2008)、デザイナの取り込み(Expression)
- Visual Studio 2010:アジャイルプロセスの導入(チームテンプレート)、テストのシステム化(Visual Studio Test)
- Visual Studio vNext:運用の取り込み(DevOps)
Visual Studioは世界中で販売されているソフトウェアなので、そこに盛り込まれる機能は世界の標準になりうる機能である。これらの機能を理解することで、ソフトウェア開発の流れに乗っていられるのではないか。ただし、これほど大きなソフトウェアに先進的な技術が載るとは考えづらいので、「なぜこのバージョンにこの機能が載ったのか」が理解できないと、それ以降のソフトウェア開発の流れには取り残されていくのではないか。
参考
DevOps
*1:early and continuous delivery of valuable software.