فرهنگ "پسا از حادثه": درس گرفتن از شکست‌ها

"هزینه شکست، آموزش است." - Devin Carraway

به عنوان مهندسان SRE (مهندسی قابلیت اطمینان سایت)، ما با سیستم‌های بزرگ، پیچیده و توزیع‌شده سروکار داریم. دائماً در حال اضافه کردن ویژگی‌های جدید و سیستم‌های تازه به خدماتمان هستیم. با این حجم کار و سرعت تغییرات، حوادث و قطعی‌ها اجتناب‌ناپذیرند. وقتی حادثه‌ای رخ می‌دهد، مشکل اصلی را حل می‌کنیم و خدمات به حالت عادی برمی‌گردند. اما اگر یک فرآیند رسمی برای درس گرفتن از این حوادث نداشته باشیم، ممکن است بارها و بارها تکرار شوند.

اگر جلوی این اتفاقات گرفته نشود، حوادث می‌توانند پیچیده‌تر شوند یا حتی به صورت آبشاری عمل کنند و سیستم و اپراتورها را از پا درآورند و در نهایت به کاربرانمان آسیب برسانند. به همین دلیل، "پسا از حادثه" (Postmortem) ابزاری حیاتی برای SREهاست.

مفهوم "پسا از حادثه" در صنعت فناوری به خوبی شناخته شده است. "پسا از حادثه" یک گزارش مکتوب از یک حادثه، تأثیر آن، اقداماتی که برای کاهش یا رفع آن انجام شده، دلایل اصلی (Root Cause) و اقدامات بعدی برای جلوگیری از تکرار حادثه است. در ادامه، معیارهای تصمیم‌گیری برای انجام "پسا از حادثه"، برخی از بهترین شیوه‌ها و نکاتی برای ایجاد یک فرهنگ "پسا از حادثه" بر اساس تجربه‌هایی که در طول سال‌ها به دست آورده‌ایم، آورده شده است.


فلسفه گوگل در مورد "پسا از حادثه"

هدف اصلی از نوشتن یک "پسا از حادثه" این است که مطمئن شویم حادثه ثبت شده است، تمام دلایل اصلی مؤثر به خوبی درک شده‌اند و مهم‌تر از همه، اقدامات پیشگیرانه مؤثر برای کاهش احتمال و/یا تأثیر تکرار آن انجام شده است. تیم‌های ما از تکنیک‌های مختلفی برای تحلیل دلایل اصلی استفاده می‌کنند و بهترین تکنیک را برای خدمات خود انتخاب می‌کنند.

انتظار می‌رود پس از هر رویداد ناخواسته مهمی، یک "پسا از حادثه" نوشته شود. نوشتن "پسا از حادثه" تنبیه نیست، بلکه یک فرصت یادگیری برای کل شرکت است. البته، فرآیند "پسا از حادثه" هزینه زمانی و تلاشی دارد، بنابراین ما در انتخاب زمان نوشتن آن دقت می‌کنیم. تیم‌ها انعطاف‌پذیری داخلی دارند، اما دلایل رایج برای شروع "پسا از حادثه" عبارتند از:

  • قطعی یا کاهش عملکرد قابل مشاهده برای کاربران بیش از یک آستانه مشخص

  • هر نوع از دست دادن داده

  • مداخله مهندس کشیک (مانند بازگرداندن انتشار، تغییر مسیر ترافیک و غیره)

  • زمان حل مشکل بیش از یک آستانه مشخص

  • شکست در نظارت (که معمولاً به معنای کشف دستی حادثه است)

مهم است که معیارهای "پسا از حادثه" قبل از وقوع حادثه تعریف شوند تا همه بدانند چه زمانی "پسا از حادثه" ضروری است. علاوه بر این دلایل عینی، هر ذی‌نفعی می‌تواند برای یک رویداد درخواست "پسا از حادثه" کند.

