コンテンツに移動
DevOps & SRE

文化による成功: 失敗を受け入れることがなぜより良いソフトウェア デリバリーを促すのか

2023年11月10日
https://storage.googleapis.com/gweb-cloudblog-publish/images/partners_2022.max-2500x2500.jpg
Google Cloud Japan Team

物事はうまくいかないものです。それが摂理です。物事が思いどおりに進まないとき、重要なのは次に何が起こるかです。

※この投稿は米国時間 2023 年 10 月 28 日に、Google Cloud blog に投稿されたものの抄訳です。

Google と Google の DevOps Research and Assessment(DORA)組織による内部調査によると、信頼の文化、つまり質問やリスクテイク、間違いを許容する文化を奨励するチームの方がパフォーマンスが上向くことがわかっています。機会に対しどのように応じるかということは、組織文化の重要な要素です。また、ソフトウェア デリバリーとチーム全体の効率においては、組織が障害にどのように対応するかが同様に重要となります。

復元力を促進する一定の行動や働き方を採用することで、チームの有効性を高め、組織のパフォーマンスを向上させることができます。

効果的なソフトウェア チーム文化と組織文化を推進するための要素を把握するには

Google では、多くのテクノロジーを開発するだけでなく、テクノロジーがどのように開発されるかについても調査しています。

DORA は、「テクノロジーは組織の成功にどのように役立つのか、どのようにすればソフトウェア デリバリーと運用を改善できるのか」という問いの答えを模索する、学術的かつ統計的に厳密な調査プログラムです。

何百もの Google チームを横断して行うプロジェクト アリストテレスのような社内調査プロジェクトにより、効率性の高いチームの原動力を調べることもできています。

このブログシリーズでは、Google が長年かけて導き出した調査結果を、組織内での成功を促進するために適用できる 5 つの要素にまとめてご紹介します。

  1. レジリエンス(今回のブログ投稿の主題)
  2. コミュニケーション
  3. コラボレーション
  4. イノベーション
  5. エンパワーメント

早速、レジリエンスとは何か、レジリエンスによってパフォーマンスはどのように向上するか、チームがレジリエンスを高めるにはどうすればよいかについて考えてみましょう。

レジリエンス: 失敗は喜ばしいことです。それについて調査してみましょう。

Google においてレジリエンスとは、スマートにリスクを負い、失敗を率直に共有し、間違いから学ぶことができるチームの能力を指します。レジリエンスを示すチームは、そうでないチームよりも成功していることが実証されています。レジリエンスという特性を持つ組織文化は望ましい成果を推進するという考えは、新しいものではありません。社会学者の Ron Westrum 博士による調査では、物事がうまくいかないときのチームの行動に文化がどのように影響するかについて、3 種類の組織文化が典型として示されており、失敗が犯人捜しや責任転嫁ではなく、質問につながる文化の方がパフォーマンスを重視していることがわかっています。博士はこれらを「生成的」文化と呼んでいます。

この調査は、2014 年に最初の State of DevOps レポートが発行されて以来、DORA の調査結果によって補強されています。2023 年 Accelerate State of DevOps レポートでは、今後も生成的な文化の存在が、ソフトウェア デリバリーと組織のパフォーマンスの向上につながっていくと示されています。これは、DevOps の核心となるものは、根本的には人々とその人々の働き方であるからだと Google は考えています。そして文化を推進していくのは、人です。

https://storage.googleapis.com/gweb-cloudblog-publish/images/Graphic_2.max-1700x1700.png

出典: DORA 2023 年 Accelerate State of DevOps レポート

たとえば、セキュリティ開発の実践を考えてみましょう。Google の調査によると、信頼性が高くレジリエンスのある文化を持つ組織は、そうでない組織に比べて、新たなセキュリティ対策を平均以上に採用する可能性が 1.6 倍高いことがわかっています。レジリエンスの側面を含むこうした生成的な特性がチームの働き方に影響を与え、より望ましいセキュリティ対策につながっていくものと Google は考えています。たとえば、生成的な組織は、とりわけ「失敗を責めない」雰囲気を醸成することによって、セキュリティ問題の報告に伴う不都合やリスクを積極的に最小限に抑える可能性が高くなります。つまり、組織のセキュリティ体制(さらにそれ以外の部分)を改善したいなら、まずチームの文化を評価することを検討すべきだということです。

レジリエンスはさらに、以下の 2 つの考え方に分類できます。

  1. 導入と反復: 開始し、フィードバックを収集し、継続的に改善する
  2. 心理的安全性: チームが対人的にリスクを負っても安全であるという共通の信念

導入と反復: 完璧を求めすぎると、逆に弊害をもたらす

アイデアが 20% しか練られていないのに、それをリーダーに進んで共有できますか?

レジリエンスには、意見を収集し、継続的に改善することも含まれています。Google の調査によると、継続的改善の考え方を採用するチームはパフォーマンスが向上します。これには、すぐに始めること、変化する状況に適応すること、実験することが含まれます。

