継続的デリバリー(CD)をマスターするための5つのステップGartner Insights Pickup(129)

アジャイルやDevOpsを導入し、要求の厳しいビジネスニーズに迅速に対応できるようにするためには、組織として継続的デリバリー(CD)の文化を身に付ける必要がある。このための5つのステップを紹介する。

» 2019年10月18日 05時00分 公開
[Laurence Goasduff, Gartner]

ガートナーの米国本社発のオフィシャルサイト「Smarter with Gartner」と、ガートナー アナリストらのブログサイト「Gartner Blog Network」から、@IT編集部が独自の視点で“読むべき記事”をピックアップして翻訳。グローバルのITトレンドを先取りし「今、何が起きているのか、起きようとしているのか」を展望する。

 アリアン(仮名)はある大手メーカーのIT担当者。アプリケーション開発に携わっている。ここ数カ月、顧客とビジネス部門の要求に迅速に応えようと、アプリケーションの変更に追われていた。ユーザーのフィードバックを踏まえてアプリケーションを頻繁に更新したり、市場の新たな変化やビジネス戦略の見直しに対応した開発を行ったりしなければならなかった。

 アリアンはこうした中で、継続的デリバリー(CD)プロセスを構築する必要性を理解した。CDは、チームが短いサイクルで有用なソフトウェアの作成を繰り返すとともに、ソフトウェアをいつでも確実にリリースできるようにするソフトウェアエンジニアリングのアプローチだ。

 「CDを実現するには、エンジニアリングにおける規律とコラボレーションにより、コードのコミットから本番環境へのリリースまでのデリバリーパイプラインの完全な自動化を促進する必要がある」と、Gartnerのバイスプレジデントでアナリストのビル・ホルツ氏は説明する。

 さらにホルツ氏は、高いアジリティー(俊敏性)で高品質のアプリケーションを提供するには、アジャイルやDevOpsを単に実践するだけでは不十分だと付け加える。アジャイルやDevOpsの取り組みがどこまで進んでいるかにかかわらず、IT担当者は以下のステップを踏むことでCDを実現できる。

ステップ1:継続的に学習する文化を確立する

 高品質なソリューションのCDを実現するために、以下の取り組みにより、継続的な学習を習慣化し、仕事を効率化して無駄を減らす。

  • 知識とスキルを高める:現在のアプリケーション開発組織の能力をきちんと評価する。この評価を基に、知識、スキル、プロセス、プラクティス(慣行)のギャップ(弱点)を特定する。
  • コミュニティーを形成する:組織としての学習をサポートし、ノウハウを身に付ける重要な機会を提供する活動を進める。
  • 継続的な学習を支援するプラクティスとプロセスを導入する

ステップ2:アジャイルを円滑に進める

 CDに取り組む中で、3つの重要施策を講じる。これらの施策と、その実施上の考慮点を以下に示す。

  • 1.ベースライン指標を策定する:「目標に向かって進んでいるかどうかを知るには、どのような指標が必要か」
  • 2.アジャイル手法を導入、展開する:「自分と同僚はどのような学習やトレーニングを経て、アジャイル手法の導入を始めるべきか」「導入、展開の各ステップでどのような基準に基づいて、『手法の習得状況が次のステップに進めるレベルに達した』と判断するか」
  • 3.バイモーダルITを実装する:「モード1を担うチームは、どのようにアジャイルの恩恵を受けられるか」「モード1とモード2のチームの相乗効果を阻害するボトルネックをどのように防ぐか」「両チーム間の依存関係をどのように減らすか」

ステップ3:アジャイルプラクティスを成熟させる

 「スクラム」「カンバン」「スクラムバン」は、アジャイルプロセスやプラクティスの実践としては不十分だ。これらは、それぞれ目標が異なる管理フレームワークであり、使用可能で有用なソフトウェアを提供する方法のガイダンスは提供しない。

 以下の2つの取り組みを通じて、アジャイルの成熟した実践を図っていく。

  • アジャイル技術プラクティスにより、アプリケーションの品質を作り込むのに役立つ洞察やガイダンスを得るとともに、本番デプロイに向けたシステムの完成度に関するフィードバックを随時受ける
  • 新しいアプリケーションの作成時にコンポーネントアーキテクチャを採用し、レガシーアプリケーションをリファクタリングすることで、CDの実現に必要なアジャイルやDevOpsプラクティスを、アプリケーションでフルに活用できるようにする

ステップ4:インフラを自動化する

 開発、セキュリティおよびデータ管理、インフラ&オペレーション(I&O)チームは、ソリューションをより迅速に提供しなければならないというプレッシャーの増大に直面している。環境の構築と構成に数日間、数週間、さらには数カ月間かかっても許されていた時代は遠い過去になった。

 DevOpsは、これらのチームがアプリケーションの更新頻度を上げるのに役立つ。アジャイルの価値とプラクティスの効果を増幅するからだ。だが、DevOpsチームが成功を収めるには、以下ができることが必要になる。

  • ツールをプロビジョニングし、構成する:開発チームだけでなく、I&Oチームも新しいアーキテクチャを管理、サポートするのに役立つツールのプロビジョニング、構成が必要になる。
  • アプリケーションを実装、デプロイ、管理する:検討すべき点が多々ある。例えば、「コンテナを使うべきか」「コンテナをどのように管理するか」「アプリケーションとデータベースをクラウドに移行するか」といった具合だ。
  • アプリケーションとデータのセキュリティを確保する:これは、セキュリティ担当者にとって重要課題の1つであり続ける。変更頻度の増加に加え、アプリケーションとデータのクラウドへの移行が、ミッションクリティカルな資産の保護をより困難にしている。
  • アプリケーションをモニタリングする:DevOps指向のリーン&アジャイルプラクティスの導入拡大に伴い、アプリケーションパフォーマンスのモニタリングが必要になる。最新リリースの有効性についての定量的フィードバックを迅速に提供するためだ。アプリケーションのパフォーマンスデータは、これらのプラクティスによる本番環境の頻繁な更新に関連するパフォーマンスと可用性の変化への対応について、迅速なトリアージを行えるよう支援する目的でも利用可能にする必要がある。

ステップ5:CDを高度化する

 このステップに到達したら、IT担当者は幾つかの高度な課題に取り組むべきだ。これらの取り組みを成功させるには、アジャイル開発やDevOpsの成熟したプラクティスが必要になる。

  • エンタープライズアジャイルフレームワークを導入する:エンタープライズアジャイルフレームワークの目的は、複雑なアジャイルリリースや進化するソリューションの管理を実現可能にするだけでなく、ルーティン化し、持続可能にすることにある。
  • マイクロサービスアーキテクチャ(MSA)の原則を適用する:MSAは、オンプレミスとクラウドの両方へのアジャイルデリバリーと、スケーラブルなデプロイをサポートする分散アプリケーションの構築を可能にする。導入されると、開発チームのソフトウェア開発とデプロイの在り方に影響を与える。

出典:5 Steps to Master Continuous Delivery(Smarter with Gartner)

筆者 Laurence Goasduff

Director, Public Relations


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。