วิธีวิเคราะห์ปัญหาบน production

--

Photo by Pop & Zebra on Unsplash

จากประสบการณ์ของผมที่เคยเห็นทีมแก้ปัญหาบน production มา ทีมที่แก้ได้เร็วหรือช้าขึ้นอยู่กับว่าเค้าใช้เวลามากน้อยแค่ไหนกับการสร้างหลักฐานว่าตัวเองไม่ผิด

ทีมที่แก้ปัญหาได้เร็ว ทุกหน่วยงานจะแบ่งปันข้อมูลต่าง ๆ อย่างโปร่งใส แล้วหาคำตอบแค่ 4 ข้อดังนี้

  • เรามีหลักฐานอะไรบ้างที่บ่งชี้ว่าปัญหากำลังเกิดขึ้นจริง ๆ
  • มีเหตุการณ์หรือความเปลี่ยนแปลงใด ๆ ใน environment หรือแอพพลิเคชันต่าง ๆ ที่อาจจะมีส่วนร่วมในการทำให้ปัญหาเกิดบ้าง
  • เราสามารถสร้างสมมติฐานอะไรได้บ้าง จากเหตุและผลที่เรามี
  • เราจะวัดผลสมมติฐานที่มีอย่างไร ว่าสมมติฐานไหนจริง และเปลี่ยนมันเป็นวิธีแก้ปัญหาได้อย่างไร

ส่วนทีมที่แก้ปัญหาช้ากว่า คือทีมที่ไม่ได้ทำงานในพื้นที่ปลอดภัย จึงต้องจ่ายเวลาส่วนหนึ่งไปสร้างพื้นที่ปลอดภัยด้วยการพิสูจน์ว่าชั้นไม่ผิดก่อน หลังจากที่ฝ่ายงานตัวเองปลอดภัยแล้ว ค่อยเริ่มแก้ปัญหาตาม 4 ขั้นตอนด้านบน ความซับซ้อนคือ บางครั้ง คำถามหรือประโยคบอกเล่าที่เกิดขึ้นในระหว่างที่ทีมกำลังสร้างพื้นที่ปลอดภัยให้ทีมตัวเอง ดันไปทำร้ายความรู้สึก หรือรุกล้ำพื้นที่ปลอดภัยของทีมอื่น ซึ่งจะทำให้ความปลอดภัยโดยรวมลดลงอย่างรวดเร็วมาก และเวลาที่ต้องจ่ายเพื่อสร้างพื้นที่ปลอดภัยโดยรวมจะเพิ่มขึ้นเป็นทวีคูณ

และทีมที่แก้ปัญหาช้าสุดเลย คือทีมที่หยุดแค่หลังจากพิสูจน์ว่าชั้นไม่ผิด เพราะ เกรงใจ ไม่อยากกดดันหน่วยงานที่ผิด ซึ่งตลอดเวลาที่กำลังดำเนินไปนี้ ความเสียหายทางธุรกิจก็ดำเนินต่อไปอยู่ ลูกค้าก็ยังหงุดหงิดอยู่ ซึ่งเป็นโอกาสดีสำหรับคำถามว่า

เราสามารถทำอะไรเพื่อลดความเสียหายทางธุรกิจที่กำลังดำเนินไปได้บ้าง?

เพราะคำถามนี้มักทำให้ทีมเห็นความจริงว่างานเค้าไม่ใช่แค่สร้างซอฟต์แวร์ตามสเปคที่ได้รับมา แต่เป็นการส่งมอบคุณค่าและประสบการณ์การใช้งานที่ดีให้ถึงมือผู้ใช้งานหรือลูกค้า ซึ่งบ่อยครั้งสถานการณ์แบบนี้จะทำให้ทีมเติบโตขึ้น และนำไปสู่การร่วมมือข้ามหน่วยงาน ซึ่งจะเติมความสัมพันธ์และนำไปสู่ความคล่องตัวที่มากขึ้นในอนาคต

--

--