BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース 継続的デリバリの今後10年を予想する

継続的デリバリの今後10年を予想する

原文(投稿日:2020/02/14)へのリンク

Dave FarleyJez Humble両氏が、これからの10年間で継続的デリバリ(CD/Continuous Delivery)に期待するものについて、DeliveryConfで講演した。CDを成功させるためには、技術、組織、文化という、相互に深く関連した3つのパフォーマンス面を注視する必要がある。DORAのレポートには、技術的プラクティスは変革を推進することが可能だが、それだけでは不十分であることが示されている。

Farley、Humble両氏の著書"Continuous Delivery"から10年の間に、分散トレースやカオスエンジニアリング、トラフィックシフトといった数多くのプラクティスが登場した。氏らの著書は、ソフトウェアデプロイメントパイプラインを取り上げたものだが、現実では環境ごとにパイプラインを構築している組織が多い。これはCDにおけるアンチパターンのひとつだ。氏らの意図は、一方で変更を行えば、関連するソフトウェアがもう一方から出力されるようなメカニズムを構築する、ということにある。言い換えれば、継続的デリバリとは、ユーザからの迅速なフィードバックによって成果物を評価する、という考え方なのだ。Farley氏の言うように、"これらの技術的プラクティスから技術的パフォーマンスの大幅な向上を得るには、チームが大局的な目標を持つ必要があります。CDを促進するためには、それが必要なのです。"

加えて、チームのコラボレーションを向上し、継続的なデリバリを行うのに必要な自律性を持つためには、チームの構成を改善する必要がある — これがFarley氏の言う組織的パフォーマンスであり、あらゆる規模においてCDの実践を成功させる基本となるものだ。さらに、Farley氏によれば、優れた文化的パフォーマンスを持つことが、チームの行動や思考の多様性、技術的な厳密性といった面への集中を促進するための力になる。

これらの面 — 技術的、組織的、文化的パフォーマンス — は、すべてが相互に関連している。"これらがひとつでも欠ければ、組織におけるCDの成功は望めません"、と言うFarley氏は、これら側面の重要性を示すため、アジャイルを導入する際の障害について論じたHarvard Business Reviewマガジンのある記事を引用している。"最も大きな障害は、優れた方法論の必要性やメリットの実証、IT以外でアジャイルが有効であることの証明といったものではなく、経営陣の行動なのです。"

ソフトウェアデリバリの問題に関するもうひとつの考え方は、Stephen Bungay氏の著書"The Art of Action"で紹介されているモデルを用いることだ。組織の目標は成果を上げることだ。そのためには、アクションを期待する成果に結び付けるための計画が必要になる。しかしながら、このモデルには知識レベルや方向性、成果の影響などの面でギャップが存在する。Farley氏のことばを借りれば、"これらのギャップを埋めることはできない"が、作業のバッチサイズを制限するなどの方法を用いて"小さくすることは可能"なのだ。

ソフトウェア開発は複雑性の学習と管理によって進むものなのだから、企業はこれらを最適化しなければならない、とFarley氏は言う。例えば学習の最適化では、フィードバックを取り入れ、漸進的に作業し、実験を重ねて学ぶことができる。複雑性を管理するには、モジュラリティや関心の分離、コヒージョン(cohesion)、疎結合といったアーキテクチャ特性を実践する方法がある。別の言い方をすれば、Farley氏の言うように、"経済的制約の範囲内において、合理的かつ科学的な思考によって実際的な問題を解決する — エンジニアリングとはそういうもの"なのである。

さらにHumble氏は、CDを行う際の迅速なフィードバックの重要性を強調する。その理由は、"企業がイノベーションを起こす場合、その大部分は間違ったアイデア"だからだ。アイデアは変わりやすく不確かなものだから、それが適切かどうかを知るためにフィードバックが重要になる。フィードバックは実験を進める上でも必要だ。Humble氏とNicole Forsgen氏、Gene Kim氏は、著書"Accelerate"の中で、製品のデリバリとフィードバックの重要性について論じている。"製品のデリバリで最も重要なのは、品質に関するフィードバックを迅速に提供するためのエンジンを構築し、開発から製品への決定論的なフローを実現することです。これが、製品のアイデアを実現するためのエンジンなのです"、と述べている。

最後にHumble氏は、CDに望むこととして、"定義に従ったCI(Continuous Integration)が実施される"ことをあげている。これは開発者が最低でも1日1回、マスタブランチへのチェックイン、あるいはフィーチャーブランチのマスタブランチへの統合を行う、という意味だ。ビルドに問題があれば、通常は分単位で修正が行われる。さらに、CIの拠り所として、アプリケーションのコード変更をすべて検証するための、信頼できる自動化されたテスト環境も必要だ。

講演の最後には、今後10年間でCDがどのようなものになるかを引き続き論じるためのオープンスペースが用意され、参加者が課題や成功、自分たちが希望するものを議論した。

参加者: CDの採用に関する経営陣の行動を変えるには、どのような戦略があるでしょうか?

参加者: コスト分析(ROI)を実施して、具体的な数値を示してみてはどうでしょう?経営陣と話す時には、CDにビジネス上の価値があることを理解させることが、CDを正当化する上で役に立ちます。

Farley: 会話のトーンを変えることが大切です。技術的な戦略やデプロイメントパイプラインについて話していたのでは、上位層の心を掴むことはできないでしょう。ビジネスへの影響や改革の可能性について語らなくてはなりません。

参加者: 要するに、ビジネスを変えるためには、感情的な反応を引き出す必要があるのです。ROIによるアプローチをよく目にしますが、それらは有効ではあるものの、文化を変えるにはまったく不十分です。Druckerの言うように"文化は戦略を食う(culture eats strategy for lunch)"のです。

DeliveryConf: この分野で成功を収めた経験はありますか?

参加者: 私の会社では、誰かがよいものを共有部分で作ると、それを分配するような大きなスクリプトを用意するようにしています。私も個人的な時間を使って、パイプラインの改善をボランティアで行っています。

参加者: 多くの人に参加してもらうには、例題を用意することがとても役に立ちます。

DeliveryConf: 今後2~5年間に、どのようなことを望みますか?

参加者: 社内(の従業員)へのトレーニングが重要だと思います。その部分に投資すべきです。

参加者: 私たちがCDプラクティスのメリットを証明して、その財務結果に説明責任を負うのですから、CEOは"そのやり方はこれまでとは違う"と言うのではなく、受け入れて、その先をみてほしいと思いますね。

来年のCDについて、読者はどのような予想を立てているだろうか?

この記事に星をつける

おすすめ度
スタイル

BT