สกรัมเป็น Empirical process

สกรัมเป็น Empirical process

กระบวนการแก้ปัญหาในโลกแบ่งเป็น 2 แบบ แบบแรกคือ Defined process ซึ่งเป็นกระบวนการที่มีขั้นมีตอนชัดเจน เช่น Waterfall เป็นต้น ส่วนแบบที่สองคือ Empirical process หรือ "กระบวนการเชิงประจักษ์" ซึ่งเป็นการทำไปแล้วก็ปรับไปเรื่อย ๆ สกรัมเป็นแบบหลัง

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

ในทางกลับกัน สมมติวันนี้เรามีนัดเลี้ยงรุ่น แล้วร้านที่เพื่อนนัดดันเป็นร้านที่เราไม่รู้จักเลย ต่อให้ระยะทางเท่ากัน แต่วิธีการเช็ค Google Maps เราจะไม่เหมือนเดิม บางคนอาจจะเช็คทุก 10 นาที บางคนอาจจะเช็คทุก 5 นาที หรือบางคนอาจจะเช็คทุกแยก เอาเป็นว่ายิ่งกลัวหลง ก็ยิ่งเช็คบ่อย

ทุกครั้งที่เราหยิบแมพมาดู จะเกิด 1 ใน 2 อย่างขึ้น คือ:

  1. ประจักษ์แล้วว่าเราเข้าใกล้เป้าหมายมากขึ้น เลยได้ความมั่นใจที่จะไปต่อ
  2. ประจักษ์แล้วว่ามาผิดทาง แล้วได้ข้อมูลเพื่อจูงใจให้เราเปลี่ยนทิศทางในการเดินทาง

นี่แหละครับคือกระบวนการเชิงประจักษ์ ซึ่งในกระบวนการแบบนี้เราไม่ถามหาความ “ประหยัด” แต่เราเฝ้าถามตลอดว่า “เราเข้าใกล้เป้าหมายมากขึ้นไหม” ทุก ๆ รอบที่เราขับไปเราได้ระยะทาง แต่ไม่เสมอไปที่ระยะทางนั้นจะทำให้เราเข้าใกล้เป้าหมายมากขึ้น

และสิ่งที่เราเกลียดที่สุดคือการหยิบแมพขึ้นมาแล้วเจอว่า GPS ไม่อัปเดต เพราะเราไม่รู้ว่าเราเข้าใกล้เป้าหมายมากขึ้นไหม เราเลยต้องวัดดวงขับทางเดิมเพิ่มอีกรอบ แล้วก็ค่อยพบว่าเลยแยกไปแล้วจนต้องกลับรถ

เปรียบเทียบกับสกรัม

ทุก ๆ รอบการทำงาน ทีมจะใช้เงินและแรงในการสร้าง Output (ระยะทาง) แต่ไม่เสมอไปที่เราจะเข้าใกล้เป้าหมายมากขึ้น (Outcome) สกรัมเลยมีกิจกรรมที่ชื่อว่า Sprint Review เพื่อให้ทีมเอา Output ที่สร้างมาตรวจสอบว่ามันทำให้ได้ Outcome ที่เราอยากได้ไหม

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

และถ้าไม่มีความเสี่ยงที่จะหลงเลย เราก็กลับไปใช้ Defined process อย่าง Waterfall คือวางแผนรอบเดียวแล้วมุ่งหาความคุ้มค่าและความประหยัด แทนที่จะคอยขับไปเช็คไป

Sprint review มีไว้เพื่อการเรียนรู้

สาเหตุที่สกรัมอยากให้สร้าง Cross-functional team เพราะโครงสร้างของทีมจะสัมพันธ์มากกับปริมาณการเรียนรู้ที่เกิดขึ้นใน Sprint Review เช่น ถ้าในทีมมีทักษะครบตั้งแต่ Business Analysis, UX/UI Design, Frontend Development, Backend Development ไปจนถึง Infrastructure Engineering ทีมก็จะใช้เวลาใน Sprint Review ได้อย่างคุ้มค่ามาก เช่น นั่งดูผล A/B Testing ที่ทำใน Sprint ที่ผ่านมาว่าสมมติฐานไหนทำให้ได้ผลลัพธ์ดีกว่ากัน

แต่ถ้าเปรียบเทียบกับโครงสร้างของอีกทีมที่ยังแบ่งคนทำ Frontend กับ Backend ออกจากกัน Review ของทีม Frontend ก็จะเหลือแค่เช็คว่าของที่ทำมาถูกใจ Product Owner ไหม ซึ่งบางครั้งก็ต่อกับ Mock Data บางครั้งก็ต่อ API จริง ขึ้นอยู่กับว่าทีมไหนทำเสร็จก่อน ทั้งหมดนี้จะ Work บนสมมติฐานว่า Product Owner รู้ดีว่า User อยากได้อะไร ซึ่งสมมติฐานนี้จะถูก Validate อีกทีเมื่อซอฟต์แวร์ถึงมือ User จริง ๆ เท่านั้น

