หลังจากได้ไปอบรมและสอบ Certified ScrumMaster กับบริษัท Odd-e ได้เป็น ScrumMaster อย่างเต็มตัวตั้งแต่ต้นปีที่ผ่านมา ก็ได้แต่เป็นที่ปรึกษาคอยตอบปัญหาให้กับคนที่สนใจ Agile มาตลอด จนเมื่ออาทิตย์ที่ผ่านมาก็ได้รับเชิญให้ไปเป็นวิทยากรอย่างเต็มตัวให้กับบริษัทหัวลำโพงและสามย่าน เลยอยากจะมาแชร์ประสบการณ์สอน Agile ครั้งแรกว่าเกิดอะไรขึ้นบ้าง หัวข้อ How to เสร็จเร็ว นี่ก็เกิดมาจากไม่อยากให้ดูเป็นการขาย Agile มากเกินไป เพราะจริงๆ แล้วในความคิดส่วนตัว Agile ไม่ได้บังคับว่าจะต้องทำตาม process ทั้งหมด แต่มันเกิดจากการ inspect ถึงปัญหาและทำการ adapt เพื่อทำการแก้ไขปัญหานั้นๆ และโดยพื้นฐานของบริษัทหัวลำโพงกับสามย่าน สามารถบอกได้เลยว่าแต่ละคนผ่านศึกในโลกของ Software Development มาอย่างโชกโชน แน่นอนว่าจะต้องเจ็บมาเยอะ เหมือนกับผมที่เลิกศรัทธาในการเขียนโปรแกรมและไปหันทำทางด้านดูแลระบบเต็มตัว (ซะงั้น) เพราะฉะนั้นสไลด์ในช่วงแรกจึงเน้นไปที่การมองให้เห็นปัญหาของการทำซอฟต์แวร์ในปัจจุบันเสียก่อน และเสนอแนวทางการแก้ปัญหาอย่างคร่าวๆ ต้องขอขอบคุณ Henrik Kniberg ที่มีสไลด์ระดับเทพเจ้า สามารถชี้ให้เห็นถึงปัญหาและแนวทางวิธีแก้ปัญหาด้วยลายเส้นแบบการ์ตูนที่เป็นแนวของตัวเองมากๆ เลยจะเห็นว่าสไลด์เกือบทั้งหมดเอามาจาก Henrik ทั้งนั้นเลย

สไลด์ที่แสดงให้เห็นถึงข้อดีข้อเสียและความแตกต่างระหว่างทีมแบบ Silo และ Cross-functional

สไลด์ที่แสดงให้เห็นถึงข้อดีข้อเสียและความแตกต่างระหว่างทีมแบบ Silo และ Cross-functional โดย Henrik

 

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

  • แบ่งคนทั้งหมดออกเป็นทีม ทีมละประมาณ 5-6 คน
  • ให้แต่ละทีมเลือก developer มาคนนึงเพียงคนเดียว และคนที่เหลือในทีมเป็นลูกค้า
  • ให้ลูกค้าถือกระดาษคนละแผ่น แล้วคิดชื่อภาษาอังกฤษที่จะให้ dev เขียนเป็นตัวอักษรภาษาอังกฤษ 3-5 ตัวอักษร
  • ให้ dev ถือปากกาหนึ่งแท่งเตรียมไว้เขียนชื่อให้ลูกค้า
  • กฎของลูกค้าคือ จะต้องบอกชื่อภาษาอังกฤษให้ dev เขียนครั้งละ 1 ตัวอักษรเท่านั้น
  • ลูกค้าจะต้องจดเวลาที่เริ่มให้ dev เขียนตัวอักษรตัวแรก และเวลาที่เขียนตัวอักษรตัวสุดท้ายเสร็จบนมุมกระดาษ

พอเตรียมเรียบร้อยแล้ว ให้ลูกค้าเตรียมบอกตัวอักษรภาษาอังกฤษให้ dev เขียนชื่อทั้งหมดสองรอบ โดยกฎที่แตกต่างกันในแต่ละรอบคือ

  • รอบแรกให้ลูกค้าทุกคนสลับกันบอก dev ให้เขียนชื่อทีละหนึ่งตัวอักษรไปเรื่อยๆ จนกว่าจะเสร็จครบหมดทุกคน
  • รอบสองให้ dev เป็นคนขอลูกค้าเขียนชื่อทีละคน โดยให้ลูกค้าบอกตัวอักษรทีละตัวอักษรให้เขียนเช่นกัน จนกว่าจะเสร็จครบหมดทุกคน

ถ้าเราคิดตามหลักการ แน่นอนว่า การเขียนชื่อทีละคนย่อมเร็วกว่ามานั่งสลับกันเขียน แต่เราเคยคิดบ้างไหมว่ามันแตกต่างกันแค่ไหน? รวมถึงความเป็นจริงของ Agile ที่ว่า เราต้องการสิ่งของที่มี value ให้กับลูกค้าให้เร็วที่สุดเพื่อรับ feedback และเตรียมพร้อมรับการ change ให้เร็วที่สุด ขอจบตอนแรกด้วยรูปแสดงเวลาที่ต่างกันและสังเกตเวลาที่เร็วที่สุดที่สามารถส่งมอบงานแรกให้กับลูกค้าได้ แล้วเดี๋ยวมาต่อกับกิจกรรมที่เหลือในตอนต่อๆ ไปครับ 🙂

 

เวลาที่แตกต่างกันของการเขียนชื่อทั้งสองแบบจากทั้ง 4 ทีม