LIFULL Creators Blog

LIFULL Creators Blogとは、株式会社LIFULLの社員が記事を共有するブログです。自分の役立つ経験や知識を広めることで世界をもっとFULLにしていきます。

障害対応力アップを目指す社内ゼミ実施の報告 ~前編~

こんにちは、LIFULL HOME'S事業本部CSユニットサービス開発グループの吉田です。
先日、社内ゼミ(勉強会)にて、障害対応時の心構えと障害対応訓練について共有しました。

このゼミは、プロダクトの開発・運用に関わるメンバーが抱える「もしシステム障害が起きたら、どのように対処すればよいのだろう?」という不安を解消し、適切な対応方法を学ぶ機会として開催したものです。
長年稼働しているシステムで有識者が少ない中、いくつかの障害を乗り越えてきた私たちチームの経験に基づいた障害対応について紹介します。

全体の理解を深めていただくために、本ブログは前編・後編の2つに分かれています。 まずは障害対応についての基礎知識や心得をお話した前編をお届けします。

障害対応はなぜ重要か

プロダクト開発において障害は、ユーザー体験やサービス品質に大きな影響を与える重要な課題です。
障害をゼロにすることは理想的な目標ではあるものの、現実的には避けられません。
では、なぜ障害対応は重要なのでしょうか。私たちが考える以下の3つのポイントを改めて伝えました。

第一に「顧客満足度の向上と維持」です。
障害が発生し不利益を受けるのはサービスを利用しているユーザー、つまり私たちの顧客です。迅速にサービス復旧の対応をし、顧客不満を少しでも抑えることが必要不可欠となります。

次に「信頼の確保とブランドイメージ」の保護です。
障害時の対応が良ければ、顧客はその対応力を評価し、企業への信頼を深めます。個人ではなく、企業として適切に対応することが大切です。

最後に「成長と改善の機会」です。
障害対応のスキルはもちろんですが、起きたことを振り返り、同じ問題が再発しないように次につなげていくことで、組織としての知見も溜まりLIFULL全体の成長につながっていきます。
組織の成長の機会であると考え、前向きに取り組む姿勢も大切な観点となります。

障害対応の目的はシステムを直すことではなく、顧客への影響の低減・早期回復をすることです。 不具合の先に顧客がいることを忘れず、組織として適切に対応する必要があります。 ゼミでは他社事例も紹介しながら、障害が発生したときにどう対応するべきかを説明していきました。

障害対応は初動が大事

LIFULLでは障害対応のマニュアルがあり、基本的な対応フローや緊急度の判断フローが用意されています。

※関連して、障害管理の詳細ついてはこちらの記事にも紹介していますので関心のある方はぜひご一読ください。 www.lifull.blog

このゼミでは障害対応マニュアルに沿った基本的な対応フローを改めて紹介しました。検知・報告受領からふりかえりと再発防止策までの7ステップが障害対応の基本的な流れとなります。
この中でも障害対応はステップ1~5までの初動が非常に重要となります。

まずは影響を最小限に留めるために止血する(=システムを正常に戻す)ところまでが時間との勝負です。
通常のPJよりも冷静かつ的確な対応を求められるので難易度も高くなります。

障害が起きると、つい原因を追求しがちですが、最初に把握するべきは顧客にどのような不具合が起きているか?です。 システム目線ではなく顧客目線での影響範囲の把握が重要となります。

また、サービス停止などを伴う大規模なシステム障害の際は、原因追求よりも早期復旧が最重要であることを意識しておく必要があります。

障害対応の初動をスムーズに進めるための4つの心得

障害対応を円滑に進めるために注意するべきことは何でしょうか。
わたしたちのチームが数々の障害を乗り越え、ふりかえりを実施してきた中で大事にしている4つのポイント(心得)があります。

1. 体制をつくる

特に大規模な障害対応では、明確な役割分担が不可欠です。
障害発生時に迅速に対応チームを編成し、作業者と報告者、最終意思決定者などを区分けしていきます。最初に役割を決めて明確にすることで各メンバーが自分の役割に専念し、全体の対応スピードをを高めることができます。
TODOを整理してタイムラインを決めると、より効率的に対応できるようになります。
統制役がいないと各自がバラバラに動いてしまうので、緊急度の判断がうまくできず、結果、対応に時間がかかったりしてしまいます。
障害対応はサービス目線での判断や広報も必要になるため、企画とエンジニアがワンチームとなって対応していくことが重要です。

2. 情報をオープンな場に集約する

情報の透明性を保ち、一元化することが鍵です。
LIFULLではSlackを利用していますが、影響範囲の広い障害発生時には専用のSlackチャンネルを作成し、全関係者がリアルタイムで最新情報にアクセスできるようにします。
障害の緊急度合いや影響範囲などの情報を集中的に管理して、どのメンバーもすぐに情報をキャッチアップできる状態を作ることで、無駄なコミュニケーションコストを削減します。
一部の人だけが知っている状態を避けるためにも、情報はできるだけオープンな場でひとつに集約することが大切です。

3. 適切なコミュニケーション

障害対応は時間との戦いであり、都度の状況変化を適時に共有することが求められます。
定期的に状況を共有することで、情報伝達の遅延を防ぎます。
そのため誰でも発言しやすいような雰囲気作りも重要となります。
障害対応は焦りや不安から思考がネガティブになりがちですし、普段よりも判断力が落ちることが発生しやすいです。
前向きに障害対応に向き合えるマインドを保つためにポジティブワードを発信することを心がけながら、気軽に相談できる雰囲気づくりを意識しています。
また、テキストコミュニケーションは負荷も高くなるため、Slackのハドルミーティングも積極的に活用するようにしています。

職種間コミュニケーションにおける注意点としては、「サービス目線で話す・聞くことを心がける」です。
不具合の調査や復旧にあたるエンジニアはシステム目線でプロダクトの対応にあたります。
企画はエンジニアからの報告や相談をサービス目線で話し・聞くことで、ユーザーや顧客目線で何が重要か?の認識を揃えていくことができます。
私はエンジニアではなく企画職のため、特にこの視点は大切で、障害対応において意識しているポイントであることを話しました。

4. ステークホルダーへの連携

不具合が発生していることをステークホルダーへ共有することは重要なポイントとなります。
影響を受けている顧客はもちろんですが、営業部門など直接顧客と接する社内ステークホルダーへの報告も忘れてはいけません。
迅速で的確な連携が、ステークホルダーからの信頼を維持するための鍵となります。特に、影響の大きい障害が発生した際には、障害検知の第一報を即座に関係者に知らせることが大切です。
広報や共有が後回しになっては、顧客だけでなく社内からの信頼を失うことに繋がりかねません。

まとめ

私たちのチームでは以上のことをチームメンバー全員が意識し、障害対応に取り組んできました。こうした体験や取り組みの紹介を通じて、組織全体の対応力の向上を目指していきたいと思います。
ゼミの参加者からも「障害対応について深く学びを得ました。」「障害対応の意義や意味について改めて認識することができた。」というような声をいただきました。
今回の学びが実務における障害対応に活かされることを期待しています。
私たちは常に顧客満足度の向上を目指しています。今後も積極的に対応力強化に取り組んでいき、サービスの質をさらに高めていきます。

後編は、実践編として、「障害対応訓練」についてご紹介予定です!お楽しみに。

最後に、LIFULLではともに成長していける仲間を募集しています。
よろしければこちらのページもご覧ください。 hrmos.co hrmos.co