ส่วนทีมหลังบ้าน บ่อยครั้งก็จะมี Tech Lead มานั่งตรวจ API หรือ Audit Log ด้วยสมมติฐานว่าสิ่งที่ทำมาจะเอาไป Integrate กับหน้าบ้านได้โดยไม่ต้องแก้ไขอะไร ซึ่งถ้าไม่จริงก็ต้องกลับมา Rework กันใหม่

สำหรับผม เวลานั่งดู Sprint Review ของทีมที่มีทักษะไม่ครบ ชวนให้ผมนึกถึงจังหวะหยิบมือถือมาเช็ค Map แล้วเจอว่า GPS ไม่อัปเดตเลย คือเงินที่เราลงไปอีก 1 Sprint นี้ ไม่ทำให้ผมรู้เลยว่าเราเข้าใกล้เป้าหมายมากขึ้นหรือน้อยลง ได้แค่รู้ว่าของที่ออกมาตรงใจใครบางคนไหมเฉย ๆ ซึ่งบ่อยครั้งพอไปถึงมือ User จริง ๆ ก็ต้องเปลี่ยนอีก

ที่ผมเอาเรื่องนี้มาแบ่งปันเพราะในยุคนี้ที่ AI ช่วยสร้างและแก้ของได้อย่างรวดเร็วมาก ๆ แล้ว ปัญหาที่เราเคยมีว่าการแก้ของกลับไปกลับมามันวุ่นวาย เลยต้องแยกทีมกันนั่งเพื่อความเสถียร มันน่าจะหายไปแล้วหรือเปล่า? ในยุคที่อยากเพิ่มสักหนึ่งฟิลด์ (Field) ใน API แล้วให้ AI ทำให้ 5 นาทีก็เสร็จ มันจะดีกว่าไหมถ้าเราจะเอาทุกคนที่เกี่ยวข้องในการสร้างผลลัพธ์ (Outcome) มานั่งใกล้ ๆ กัน จะได้แก้ของไปพร้อม ๆ กันได้เลย

ถ้าเราต้องเจอกับ GPS ไม่อัปเดตทุก Sprint เราจะขับรถไปเช็ค Map ไปให้หงุดหงิดใจทำไมนะ สู้ขับรวดเดียวแล้วไปวัดดวงปลายทางเลยดีกว่าไหม? การทำ Waterfall แล้วกำหนด Release สั้น ๆ อาจจะเหมาะกับคุณมากกว่าการทำสกรัมก็ได้นะ

Read more

สกรัมมาสเตอร์ observe ผู้คน

สกรัมมาสเตอร์ observe ผู้คน

ครั้งที่แล้วผมแบ่งปันไปว่าสิ่งหนึ่งที่ผมตอนเป็นสกรัมมาสเตอร์มองหาคือ polarity หรือขั้วตรงข้าม ซึ่งคู่แรกที่ผมแบ่งปันไปคือ ระเบียบ (control) และความสร้างสรรค์ (creative) วันนี้ผมตะมาแบ่งปันอีกรูปแบบหนึ่งของ 2 ขั้วนี้ที่เรียกว่า survive (อยู่รอดปลอดภั

By Chokchai
สกรัมมาสเตอร์ observe polarity

สกรัมมาสเตอร์ observe polarity

polarity คืออะไร? สิ่งหนึ่งที่ผมในฐานะสกรัมมาสเตอร์จะ observe คือ polarity polarity คือขั้วตรงข้าม ดุจ แสงและเงา, centralized และ decentralized, creative และ control, competitive และ collaborative ทุกขั้วมีโอกาสจะเป็นทั้งข้อดีและเสีย อะไรที่มากเกินไปจะไม่ยั่งยืน การ observe polarity เหมือนมองลู

By Chokchai
ระเบียบ และ อิสรภาพ

ระเบียบ และ อิสรภาพ

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

By Chokchai
โอบกอดขั้วตรงข้าม

โอบกอดขั้วตรงข้าม

สัญลักษณ์ที่เป็นที่นิยมสำหรับเต๋าคือสัญลักษณ์หยินหยาง เพราะในความมืดมีความสว่าง และในความสว่างก็มีความมืด ทำให้นึกถึงช่วงต้นของเต๋าบทที่สอง Under heaven all can see beauty as beauty only because there is ugliness.  All can know good as

By Chokchai