たとえば、ソフトウェア デリバリーのコンテキストにおいては、ソフトウェアを常にリリース可能な状態にすることを目的とした継続的デリバリーの哲学が大切であることが DORA の調査で示されています。この理想的な状態を維持するには、迅速なフィードバックと障害からの迅速な回復の仕組みを作る必要があります。こうしたフィードバックの仕組みを優先するチームは、ソフトウェア デリバリーのパフォーマンスが向上することがわかっていますGoogle の調査では、小さなバッチで作業することで、チームがそのようなフィードバックを受け取り、活用する方法や、失敗から回復する能力などが向上することも判明しました。

導入と反復が関係するのは、出荷するソフトウェアの改善という点だけではありません。データに基づき合理的である場合は新しい作業方法を自己評価し、方向転換し、採用するという、より全般的なチームの能力にも関係します。必然的に、この実験は成功することも、失敗することもあります。いずれの場合でも、チームが貴重な教訓を学ぶスタンスを持っていることが重要です。

心理的安全性: 失敗を成功と捉える

所属するチームでは公然と失敗しても平気ですか?

Google 社内での広範な調査により、心理的安全性は、効率性の高いチームの重要な基盤となっていることがわかりました。全般的に、Google の調査は、チームの効率性の高さを予測する際に、チームのメンバーが誰であるかよりも、チームのメンバーがどのように対話しているかの方が重要であることを示しています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/Graphic_3.max-700x700.png

重要なものから順番に、これら 5 つの変数がチームの効率性に関して最も重要であることを、Google の研究者は発見しました。出典: Google re:Work ガイド: チームの効率性を把握する

プロジェクト アリストテレスは、「何がチームの効率性を上げるのか」という問いに答えるために、何百もの Google チームを調査しました。得られたデータの統計分析により、最も重要なチームのダイナミクスは心理的安全性、つまりスマートにリスクを取ることが奨励される環境作りであることが明らかになりました。それは、アイデアや質問、間違いについて、互いに恥をかかせたり罰したりすることはないと信頼できる環境です。さらに、DORA の分析によると、これらの実践は Google 社外のチームにも利益をもたらし、心理的安全性の文化からはソフトウェア デリバリー パフォーマンス、組織パフォーマンス、生産性の向上が広く予測されることが明らかになっています。

文化はリーダーシップによりもたらされるものだということを覚えておくことが重要です。DORA の調査では、効果的なリーダーシップがソフトウェア デリバリーの成果に測定可能な大きな影響を与えることが示されています。過失を責めない、心理的に安全な環境を育みたいのであれば、リーダーはチームに必要な信頼、発言力、そして実験して失敗する機会を提供しなければなりません。

どうすればレジリエンスを実践できるか

継続的改善の考え方を採用すると、組織のパフォーマンスを向上させることができます。同様に、組織内で心理的安全性を推進することは、チームでの作業の効率性を高めることにつながります。これが、レジリエンスを活用し、文化を通じて成功を促進するということです。

では、レジリエンスを私たちの行動に実際に適用し、日々の仕事を通じて強化していくとどのようになるのでしょうか?

早期に立ち上げ、成功指標を定義し、(クラウドソーシングを含む)意見を収集し、学んだことを心に留めることによって、プロダクトと仕事のやり方の両方を継続的に改善することができます。この能力は、継続的インテグレーション、自動テスト、継続的デリバリー、モニタリングなどの技術的実践によって裏打ちできます。こうした実践により、安全で迅速な反復と信頼性を可能にする基盤とガードレールを得られます。

また、「プリモーテム(事前分析)」(アイデアが失敗する可能性がある無数の方法を予測する)と、「誰も責めないポストモーテム(事後分析)」(物事が思いどおりに進まなかったとき、そのことを責めるのではなく、改善するには何ができるかについて率直に会話する)の両方を実施することで、失敗を正常化することもできます。たとえば、誰も責めないポストモーテムを含む信頼性の実践を活用しているチームは、従来の運用アプローチを使用しているチームに比べて、生産性と仕事の満足度が高く、燃え尽き症候群のレベルが低いと報告していることがわかっています。これはとりわけ、間違いを犯すことに対する恐怖が続くことが、健康状態の悪化につながる可能性があるためではないかと Google は考えています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/Graphic_4.png.max-1900x1900.png

誰も責めないポストモーテムにより、問題の再発を防ぎ、複雑さが増すことを回避し、間違いや他の人の間違いから学ぶことができます。

このような仕事の進め方は、最新の Google Cloud DevOps Award 受賞者の例でも示されています。こうした組織は、組織の成功と卓越したパフォーマンスを促進するために、上記のような働き方を実践した実績を持っています。たとえば、ある企業が部門横断的なチームを活用してボトルネックを解消し、阻害要因に対処し、コミュニケーションを改善した方法を考えてみましょう。このシリーズの次回のブログでは、これが焦点となります。

それまでの間、ソフトウェア デリバリーや運用などに対する新しいアプローチなど、新しい仕事の進め方を試す際の失敗に備えてください。そして、次に何か問題が起こったらどう対応するか、自問してみてください。詳細については、DevOps クイックチェックと最新の State of DevOps レポートをご覧ください。どちらも dora.dev にあります。

- デジタル トランスフォーメーション コンサルタント James Pashutinski

投稿先