失敗を責めないこと(blameless failure)は,失敗を認め,共有し,調べ,修正し,予防する文化の構築から始まる – DevOpsおよびクラウドコンサルタントのEmma Button氏は,QCon London 2019でこのように述べた。CI/CDプラクティスによってシステムの健全性と状態を視覚化すれば,信頼性とオーナシップが向上するだけでなく,問題が発生した時の支援も受けやすくなる。
"非難するものを探す"という,ありがちな落とし穴を避けるためには,失敗を受け入れる態度に加えて,たとえ最高に素晴らしい技術を持ったエンジニアが手がけた最も洗練されたシステムであったとしても,ソフトウェアやシステムの障害への対処は必要である,ということを認識しなければならない,とButton氏は言う。
仕事を進める上で提示すべき誠実さと可視性のレベルを説明するために,氏は,"過酷な透明性(brutal transparency)"ということばを使用した。すべての人たちに対してオープンなコミュニケーション手段を用いれば,たとえチャットやオンラインでのコラボレーションであっても,自らの活動を可視化することは可能だ,と氏は言う。
運用システムのインシデントに対処している場合,問題を抱えている,あるいは支援が必要であるということを,同僚やマネージャに対して公に認めるというのは,時には気まずく感じられることもある。しかしながら,誠実さこそが常に最善のアプローチなのだ,とButton氏は言う。プライベートな会話で問題の規模を隠そうとしてはならない。
CI/CDプラクティスは,チーム内に信頼とオーナシップの文化を育む上で有用である。システムあるいはプロセスの健全性や状態を可視化することは,オーナシップの拡大に役立つ,とButton氏は言う。CI/CDパイプラインを表示する画面を用意することは,問題が起きた時に他の誰かの支援を受けるための最初のステップである。"誤解してほしくないのは,緑/赤表示の画面でも最初の一歩としてはよいのですが,ビルド失敗のオーナシップの共有を促すにはそれ以上のものが必要だ,ということです。"とButton氏は言う。
端的で効率的なテストスイートとビルド,およびデプロイプロセスを構築するということは,問題が発生した時には簡単に,かつ短時間で修正可能であるということに他ならない,と氏は言う。継続的デリバリを採用しているチームは,自分たちがミスを短時間で修正できると知っているからこそ,リスクを取ることに前向きでいられるのだ。
InfoQでは,QCon London 2019の講演を取り上げている。講演を終えたEmma Button氏に話を聞いた。
InfoQ: 責任を問う行為を防ぐために,組織にできることは何でしょうか?
Emma Button: QConの講演では,失敗に対して後ろ指を差すのではなく,それに対応する準備を整えておくようにする上で,組織として可能ないくつかの重要な領域を取り上げました。失敗を責めない態度は,失敗を認めて共有し,全員が失敗の調査と修正,失敗の防止に協力できるような文化を築くことから始まります。問題の予測や発見には監視ツールが,可視化とオーナシップの共有にはCI/CDツールが有効です。調査やコラボレーションにはチャットツールが便利です。また,スクラムやアジャイル,リーンといったプロセスの中にも,失敗の共有から学ぶ上で役立つものがあります。
InfoQ: 実験を行う文化を育むために,リーダには何ができるのでしょう?
Button: 多忙なスケジュールの中で実験や学びの時間を見つけることは大変ですが,それによって得られるものも大きいのです。私が取り組んでいるチームの中には,新たなテクノロジの習得や確信,実験を行う技術プロジェクトのために,全員が毎週数時間を確保しているものもあります。熱意を持った開発者に無償のAmazon EchoとAWSクレジットを与えるだけで,魔法のように革新的な,新しい作品が生み出されるのです!
別のチームでは,チームとしての目標を設定しました – 日々の作業の一部ではない新たなテクノロジに,適切な"安全"を確保した環境でトライする機会を提供したのです。以前の会社では,採用プログラムのためのシングルページアプリケーションをサーバレスで開発することで,クラウド技術のスキルとリーダシップのスキルを学ぶことができました。これはチームの通常業務の一部ではないのですが,企業にとっては間違いなく大きな価値を持つものであると同時に,チーム全員が新たな開発とデプロイメントのツールを習得することができたのです。
InfoQ: 心理的な安全をどうやってチーム内に構築するのですか?
Button: 心理的な安心感という意味ならば – このレベルの安心感であれば,チームの振り返りで確立することができます。スクラムを実践していなくても,定期的に振り返りを行ってください。誠実で建設的なフィードバックを提供することによって,全員が安心を感じられる,より安全な環境を実現するのです。例えば,お互いの前では率直に話し合うのが難しいと感じているチームであれば,オンラインツールを使うことで,正直でタフなフィードバックの共有に慣れるまではある程度の匿名性を確保しておく,という方法もあります。リモートチームでは,オンラインツールを使って振り返りを行うことはよくありますが,リモートでなくても,オンラインツールを使うことで会話のポイントの記録や,そこから会話を始めることが可能になります。こうすることで,自身の懸念を提起するための勇気を持つという,最初のハードルを越えるのです。
InfoQ: 前向きな行動を見せた人たちには,どのような方法で報いていますか?
Button: 私は以前はとても臆病で,声を上げて同僚を称賛することなどできませんでした。米国の大企業で働いたおかげで,そのような不安を克服して,周りの人たちの優れた業績を祝えるようになったのです。報酬は金銭や物理的なものである必要はありません。場合によっては,チームメートの前で公然と"ありがとう"を伝えることが,その人の気持ちを高める上で非常に有効なのです。私が経験したものとしては,"感謝の壁"があります。これは,仲間への肯定的なフィードバックを共有することのできる共通の場所で,他の人がそこから学んだり,祝うことができるのです。