เราตัดสินแบบนั้นได้อย่างไร?
(stdy.blog)ประสบการณ์ pair debugging ล่าสุด
- ปัญหาที่ว่า “ผลลัพธ์จากการทำแอ็กชันบางอย่างกับหลายไอเท็มบนหน้ารายการ บางครั้งไม่สะท้อนในหน้าของไอเท็มเดี่ยว” ยังหาทางทำให้เกิดซ้ำไม่ได้
- พอได้ยินก็เสนอทันทีว่า ลองตรวจดูกรณีที่ “เข้าไปยังหน้าของไอเท็มเดี่ยวก่อน แล้วกลับมาที่หน้ารายการ จากนั้นค่อยทำแอ็กชันนั้น” ซึ่งก็เป็นเส้นทางการเกิดซ้ำที่ถูกต้อง
เซสชัน pair debugging จบลงในเวลาไม่ถึง 5 นาที แต่ก็ทำให้เกิดคำถามขึ้นมา
- ฉันสังเกตเรื่องนี้ได้อย่างไร แล้วทำไมเพื่อนร่วมงานคนนี้ถึงสังเกตไม่ได้?
- จะช่วยยกระดับความสามารถของคนนี้อย่างมีประสิทธิภาพได้อย่างไร?
พอทำ code review หรือทำงานเป็นคู่ในฐานะซีเนียร์ ก็เจอเรื่องแบบนี้บ่อยอย่างเงียบ ๆ
- ซีเนียร์จับจุดที่ดูแปลก ๆ ได้อย่างรวดเร็ว และเสนอแนวทางปรับปรุงที่ฟังขึ้น
- จูเนียร์ก็รับไปแบบว้าว ๆ
- ครั้งต่อไป แม้จะไม่เหมือนเดิมเป๊ะ แต่ก็เกิดปัญหาคล้าย ๆ กันอีก
- ซีเนียร์ก็มองออกอีก และเสนอวิธีปรับปรุงอีกครั้ง
- จูเนียร์เข้าใจมากขึ้นเล็กน้อย และพลาดน้อยลง แต่ก็ยังไม่ได้พัฒนาเร็วถึงระดับที่ฉันคาดหวัง
สาเหตุคือมีการส่งต่อเพียงโซลูชันของซีเนียร์ แต่กระบวนการรับรู้ที่อยู่ข้างในนั้น หรือก็คือ “เขาตัดสินและตัดสินใจแบบนั้นได้อย่างไร” ไม่ได้ถูกถ่ายทอดไปด้วย
CDM ที่ Gary Klein พัฒนาขึ้น เป็นวิธีที่ดีในการวิเคราะห์กระบวนการรับรู้ลักษณะนี้ได้ค่อนข้างรวดเร็ว แม้ทำด้วยตัวเองก็ได้
- Cues : ตอนนั้นคุณเห็น ได้ยิน ได้กลิ่น อะไรอยู่บ้าง ...?
- Knowledge, Source : คุณใช้ข้อมูลอะไรในการตัดสินใจครั้งนี้ และได้ข้อมูลนั้นมาอย่างไร?
- Analogues : คุณนึกถึงประสบการณ์ก่อนหน้าอะไรบ้างไหม?
- Goals : เป้าหมายเฉพาะของคุณในตอนนั้นคืออะไร?
- Options : มีแนวทางการกระทำอื่นใดที่คุณพิจารณา หรือที่เปิดให้คุณเลือกได้บ้าง?
- Basis : ตัวเลือกนี้ถูกเลือกอย่างไร/ตัวเลือกอื่นถูกปฏิเสธอย่างไร? กำลังยึดตามกฎอะไรอยู่?
- Experience : ต้องมีการฝึกหรือประสบการณ์แบบใดจึงจะจำเป็นหรือเป็นประโยชน์ต่อการตัดสินใจครั้งนี้?
- Aiding : หากการตัดสินใจนั้นไม่ใช่ทางเลือกที่ดีที่สุด การฝึก ความรู้ หรือข้อมูลแบบใดจะช่วยได้?
- Tools : ตอนตัดสินใจครั้งนี้ มีเครื่องมือใดที่ช่วยต่อการตัดสินใจนั้นโดยเฉพาะหรือไม่?
- Time Pressure : มีแรงกดดันด้านเวลามากน้อยแค่ไหนในการตัดสินใจครั้งนี้?
- Situation Assessment : ลองนึกว่าถูกขอให้สรุปสถานการณ์ ณ จุดนี้ให้คนที่เชี่ยวชาญกว่าคุณฟัง คุณจะสรุปสถานการณ์นี้อย่างไร?
- Hypothesis : ถ้าคุณลักษณะสำคัญอย่างหนึ่งของสถานการณ์นี้แตกต่างออกไป มันจะทำให้การตัดสินใจของคุณเปลี่ยนไปอย่างไร?
สรุป
- ในการรีวิว GitHub PR ซึ่งโดยมากเกิดขึ้นแบบอะซิงโครนัส ความรู้ฝังลึกของผู้รีวิวจะถูกเผยออกมาน้อยกว่ามาก
- ในจังหวะแบบนี้ หากตั้งใจถามคำถาม CDM กับตัวเอง และใส่เข้าไปด้วยว่า “ฉันคิดคอมเมนต์นี้ขึ้นมาได้อย่างไร” ก็เชื่อว่าทั้งผู้รีวิวและผู้เขียน PR จะพัฒนาความสามารถได้เร็วขึ้นมาก
- แน่นอนว่า นอกเหนือจากงานพัฒนาแล้ว ไม่ว่าพื้นที่ใดที่ต้องใช้ภาระงานทางการรับรู้ ก็สามารถนำ CDM ไปใช้ได้ดีมาก ไม่ว่าฉันจะเป็นคนสอนหรือเป็นคนที่ได้รับการสอน
1 ความคิดเห็น
การแปลบางส่วนของ CDM (DeepL):