"پسا از حادثه" بدون سرزنش یکی از اصول فرهنگ SRE است. برای اینکه یک "پسا از حادثه" واقعاً بدون سرزنش باشد، باید بر شناسایی دلایل مؤثر در حادثه تمرکز کند، بدون اینکه فرد یا تیمی را به خاطر رفتار بد یا نامناسب مقصر بداند. یک "پسا از حادثه" که بدون سرزنش نوشته می‌شود، فرض می‌کند که همه افراد درگیر در حادثه، نیت خوبی داشته‌اند و با اطلاعاتی که در اختیار داشته‌اند، کار درست را انجام داده‌اند. اگر فرهنگ انگشت‌نما کردن و شرمسار کردن افراد یا تیم‌ها به خاطر انجام کار "اشتباه" حاکم باشد، مردم از ترس تنبیه، مشکلات را مطرح نخواهند کرد.

فرهنگ بدون سرزنش از صنایع مراقبت‌های بهداشتی و هوانوردی سرچشمه می‌گیرد، جایی که اشتباهات می‌توانند کشنده باشند. این صنایع محیطی را پرورش می‌دهند که در آن هر "اشتباه" به عنوان فرصتی برای تقویت سیستم دیده می‌شود. وقتی "پسا از حادثه‌ها" از تخصیص تقصیر به بررسی دلایل سیستمی تغییر می‌کنند که چرا یک فرد یا تیم اطلاعات ناقص یا نادرست داشته‌اند، می‌توان برنامه‌های پیشگیری مؤثر را اجرا کرد. شما نمی‌توانید "مردم" را اصلاح کنید، اما می‌توانید سیستم‌ها و فرآیندها را اصلاح کنید تا بهتر از افرادی که در طراحی و نگهداری سیستم‌های پیچیده انتخاب‌های درست می‌کنند، حمایت کنید.

وقتی یک قطعی رخ می‌دهد، "پسا از حادثه" صرفاً به عنوان یک تشریفات نوشته نمی‌شود که فراموش شود. بلکه مهندسان "پسا از حادثه" را فرصتی می‌بینند تا نه تنها یک ضعف را برطرف کنند، بلکه گوگل را به طور کلی مقاوم‌تر سازند. در حالی که یک "پسا از حادثه" بدون سرزنش صرفاً با انگشت‌نما کردن، سرخوردگی را تخلیه نمی‌کند، اما باید نقاط و راه‌هایی را که خدمات می‌توانند بهبود یابند، مشخص کند.

بهترین شیوه: از سرزنش دوری کنید و سازنده بمانید.

نوشتن "پسا از حادثه" بدون سرزنش می‌تواند چالش‌برانگیز باشد، زیرا قالب "پسا از حادثه" به وضوح اقداماتی را که منجر به حادثه شده‌اند، شناسایی می‌کند. حذف سرزنش از "پسا از حادثه" به مردم اطمینان می‌دهد که مسائل را بدون ترس از عواقب، مطرح کنند. همچنین مهم است که تولید مکرر "پسا از حادثه" توسط یک شخص یا تیم را انگ نزنیم. فضای سرزنش خطر ایجاد فرهنگی را دارد که در آن حوادث و مشکلات پنهان می‌شوند و منجر به ریسک بیشتر برای سازمان می‌شوند.


همکاری و اشتراک دانش

ما برای همکاری ارزش قائلیم و فرآیند "پسا از حادثه" نیز از این قاعده مستثنی نیست. روند کار "پسا از حادثه" شامل همکاری و اشتراک دانش در هر مرحله است.

اسناد "پسا از حادثه" ما در گوگل، Google Docs هستند، با یک قالب داخلی. صرف نظر از ابزار خاصی که استفاده می‌کنید، به دنبال ویژگی‌های کلیدی زیر باشید:

  • همکاری بلادرنگ: امکان جمع‌آوری سریع داده‌ها و ایده‌ها را فراهم می‌کند. در مراحل اولیه ایجاد "پسا از حادثه" ضروری است.

  • سیستم باز کامنت‌گذاری/حاشیه‌نویسی: جمع‌آوری راه‌حل‌ها را آسان می‌کند و پوشش را بهبود می‌بخشد.

  • اعلان‌های ایمیل: می‌توانند به همکاران درون سند هدایت شوند یا برای مشارکت دیگران استفاده شوند.

