現代では継続的にソフトウェアをリリースすることが必須になっています。本書は、継続的なソフトウェアのデリバリーを実現するためのビルド、デプロイ、テスト、リリースの自動化についての本格的な解説書です。概要サンプルリンク用タグ関連サイト本書の関連ページが用意されています。本書では、アイデアが実際のビジネス的価値になるまでの時間――つまりサイクルタイム――を短く安全にすることによって、ソフトウェアのデリバリーに革命を起こす方法を説明する。ソフトウェアというものは、ユーザーの手に渡るまでは何も価値を生み出さない。これはわかりきったことだが、ほとんどの組織ではソフトウェアを本番環境にリリースするプロセスは、手作業で行われて集中力を要し、エラーの起こりやすい、リスクのあるものなのだ。一般にはサイクルタイムが数ヶ月単位だと言ったが、もっと時間のかかる企業も多い。年以上だという企業すら、ないわけではないのだ。週間遅れるごとに数百万ドルのチャンスロスが発生しているかもしれないのだ。サイクルタイムが長すぎることに伴う問題はこれだけではない。それにもかかわらず、ソフトウェアのデリバリーに伴うリスクを下げる仕組みやプロセスは、今日のソフトウェア開発プロジェクトのほとんどにとって未だ当たり前のことにはなっていない。我々の目的は、開発者の手から本番へソフトウェアをデリバリーするプロセスを、信頼でき、あらかじめ何が起こるかわかり、可視化され、大部分が自動化されたものにすることにある。それによってリスクも適切に理解されて定量化可能になる。本書で記述したアプローチを用いれば、あるアイデアを思いついてからそれを実装した動くコードを本番にデリバリーするまで、ものの数分から数時間でできるようになり、同時にデリバリーされるソフトウェアの品質も改善できるようになる。うまく動くソフトウェアをデリバリーすることに伴うコストの大半は、最初のリリースの後に発生する。それはサポートや保守、新しいフィーチャの追加、障害の修正などにかかるコストだ。ソフトウェアがイテレーティブなプロセスによってデリバリーされる場合には特にそうだ。その場合、最初のリリースでは顧客に価値をもたらす機能は最低限しか含まれていない。して、本書のタイトルである「継続的デリバリー」は、アジャイルマニフェストの最初の条文からとられている。「我々が最も価値を置くのは、価値あるソフトウェアを早いうちから継続的にデリバリーすることを通じて顧客を満足させることである」。この条文は現実を反映している。ソフトウェアを成功させることを思えば、最初にリリースすることはデリバリープロセスを成功させる上で始まりにしかすぎない。本書で記述しているテクニックはどれも、ソフトウェアの新しいバージョンをユーザーにデリバリーする際の時間やリスクを低くするものだ。そのためにフィードバックを増やし、デリバリーにかかわる開発者やテスター、運用担当者間の共同作業を改善するのである。したテクニックを用いることによって、バグフィックスであれ、新しいフィーチャの追加であれ、アプリケーションを修正する必要があるときに、アプリケーションを修正してからその結果を使えるようにデプロイするまでの時間をできる限り短く保てるようになる。問題はまだ容易に修正できる早期に発見され、関連するリスクも適切に理解される。(「序文」より)※本書は、株式会社KADOKAWA/アスキー・メディアワークスより刊行された『継続的デリバリー』を再刊行したものです。再刊行にあたり、旧版刊行後に発見された誤植等を修正しております。Spectrumに出会って以来、ジェズ・ハンブルはコンピュータと電子工学に魅せられている。その後、エイコーン・コンピュータやARMアセンブラ、BASICなどを経て大人になり、仕事に就く。ジェズがITの世界に入ったのは2000年のことだった。ドットコム・クラッシュが起きたときである。そのとき以来、彼は幅広く仕事をしている。開発者、システム管理者、トレイナー、コンサルタント、マネージャー、そしてスピーカー。ジェズはさまざまなプラットフォームや技術を扱い、非営利団体やテレコム、金融サービス、オンラインレンタル企業などのコンサルを行っている。Studioで働いている。オクスフォード大学の物理学および哲学の学士と、ロンドン大学東洋アフリカ学部民族音楽学の修士を有している。現在は、サンフランシスコに妻と娘と住んでいる。Farleyデイブ・ファーレイがコンピュータを好きになってから、30年近くが経つ。その経験の中で、デイブはほとんどの種類のソフトウェアを作ってきた。ファームウェアから、OSとデバイスドライバの整備を経て、ゲームや商用アプリケーションまで。あらゆる種類や規模のものを手がけてきたのだ。大規模な分散システムに初めて携わったのは20年以上前のことだ。疎結合でメッセージベースのシステムの開発の研究を行ったのだ。SOAの先駆けである。デイブは、複雑なソフトウェアを開発するチームリーダーを英国とアメリカで幅広く経験している。その中には、大規模なものもあれば、小規模なものもあある。デイブはアジャイル開発テクニックのアーリーアダプターであり、1990年代前半より商用プロジェクトで、イテレーティブな開発や継続的インテグレーション、かなりの量の自動テストなどを採用してきた。デイブのアジャイル開発に対するアプローチは、ThoughtWorksに勤めた四年半で磨き上げられた。ThoughtWorksの中でも最大で最も挑戦的なプロジェクトのいくつかで、技術的なリーダーを務めたのだ。Exchange(LMAX)に勤務している。この組織は、世界でも最も高性能な金融為替システムを構築している。そこでは、本書で説明されている主なテクニックがすべて使われている。和智右桂オブジェクト指向を愛する思想系プログラマ。開発、テストまでロールにとらわれずに仕事をしている。海外のブログ記事などをときどき翻訳して公開している。訳書に『エリック・エヴァンスのドメイン駆動設計』(翔泳社、共訳)がある。認定プロダクトオーナー、認定スクラムマスター。仕事で使うことになったのがきっかけでオープンソースソフトウェアに興味を持ち、さまざまなプロジェクトでドキュメントの翻訳に携わるようになる。カメラ片手にあちこちに出歩くこと、そしておいしいお酒を飲むことが大好き。第2版』(オライリー・ジャパン)、『オープンソースソフトウェアの育て方』(共訳:オライリー・ジャパン)など。