Retrospective คืออะไร?
Retrospective คือการจัดประชุมเพื่อปรึกษาหารือเกี่ยวกับสิ่งที่เกิดขึ้นในอดีตเพื่อหาแนวแก้ไขและเพิ่มประสิทธิภาพในการพัฒนาซอฟต์แวร์ในอนาคต โดยมุ่งเน้นปรับปรุง พัฒนา เรียนรู้ข้อผิดพลาดที่เกิดขึ้น แต่หากสิ่งไหนทำได้ดีอยู่แล้วก็สนับสนุนให้ทำต่อไป
ในกระบวนการพัฒนาซอฟต์แวร์แบบ Agile เรามีเวลาค่อนข้างจำกัด ทำงานเพียงแค่ 1 Sprint ก็ต้อง Release ซอฟต์แวร์แล้ว ดังนั้นเราอาจจะไม่มีเวลามาพูดคุยกันมากนักกับสิ่งที่กำลังทำอยู่ทั้งหมด แต่การทำ Retrospective หรือการย้อนกลับไปดูว่าสิ่งที่ได้ทำไปแล้วนั้นได้ผลดีหรือไม่ หากได้ผลที่ไม่ดีก็หาทางแก้ไขและพัฒนาให้ดีขึ้นในอนาคต
รูปแบบประชุม Retrospective
ผู้จัดประชุม: Scrum Master
ผู้เข้าประชุม: ทีมในการพัฒนาซอฟต์แวร์เช่น Developer BA DevOps QA เป็นต้น
เวลาจัดประชุม: ประมาณ 1 ชั่วโมง
1. เตรียมความพร้อม: เป็นการเตรียมควาพร้อมด้านจิตใจของผู้เข้าร่วมประชุม บรรยากาศควรให้มีการผ่อนคลาย อาจจะมีการพูดเล่น เล่าเรื่องผ่อนคลาย หรือเล่นเกมสั้นๆ เพื่อให้สมาชิกภายในทีมกล้าที่จะพูดหรือแสดงความคิดเห็นอย่างเปิดเผยโดยต้องไม่ถูกมองว่าเป็นการวิจารณ์ แสดงความคิดเห็นเชิงบวกเน้นการแก้ไขปัญหา
2. ทบวนสิ่งต่างๆที่เกิดขึ้น: ในขั้นตอนนี้จะให้ทุกคนนึกย้อนหลังว่า Sprint ที่ผ่านมามีอะไรเกิดขึ้นบ้าง Scrum Master อาจจะแจก Post-it เพื่อให้ทีมได้เขียนสิ่งต่างๆ ปัจจุบันก็มีหลาย Template ให้เลือกใช้ เราสามารถเลือกใช้ Template ไหนก็ได้ที่เหมาะสมกันทีม โดยทุก Template ก็มีจุดประสงเดียวกันคือทบทวนสิ่งต่างๆที่เกิดขึ้นและเพิ่มประสิทธิภาพการทำงานในอนาคต
Template1
- Start คือสิ่งที่ยังไม่ได้เริ่มทำเลยและควรเริ่มลงมือทำได้แล้ว
- Stop สิ่งที่ควรเลิก ป้องกันไม่ให้เกิดขึ้นอีก
- Continue สิ่งที่ควรทำต่อไป เป็นสิ่งที่ดีอยู่แล้ว
Template2
- What did we do well?
- What did we learn?
- What should we do differently next time?
- What did we not understand?
3. เลือกประเดนที่สำคัญ: เราอาจจะมีประเดนที่จะพูดคุยต่างๆมากมายเพราะ 1 คนก็มีหลายประเดนที่เขียนมาใน Post-it บางประเดนอาจจะซ้ำกัน เราไม่สามารถคุยกันในทุกประเดนได้เพราะด้วยระยะเวลาที่จำกัด ดังนั้นเราอาจจะต้องหยิบเพียงบางประเดนมาคุยกันต่อ การที่จะรู้ว่าประเดนไหนเป็นประเดนที่สำคัญ อาจจะมีการหยิบเรื่องนั้นออกมาแล้วจัดให้มีการโหวต เรื่องไหนที่ถูกโหวตมากก็หยิบมาคุยหาแนวทางกันต่อไป ส่วนประเดนรองที่ไม่ได้ถูกหยิบขึ้นมาทำก็จดประเดนนั้นไว้ก่อนและค่อยหาแนวทางแก้ไขต่อไปใน Sprint อื่นๆที่อาจจะไม่ได้มีเรื่องต่างๆให้หารือกันมากนัก
5. หา Action Plan: ในขั้นตอนนี้จะเป็นการหารือถึงข้อมูลเชิงลึกร่วมกัน ช่วยกันคิดว่าเราจะวางแนวทางแก้ไขปัญหาอย่างไร ระบุถึงวิธีการว่าจะมีวิธีการพัฒนา ปรับปรุงอย่างไร ในขั้นตอนนี้ต้องเน้นการหาแนวทางแก้ไข ควรหลีกเลี่ยงข้อผิดพลาดที่จะกล่าวโทษถึงตัวบุคคล การทำ Action Plan นั้นควรระบุบุคคลหรือกลุ่มคนที่จะต้องเข้ามาแก้ไขปัญหานี้ หรืออาจจะกำหนดตัวบุคคลหนึ่งขึ้นมาก่อนเพื่อให้จัดประสานงานไปยังคนอื่นๆที่เกี่ยวข้องต่อไป เพราะหาไม่ระบุตัวบุคคลแล้วปัญหามักจะไม่ได้รับการแก้ไข
6. สรุปการประชุม: ขั้นตอนสุดท้าย Scrum Master จะเป็นผู้กล่าวสรุปว่ามีกี่ Action ที่เราเลือกทำและใครเป็นผู้รับผิดชอบอะไรบ้าง
ข้อควรระวังสำหรับการทำ Retrospective
เนื่องจาก Retrospective เป็นการพูดถึงปัญหา ซึ่งบางปัญหาอาจจะเกิดจากตัวบุคคล ทำให้หลายครั้งอาจจะเกิดการพาดพิงเกิดขึ้น การพาดพิงโดยเฉพาะสังคมไทยนั้นเป็นเรื่องที่ละเอียดอ่อนมาก บางครั้งอาจจะนำไปสู่ความขัดแย้งมากกว่าการแก้ไข ดังนั้นคนที่จัด Meeting จึงมีส่วนสำคัญที่จะทำให้วัตถุประสงค์ของ Retrospective นั้นประสบผลสำเร็จได้ เริ่มจากคนที่จัด Meeting ส่วนใหญ่นั้นควรเป็น Scrum Master เพราะถือเป็นคนกลางที่จะสามารถพูดคุยกับคนในทีมได้อย่างสบายใจ การหยิบยกประเดนต่างๆขึ้นมาควรเป็นการพูดคุยเชิงบวก ไม่ควรกล่าวโทษใครคนใดคนหนึ่ง ในบางประเดนอาจจะเกิดข้อผิดพลาดด้วยตัวบุคคลแต่การทำ Retrospective นั้นจะเน้นมองไปที่วิธีการแก้ปัญหาเช่น ในความผิดพลาดที่เกิดขึ้นจะมีเครื่องมืออะไรมาช่วยลดข้อผิดพลาดได้ไหม หรือให้บุคคลที่มีความเชี่ยวชาญเข้ามาช่วยรีวิวอีกรอบหนึ่งได้ไหม ในการอภิปายประเดนต่างๆ ควรย้ำและทำความเข้าใจให้กับคนในทีมถึงเป้าหมายและแนวทางการทำงานเพื่อให้คนในทีมสนใจวิธีการแก้ปัญหา