نوشتن "پسا از حادثه" همچنین شامل بررسی و انتشار رسمی است. در عمل، تیم‌ها پیش‌نویس اولیه "پسا از حادثه" را به صورت داخلی به اشتراک می‌گذارند و گروهی از مهندسان ارشد را برای ارزیابی پیش‌نویس از نظر کامل بودن دعوت می‌کنند. معیارهای بررسی ممکن است شامل موارد زیر باشد:

  • آیا داده‌های کلیدی حادثه برای آینده جمع‌آوری شده است؟

  • آیا ارزیابی‌های تأثیر کامل هستند؟

  • آیا دلیل اصلی به اندازه کافی عمیق بوده است؟

  • آیا برنامه عملیاتی مناسب است و رفع اشکالات حاصله در اولویت مناسبی قرار دارند؟

  • آیا نتیجه را با ذی‌نفعان مربوطه به اشتراک گذاشتیم؟

پس از تکمیل بررسی اولیه، "پسا از حادثه" به طور گسترده‌تر، معمولاً با تیم مهندسی بزرگ‌تر یا در یک لیست پستی داخلی به اشتراک گذاشته می‌شود. هدف ما این است که "پسا از حادثه" را با گسترده‌ترین مخاطبان ممکن که از دانش یا درس‌های آموخته شده بهره‌مند می‌شوند، به اشتراک بگذاریم.

بهترین شیوه: هیچ "پسا از حادثه‌ای" بدون بررسی نماند.

یک "پسا از حادثه" بدون بررسی، مثل این است که هرگز وجود نداشته است. برای اطمینان از اینکه هر پیش‌نویس کامل شده بررسی می‌شود، ما جلسات بررسی منظم برای "پسا از حادثه‌ها" را تشویق می‌کنیم. در این جلسات، مهم است که هرگونه بحث و نظر در حال انجام را به پایان برسانیم، ایده‌ها را ثبت کنیم و وضعیت را نهایی کنیم.

پس از رضایت افراد درگیر از سند و اقدامات آن، "پسا از حادثه" به یک مخزن تیمی یا سازمانی از حوادث گذشته اضافه می‌شود. اشتراک‌گذاری شفاف، پیدا کردن و درس گرفتن از "پسا از حادثه" را برای دیگران آسان‌تر می‌کند.


معرفی فرهنگ "پسا از حادثه"

معرفی فرهنگ "پسا از حادثه" به سازمان شما آسان‌تر از گفتن آن است؛ چنین تلاشی نیاز به پرورش و تقویت مستمر دارد. ما فرهنگ "پسا از حادثه" مشارکتی را از طریق مشارکت فعال مدیریت ارشد در فرآیند بررسی و همکاری تقویت می‌کنیم. مدیریت می‌تواند این فرهنگ را تشویق کند، اما "پسا از حادثه‌های" بدون سرزنش در حالت ایده‌آل محصول خودانگیزشی مهندسان هستند. در راستای پرورش فرهنگ "پسا از حادثه"، مهندسان SRE به طور فعال فعالیت‌هایی را ایجاد می‌کنند که آنچه را در مورد زیرساخت سیستم یاد می‌گیریم، منتشر می‌کنند. برخی از نمونه فعالیت‌ها عبارتند از:

  • "پسا از حادثه" ماه: در یک خبرنامه ماهانه، یک "پسا از حادثه" جالب و خوب نوشته شده با کل سازمان به اشتراک گذاشته می‌شود.

  • گروه "پسا از حادثه" در Google+: این گروه "پسا از حادثه‌های" داخلی و خارجی، بهترین شیوه‌ها و نظرات در مورد "پسا از حادثه‌ها" را به اشتراک می‌گذارد و بحث می‌کند.

  • باشگاه‌های مطالعه "پسا از حادثه": تیم‌ها باشگاه‌های مطالعه منظم "پسا از حادثه" را برگزار می‌کنند، که در آن یک "پسا از حادثه" جالب یا تأثیرگذار (همراه با خوراکی‌های خوشمزه) برای گفتگوی آزاد با شرکت‌کنندگان، غیرشرکت‌کنندگان و گوگلرهای جدید در مورد آنچه اتفاق افتاده، درس‌هایی که حادثه آموخته و پیامدهای حادثه آورده می‌شود. اغلب، "پسا از حادثه" در حال بررسی ممکن است ماه‌ها یا سال‌ها قدمت داشته باشد!

  • چرخ بدبختی (Wheel of Misfortune): مهندسان SRE جدید اغلب با تمرین چرخ بدبختی روبرو می‌شوند، که در آن یک "پسا از حادثه" قبلی با بازی مهندسانی که نقش‌های تعیین شده در "پسا از حادثه" را بازی می‌کنند، بازسازی می‌شود. فرمانده حادثه اصلی حضور دارد تا تجربه را تا حد امکان "واقعی" کند.

