The waste story
เมื่ออยากจะทำอะไรสักอย่างให้เป็นชิ้นเป็นอัน ธรรมชาติของมนุษย์ชอบวางแผนเพื่อให้เห็นภาพที่ชัดเจน วาดภาพในจินตนาการ และทำทุกอย่างตามสิ่งที่ตนเองคิดไว้อย่างเป็นขั้นเป็นตอน ก็เป็นวิธีการที่ดูดี มีหลักการ และเป็นวิธีการของผู้ที่มีความรู้ แต่ถ้าเป็นใน context ของการทำ software จะเป็นอย่างไร
ในหลายๆที่ ถึงแม้ว่าจะทำ Agile/Scrum ก็มักจะมีการสร้าง product backlog หรือ requirement ทิ้งไว้เยอะๆ การสร้าง backlog รอไว้เยอะๆ บางครั้งก็ design หน้าจอไว้เลย
แต่การสร้าง backlog ทิ้งไว้เป็นจำนวนมากโดยที่ยังไม่รู้ว่าจะถูกทำเมื่อไร ซึ่งถ้าสุดท้ายไม่ถูกหยิบมาทำเลยไม่ถูกก็กลายเป็น waste
มีหลายครั้งที่เรากลับไปแก้ไข backlog ที่ถูกสร้างไว้ การที่เราไปแก้ไขก็เป็น waste
ดังนั้นสิ่งที่เราพยายามทำก็คือ ลด waste ให้เหลือน้อยที่สุด ซึ่งเป็นแนวคิดของ Toyota Production System (TPS) ซึ่งต่อมาก็มีคนมา apply กับการทำ software เรียกว่า Lean แต่ประเด็นอยู่ตรงที่เราทำ software based on feedback ซึ่งคล้ายกับแนวคิดของ TPS ที่เน้นการ pull หรือทำก็ต่อเมื่อมี order หรือ requirement เข้ามา
ทุกสิ่งทุกอย่างในโลกนี้ไม่มีอะไรแน่นอน มันเปลี่ยนไปตามกาลเวลา อาจจะไม่เป็นไปตามที่เราคิดเสมอไป ด้วยธรรมชาติของ software ที่มันแก้ไขได้ง่าย เลยทำให้เราต้องตอบรับความเปลี่ยนแปลงนั้นด้วยวิธีการที่เหมาะสม
วิธีการที่เหมาะสมที่ว่าก็คือ ทำ software based on feedback พยายาม deliver ของไปให้ถึงผู้ใช้แล้วเก็บ feedback มา ปรับแผนการพัฒนา software ที่เรากำลังทำอยู่ ทำไปเรื่อยๆ หลายๆครั้ง ในแต่ละครั้งก็พยายามหาวิธีที่จะ optimize feedback loop ให้เร็วขึ้น ลดงานที่ไม่จำเป็นลง ซึ่งการทำแบบนี้ เราจะไม่มีแผนที่ชัดเจน มีแต่แนวทางที่เราจะไป ซึ่งบางครั้งอาจจะเดินออกนอกทางบ้าง แต่ก็เจ็บน้อยกว่าและปรับตัวได้เร็วเพื่อตอบรับการเปลี่ยนแปลง
อย่างบล็อกนี้ก็เช่นเดียวกัน เขียนชื่อ Topic ไว้ แล้วก็ดองไว้เกิน 1 ปี พอจะมาเขียนอีกทีก็จำไม่ได้แล้วว่าตอนที่ตั้งชื่อบล็อกนี้ อยากเขียนเกี่ยวกับอะไร รู้สึกยังไง ก็ขอตัดจบตรงนี้เลยแล้วกัน