Done != Complete

ทำให้ เสร็จ(Done) ไม่ใช่ทำให้ สมบูรณ์(Complete) เป็นสิ่งที่ผมพูดกับทีมเป็นประจำ การรู้เข้าใจความแตกต่างระหว่างสองคำนี้บ่งบอก ถึงระดับความเข้าใจในกระบวนการทำงานแบบอไจล์

สิ่งที่ผมมักพบในทีมที่เพิ่งเริ่มทำสกรัมใหม่ๆ คือ
– ไม่ค่อยใส่ใจกับการทำแพลนนิ่ง คือ ใช้เวลาเพียงแค่ สองถึงสามชั่วโมงต่อสปรินต์ซึ่งยาวสองถึงสามสัปดาห์
– ไม่มี นิยามความเสร็จ (Definition of Done)
– ไม่ใส่รายละเอียดใน เกณฑ์กำหนดการยอมรับ (Acceptance Criteria) หรือมี แต่กำกวม ตัวอย่างเช่น บอกว่า แสดงค่าได้ถูกต้อง หรือจัดวางให้พอดี
– ไม่ค่อยได้คุยกัน แต่มีบางคนที่มีพลังบางอย่าง เช่น เป็นหัวหน้า หรือ มีอาวุโส สร้างแรงบางอย่างที่ทำให้ทุกคนคล้อยตามว่า มีสตอรีพ้อยต์เท่านั้น ใช้เวลาเท่านี้

สิ่งเหล่านี้สร้างปัญหาตามมาเมื่อทำงานจริง เนื่องจากเวลาที่ใช้ทำแพลนนิ่งน้อยเกินไป และไม่ได้ใช้เพื่อการพูดคุยอย่างที่ควรจะเป็น นอกจากนี้เนื่องจากไม่มีการกำหนด Definition of Done หรือ Acceptance Criteria ด้วยแล้วยิ่งไปกันใหญ่ คือ อะไรที่ไม่ชอบมาพากล ก็กลายเป็น “บั๊ก” สถานเดียว

สิ่งที่ผมจะถามทีมตลอดเมื่อเค้าพบปัญหาคือ

1. มีอยู่ใน Acceptance Criteria หรือไม่?
2. Definition of Done ว่าอย่างไร?

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

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

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

Advertisements

2 thoughts on “Done != Complete

  1. Pingback: Definition of Ready | Korn4D Agile Blog

  2. Pingback: หยุดวงจร Code-Test-Bug-Fix | Korn4D Agile Blog

ใส่ความเห็น

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s