یکی از بزرگترین چالش‌های معرفی "پسا از حادثه" به یک سازمان این است که برخی ممکن است ارزش آنها را با توجه به هزینه آماده‌سازی آنها زیر سوال ببرند. استراتژی‌های زیر می‌توانند در مواجهه با این چالش کمک کنند:

  • "پسا از حادثه‌ها" را به آرامی وارد جریان کار کنید. یک دوره آزمایشی با چندین "پسا از حادثه" کامل و موفق ممکن است به اثبات ارزش آنها کمک کند، علاوه بر کمک به شناسایی معیارهایی که باید "پسا از حادثه" را آغاز کنند.

  • اطمینان حاصل کنید که نوشتن "پسا از حادثه‌های" مؤثر یک عمل rewarded و celebrated است، هم به صورت عمومی از طریق روش‌های اجتماعی ذکر شده در بالا، و هم از طریق مدیریت عملکرد فردی و تیمی.

  • تشویق به تأیید و مشارکت رهبری ارشد. حتی لری پیج نیز در مورد ارزش بالای "پسا از حادثه‌ها" صحبت می‌کند!

بهترین شیوه: افراد را برای انجام کار درست به صورت آشکار تشویق کنید.

لری پیج و سرگی برین، بنیانگذاران گوگل، TGIF را برگزار می‌کنند، یک جلسه هفتگی همگانی که به صورت زنده در دفتر مرکزی ما در مانتین ویو، کالیفرنیا برگزار می‌شود و به دفاتر گوگل در سراسر جهان پخش می‌شود. یک TGIF در سال 2014 بر "هنر "پسا از حادثه"" تمرکز داشت، که در آن بحث SRE در مورد حوادث با تأثیر بالا به نمایش گذاشته شد. یکی از مهندسان SRE در مورد انتشار اخیرش صحبت کرد؛ علی‌رغم آزمایش کامل، یک تعامل غیرمنتظره به طور ناخواسته یک سرویس حیاتی را به مدت چهار دقیقه از کار انداخت. این حادثه فقط چهار دقیقه طول کشید زیرا مهندس SRE حضور ذهن داشت تا بلافاصله تغییر را بازگرداند و از یک قطعی بسیار طولانی‌تر و در مقیاس بزرگ‌تر جلوگیری کرد. این مهندس نه تنها بلافاصله پس از آن دو پاداش همکار دریافت کرد، بلکه تشویق‌های زیادی را از سوی مخاطبان TGIF، که شامل بنیانگذاران شرکت و هزاران گوگلر بود، دریافت کرد.

بهترین شیوه: در مورد اثربخشی "پسا از حادثه" بازخورد بخواهید.

