DevOps 6つの原則とデロイト トーマツ ウェブサービスのカルチャー醸成への取り組み
デロイト トーマツ ウェブサービス(DWS)代表の国本です。
DevOps(デブオプス)とは、ビジネスのスピード加速化を実現するために開発(Dev)と運用(Ops)、そしてビジネスサイド(Biz)が密に連携するためのカルチャー(文化)とその手法を総称する言葉です。
DevOpsはソフトウエアのライフサイクル全般に渡ってビジネス、開発、運用が一体となり、緊密に連携して顧客価値を創出することが最も重要なポイントであり、単なる自動化ツールを導入して終わりという単純なものではありません。
今回のブログでは、デロイト トーマツ ウェブサービス(DWS)がDevOpsカルチャーをどのように捉え、日々醸成し続けているのかを簡単に紹介いたします。
DevOps 6つの原則
まず初めに「DevOpsカルチャー」の理解を深めるため、DevOpsとアジャイルのスキル開発を目的としたオープングローバルコミュニティである DevOps Agile Skills Association (DASA) で提唱されている DevOpsの原則 を取り上げます。
DevOpsの原則は下記6つで構成されています。
原則1. 顧客中心のアクション (Customer-Centric Action)
顧客への価値提供を行動の中心に据え、短期間でのフィードバックループを実現することで製品を常に改善し続ける。
原則2. チームとしての製品ゴールの意識 (Create with the End in Mind)
個人の役割にフォーカスするのではなく、組織・チームが一丸となって製品利用者である顧客へ提供する価値・意義を考え抜き、共有する。
原則3. チームとしての製品に対する責任 (End-To-End Responsibility)
「開発」「運用」などでサイロ化(孤立化)させず、ワンチームとして緊密に連携し、顧客へ提供する製品に責任を持つことで品質を向上させる。
原則4. 機能横断で自立したチーム構造 (Cross-Functional Autonomous Teams)
"テストだけ" "コーディングだけ" などの局所的な関わりだけではなく、製品ライフサイクル全体を通じて対応できる『機能横断型チーム』を編成し、個人とチームの成長促進を実現する。
原則5. 継続的な改善(Continuous Improvement)
失敗から学び、変化する顧客ニーズに素早く対応できるように、ムダを最小限に抑えて、スピード・コスト・デリバリーを最適化することで継続的な改善を重視する。
原則6. 徹底的な自動化と高速化(Automate Everything You Can)
ソフトウェア開発プロセスに加え、ITインフラストラクチャ全体の自動化を考え、継続的インテグレーション、継続的デリバリー、Infrastructure as code(IaC)を取り入れることで、ITプラットフォーム全体を自動化する。
DWSにおけるDevOpsカルチャー醸成の取り組み
DevOps 6つの原則を体現するためには、製品に携わる組織・チームメンバーの一人ひとりがDevOpsカルチャーを醸成していく意識を強く持ち、そして実際に行動に移していくことが欠かせません。
DWSチームでも日々「DevOpsカルチャー」を醸成するために下記のような様々な取り組みを実施しています。
アジャイル(スクラム)開発
顧客にとって価値のある製品を作り上げるため、DWSでは『短期間で改善を繰り返す』アジャイル開発(スクラム)を採用しています。
スキルマップに基づき機能横断型のチームを編成し、2週間の間隔で計画立案、開発・テスト、レビューそして振り返りを実施することで、変化する顧客ニーズに素早く対応できる開発を行います。
顧客ビジネスの理解を深めるビジネス・ドメイン勉強会
DWSチームテクノロジー領域のパートナーとしてプロジェクトに臨みますが、顧客への価値を考える上で一定レベルの顧客ビジネスに対する理解は重要と考えています。
そこであまり馴染みがないビジネス領域での製品開発に携わるケースでは、社内で対象ビジネスドメインに対する勉強会をプロジェクトメンバー(場合によっては企業の専門家を交えた上)で実施し、ビジネスドメインへの理解を深める活動に取り組んでいます。
「品質」を深堀りした社内勉強会・分科会
DWSチームで開発に携わる製品の品質向上を目的に、主に「ソフトウェア品質管理」を中心に体系的に学べるオンライン・ラーニングや参加型の講習を教育として取り入れています。
モブプログラミング・ペアプログラミングによるチーム力の底上げ
DWSチームでは全プロジェクトで積極的に複数人でのモブプログラミングやペアプログラミングを実施し、チームメンバーのスキルセットの底上げとナレッジシェアリングを実施しています。
暗黙知を形式知へ転換させるドキュメント基盤
機密情報・個人情報を除き、DWSチームでは全メンバーがアクセスできる共通Markdownドキュメント基盤を運用しています。
各プロジェクトナレッジや技術情報はもちろん、メンバーの趣味・嗜好やプロフィールに関することなど、積極的に形式知化することでチーム内のナレッジシェアリングやコミュニケーション醸成を促進しています。
1 on 1による経験からの学習・内省
隔週に一度、役員が全メンバーとの1 on 1を実施し、相互理解、心身チェック、業務モチベーション、業務での課題、個人のキャリア、戦略伝達などをテーマに内省を実施しています。
ビルド・テスト・デプロイパイプラインによるリリース高速化
DWSでは全てのプロジェクトにおいて、継続的インテグレーション(CI)、継続的デリバリー(CD)のパイプラインを整備しており、ビジネス改善に向けた素早いフィードバックループを実現しています。
Infrastructure as code (IaC) によるコードベースインフラ管理
AWSなどのシステムインフラもIaCを用いてコード化することで、ヒューマンエラー対策と冪等性の確保、そしてプログラムコードと同様の構成管理を実現しています。
チーム内のコミュニケーションを醸成する仕掛け
当ブログでも何度か紹介しておりますが
これらのように、DWSではチームメンバーのコミュニケーションを醸成する仕掛けを導入しており、自動的にチームメンバーを知る機会・接触回数が増加させ、コミュニケーションの敷居を引き下げています。
DevOpsはビジネススピードを加速化する取り組みとして重要
DevOpsは『カルチャー』『プラクティス』『ツール』が三位一体となって初めてビジネススピードの向上を実現できます。
その中でも、DevOpsの原則を前提とした『カルチャー』は最も重要な領域であり、組織の垣根を超えて継続的な取り組みと啓蒙活動を進めていくことが必要です。
デロイト トーマツ ウェブサービス(DWS)では紹介したような自社でのカルチャー醸成への取り組みなども交えて、カルチャーからプラクティスそしてDevOpsツールまで包括的なDevOps導入支援をサービス提供しています。
AWSがDevOpsに関する専門能力を実証する認定 AWS DevOps コンピテンシーパートナー も保有しておりますので、DevOpsに関するサポートをご希望される企業様は是非デロイト トーマツ ウェブサービス(DWS)の コーポレートサイト からお気軽にお問い合わせください。