
پست اخیر راجع به دستاورد Gen-AI تیم SRE شرکت زالاندو منجر به دریافت فیدبکهایی شد که یکی از آنها ابهام راجع به تعریف دقیق عبارت پست مورتم بود. برای مثال یکی از مخاطبان گفته با اینکه توی شرکتی که مشغول به کار هست به اندازه خوبی ازش دارند همه روزه اما متوجه نشده دقیقا چیه قضیه. به همین دلیل تصمیم گرفتم در این پست توضیح مختصری بنویسم که اصطلاحا همصفحه بشیم راجع به کلیت موضوع.
پست مورتم از خاستگاه علوم تجربی و پزشکی به سایر علوم از جمله IT و نرمافزار اومده و نکته اساس آن یادگیری به منظور اجتناب از تکرار اشتباهات گذشته در پروژهها و کارهای آینده است. یادگیری یعنی ماتریالی از جنس دیتا و اطلاعات باید برای مرور اتفاقات رخ داده در جایی گردآوری بشود. چگونه؟ خیلی بستگی به کانتکست داره اما چه دستی انجام بشه و چه اتوماتیک حاصل کار یه حجم بالکی از دیتا هست که حتما باید مورد تفسیر و تجزیه و تحلیل قرار بگیره تا منجر به یادگیری بشه.

خب تا اینجا مرزهای موضوع رو گرفتیم. حالا کمی بپریم داخل؛ این دیتا اگر در یک سنسور IoT باشه و یا در ذهن اعضای یک تیم باشه کمی شیوه گردآوری و تفسیر آنها متفاوت خواهد بود. لاگهای سرور یا پایپلاینهای سیستم امروزه معمولا به صورت خودکار و بر اساس یه زمانبندی و یا رخدادی خاص جمعآوری میشوند. اما گردآوری اطلاعات داخل مغز انسان مدیای ممکن است دیگری مانند گزارش نوشتاری یا جلسه نیاز داشته باشد. نتیجه این گردآوریها دیتا یا همان پست مورتم هست که هم باید نگهداری شود و هم قابلیت استفاده مجدد داشته باشد و قسمت دشوار کار - یعنی تحلیل پست مورتم یا Postmortem Analysis - هم همین جاست که میتواند موضوع خوبی برای یک گفتگو در آینده باشد.👍😉
ممکن است با اسامی دیگری مانند Root Cause Analysis یا RCA (از مکتب تویوتا)، Retrospective یا همون رتروی خودمون (این واس ماس😜) از اجایل، autopsy (پزشکی)، lesson learned (اصطلاح حوزه مدیریت دانش) و غیره هم اشاره بشه به موضوع که با وجود جزئیات زیادی راجع به هر کدام از آنها کلا زیاد ترسناک نیست قضیه! تنها نکته اینه که برای پست مورتم معمولا انتظار داریم در انتهای فرآیند به طریقی گزارشی داشته باشیم که شاید برای بقیه الزامی نباشه و یا فرمتهای خاصی براش در نظر گرفته باشه هر پرکتیس که البته موضوع این نوشته راجع به اونها نیست. 😉🙏
فقط یادمون باشه بعضی فرآیندها خروجی ملموس ندارن اما در چیزی که عموما میگیم بهش پست مورتم انتظار داریم در انتهای فرآیند به طریقی گزارشی داشته باشیم.
منابع بیشتر برای مطالعه راجع به پستمورتم:👇👇
1. Dingsøyr, T. (2005). Postmortem reviews: purpose and approaches in software engineering. Information and Software Technology, 47(5), 293-303. https://doi.org/10.1016/j.infsof.2004.08.008
2. Schmidt, J. (2024). An IT project postmortem: identifying root causes and eliminating rival explanations. Journal of Information Technology Case and Application Research, 26(4), 318-364. https://doi.org/10.1080/15228053.2024.2426965
3. Politowski, C., Fontoura, L. M., Petrillo, F., & Guéhéneuc, Y. G. (2018). Learning from the past: A process recommendation system for video game projects using postmortems experiences. Information and Software Technology, 100, 103-118. https://doi.org/10.1016/j.infsof.2018.04.003
4. Stålhane, T., Dingsøyr, T., Hanssen, G. K., & Moe, N. B. (2003). Post mortem–an assessment of two approaches. In Empirical Methods and Studies in Software Engineering: Experiences from ESERNET (pp. 129-141). Berlin, Heidelberg: Springer Berlin Heidelberg. https://link.springer.com/content/pdf/10.1007/b11962.pdf#page=138