วันนี้ขอนำเสนอ “ขยะ 7 รูปแบบที่เกิดจากการพัฒนาซอฟต์แวร์”
#1 Over Production — ขยะจากการผลิตมากเกินความจำเป็น
- โค๊ดและฟีเจอร์ที่ลูกค้าไม่ต้องการ
- การเริ่มงานเกินความสามารถที่จะทำงานเสร็จ
- การออกแบบที่คิดเผื่ออนาคตมากเกินไป
- การเขียนเอกสารที่ไม่มีคนอ่าน
- การเขียนโปรดักท์แบ็คล็อกอย่างละเอียดเผื่อไว้สำหรับอีกหกเดือนข้างหน้า
#2 Over Processing — ขยะจากการมีขั้นตอนการทำงานมากเกินไป
- มีคนที่เกี่ยวข้องและมีอำนาจตัดสินใจมากเกินไป
- การตรวจสอบและอนุมัติที่พร่ำเพรื่อ
- งานเอกสารที่มาคู่กับการขออนุมัติ
- การมีระบบภายในที่ต้องใช้มากเกินไป เช่น จิร่า เทรลโล่ เอกเซล โลตัสโน๊ต กูเกิ้ลไดรฟ์ ดรอปบ๊อกซ์
#3 Transportation — ขยะจากการเคลื่อนย้ายงาน
- การส่งมอบงานกันเป็นทอดๆ ผ่านเอกสาร อีเมล ระบบและปากเปล่า
- การส่งข้อมูลกันเป็นทอดๆ ผ่านทางเอกสาร อีเมล ระบบและปากเปล่า
#4 Inventory — ขยะจากการมีของคงคลังมากเกินไป
- การมีโปรเจกต์ที่อยู่ในคิวมากเกินไป
- การเขียนโปรดักท์แบ็คล็อกอย่างละเอียดเผื่อไว้สำหรับอีกหกเดือนข้างหน้า
- การสั่งซื้อเซิร์ฟเวอร์มาเผื่อไว้ก่อน
- การมีฟีเจอร์ที่ทำไม่เสร็จอยู่ในโค๊ดเบส
- การมีฟีเจอร์ที่เสร็จแล้วแต่ไม่ส่งมอบให้ลูกค้าใช้
- การมีบั๊กที่ยังไม่แก้อยู่ล้นเดต้าเบส
#5 Motion — ขยะจากการเคลื่อนไหวของคนทำงาน
- คนทำงานที่อยู่ไกลกัน นั่งคนละที่ คนละชั้น คนละตึก คนละประเทศ
- การทำงานสลับไปสลับมา
#6 Waiting — ขยะจากการรอคอย
- การรอคอยการตัดสินใจ
- การสื่อสารที่ไม่มีประสิทธิภาพ
- การเมืองเยอะ
- การบิ้วด์ซอฟต์แวร์ที่ช้าเพราะไม่มีระบบที่ดี
- การรันเทสที่ช้าเพราะทำด้วยมือและคน
- การดีพลอยซอฟต์แวร์ที่ช้าเพราะทำด้วยมือและคน
#7 Defects — ขยะจากผลิตภัณฑ์ที่บกพร่อง
- ความต้องการที่ไม่ถูกต้องไม่ชัดเจนและเปลี่ยนแปลงตลอดเวลา
- การผลิตสินค้าที่ไม่มีใครต้องการ
- บั๊กจากทุกระดับและขั้นตอน
ขยะ 7 ชิ้นนี้ … ใจความสำคัญข้อแรกของการพัฒนาซอฟต์แวร์ด้วยปรัชญานี้คือ “ลดขยะ” เราทุกคนมีเวลาเท่ากันที่ 24 ชั่วโมงต่อวัน ถ้าเราลดเวลาที่ใช้ไปในการสร้างขยะลงได้ก็แปลว่าเรามีเวลาที่จะสร้างงานที่เป็นงานจริงๆเป็นงานที่มีคุณค่ามากขึ้น
ถ้าอยากเห็นผลลัพธ์จากการพัฒนาซอฟต์แวร์ที่เร็วขึ้นและดีขึ้น หาทางลดขยะทั้ง 7 ชิ้นเสียตั้งแต่วันนี้