ความสม่ำเสมอ หัวใจของ Agile

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

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

เรื่องนี้ ในระบบการจัดการในโรงงานได้ค้นพบนานแล้วว่า ถ้าใช้เครื่องจักรเข้าใกล้ 100% จะทำให้ผลผลิตโดยรวมลดต่ำลง เพราะ จะต้องซ่อมบำรุงมากกว่า ปกติ คือ เครื่องพังเร็วนั่นแหละ เพราะฉะนั้นในโรงงานชั้นดี จะกำหนด อัตราการใช้งานเครื่องจักร ไม่เกิน 80% และผัดเปลี่ยนหมุนเวียนกันซ่อมบำรุง เครื่องจักรจึงจะมีอายุการใช้งานยาวนาน การผลิตก็จะไม่สะดุด ทำให้โรงงานมีกำไรสูงสุด ถ้าโรงงานไหนทำงานแบบ เร่งๆ หยุดๆ เครื่องจักรมักพังเร็ว คนงานมักหมุนเวียนกัน เข้าๆ ออกๆ คุณภาพการทำงานก็ไม่สมบูรณ์เพราะคนงานขาดทักษะ งานที่ต้องทำกลับมาทำใหม่ (rework) ก็มาก กลายเป็นว่าแทนที่จะกำไรมาก ก็กำไรน้อย ที่จะได้กำไร ก็กลายเป็นขาดทุน

สิ่งที่แปลกสำหรับเรื่องความสม่ำเสมอนี้ ทั้งที่ๆ เป็นที่รู้กันในวงการอุตสาหกรรมมาหลายสิบปีแล้ว ในวงการซอฟแวร์กลับไม่รู้จัก หรือมองภาพไม่ออก หลายคนให้ความเห็นแย้งว่า ซอฟแวร์ไม่ใช่ของโหลอย่างสินค้าโรงงาน เพราะฉะนั้นไม่น่าจะใช้แนวความคิดเดียวกันได้ ผมเห็นว่านั่นเป็นวิธีคิดที่แคบเกินไป โรงงานบางอย่างก็ไม่ได้ผลิตแต่ของโหล ลองนึกถึง โรงงานผลิตถ้วยชามเบญจรงค์ หรือ แก้วคริสตัลของ swarovski ก็ได้ เขาไม่ได้ผลิตของโหลเลย เป็นงานศิลปะ แต่ก็ไม่ได้ผลิตแบบ ชิ้นเดียวในโลก มีการผลิตเป็น batch เหมือนกัน (เราเรียกงานกึ่งศิลปะกึ่งอุตสาหกรรมแบบนี้ว่า craftmanship ซึ่งซอฟแวร์ก็เป็นงานแบบนี้) สุดท้ายแล้วมันก็อยู่ที่ การสร้าง throughput ให้ดี ผลิตของเสียให้น้อย ลด downtime รวมทั้งหมดมันก็คือ การสร้างความสม่ำเสมอในการผลิตนั่นเอง เรื่องนี้ถ้าจะให้พูดแล้วล่ะก็ สามวันสามคืนก็ไม่จบ จริงๆ นะ

Advertisements

ใส่ความเห็น

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