در گوگل، ما تلاش می‌کنیم مشکلات را به محض بروز برطرف کنیم و نوآوری‌ها را به صورت داخلی به اشتراک بگذاریم. ما به طور منظم از تیم‌هایمان در مورد اینکه چگونه فرآیند "پسا از حادثه" از اهداف آنها پشتیبانی می‌کند و چگونه می‌توان این فرآیند را بهبود بخشید، نظرسنجی می‌کنیم. ما سوالاتی مانند: آیا این فرهنگ از کار شما پشتیبانی می‌کند؟ آیا نوشتن "پسا از حادثه" تلاش بیش از حد می‌طلبد؟ تیم شما چه بهترین شیوه‌هایی را برای تیم‌های دیگر توصیه می‌کند؟ چه نوع ابزارهایی را دوست دارید که توسعه یابند؟ نتایج نظرسنجی به مهندسان SRE در خط مقدم فرصتی می‌دهد تا درخواست بهبودهایی را ارائه دهند که اثربخشی فرهنگ "پسا از حادثه" را افزایش می‌دهد.

فراتر از جنبه‌های عملیاتی مدیریت و پیگیری حادثه، عمل "پسا از حادثه" در فرهنگ گوگل بافته شده است: اکنون یک هنجار فرهنگی است که هر حادثه مهمی با یک "پسا از حادثه" جامع دنبال می‌شود.


نتیجه‌گیری و بهبودهای مداوم

با اطمینان می‌توانیم بگوییم که به لطف سرمایه‌گذاری مستمر ما در پرورش فرهنگ "پسا از حادثه"، گوگل با قطعی‌های کمتری روبرو می‌شود و تجربه کاربری بهتری را تقویت می‌کند. گروه کاری "پسا از حادثه‌ها در گوگل" یکی از نمونه‌های تعهد ما به فرهنگ "پسا از حادثه‌های" بدون سرزنش است. این گروه تلاش‌های "پسا از حادثه" را در سراسر شرکت هماهنگ می‌کند: گردآوری الگوهای "پسا از حادثه"، خودکارسازی ایجاد "پسا از حادثه" با داده‌های ابزارهای مورد استفاده در طول حادثه، و کمک به خودکارسازی استخراج داده‌ها از "پسا از حادثه‌ها" تا بتوانیم تحلیل روند انجام دهیم. ما توانسته‌ایم در مورد بهترین شیوه‌ها از محصولات مختلفی مانند YouTube، Google Fiber، Gmail، Google Cloud، AdWords و Google Maps همکاری کنیم. در حالی که این محصولات بسیار متنوع هستند، همه آنها "پسا از حادثه‌ها" را با هدف جهانی درس گرفتن از تاریک‌ترین ساعات خود انجام می‌دهند.

با تعداد زیادی "پسا از حادثه" که هر ماه در سراسر گوگل تولید می‌شوند، ابزارهایی برای جمع‌آوری "پسا از حادثه‌ها" مفیدتر و مفیدتر می‌شوند. این ابزارها به ما کمک می‌کنند تا تم‌های مشترک و زمینه‌های بهبود را در مرزهای محصول شناسایی کنیم. برای تسهیل درک و تحلیل خودکار، اخیراً قالب "پسا از حادثه" خود را با فیلدهای فراداده اضافی تقویت کرده‌ایم. کارهای آینده در این زمینه شامل یادگیری ماشینی برای کمک به پیش‌بینی نقاط ضعف ما، تسهیل بررسی حادثه بلادرنگ و کاهش حوادث تکراری است.

تیم‌ها آمادگی بیشتری برای مدیریت بحران و بازگشت به شرایط عادی دارند.


نمونه گزارش


اپیزود جدید پادکست کدشناسی: «Ghost Bike» – فرهنگ یادگیری از اشتباهات در نرم‌افزار

در اپیزود جدید پادکست «کدشناسی» به این موضوع جذاب و حیاتی پرداخته‌ایم و مثال‌هایی از فرهنگ Postmortem در شرکت‌های بزرگ مثل گوگل را بررسی کرده‌ایم. همچنین داستان الهام‌بخش «Ghost Bike» را مرور می‌کنیم؛ نمادی از اهمیت یادگیری از اشتباهات در دنیای واقعی و نرم‌افزار.

🎧 برای شنیدن این اپیزود و یادگیری بیشتر، همین حالا کلیک کنید:

اپیزود هفت: Ghost Bike – فرهنگ یادگیری از اشتباهات