การทำ Retrospective ใน Agile

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 นั้นจะเน้นมองไปที่วิธีการแก้ปัญหาเช่น ในความผิดพลาดที่เกิดขึ้นจะมีเครื่องมืออะไรมาช่วยลดข้อผิดพลาดได้ไหม หรือให้บุคคลที่มีความเชี่ยวชาญเข้ามาช่วยรีวิวอีกรอบหนึ่งได้ไหม ในการอภิปายประเดนต่างๆ ควรย้ำและทำความเข้าใจให้กับคนในทีมถึงเป้าหมายและแนวทางการทำงานเพื่อให้คนในทีมสนใจวิธีการแก้ปัญหา

    ป้ายกำกับ

    แสดงเพิ่มเติม

    บทความยอดนิยม

    Software Development Life Cycle (SDLC) คืออะไร ทำไมจำเป็นต่อการพัฒนาซอฟต์แวร์

    Automation testing หรือ การทดสอบซอฟต์แวร์อัตโนมัติ คืออะไร ทำไมถึงสำคัญต่อการทดสอบซอฟต์แวร์

    ม.ปลายอยากเข้าสายคอม วิทยาการคอม วิศวกรรมคอม เตรียมตัวอย่างไร ต้องมีพื้นฐานอะไรบ้าง

    วิธีเก็บ วิเคราะห์ รวบรวม requirement อย่างไรให้มีประสิทธิภาพ

    Performance Test คือ อะไร วัดประสิทธิภาพของระบบ ล่มไม่ล่ม จะรู้ได้อย่างไร

    8 สิ่งที่ AI จะมาเปลี่ยนโลกในอนาคต

    ถอดรหัสความลับเครื่อง Enigma จุดเริ่มต้นและจุดจบของสงครามโลกครั้งที่ 2