ตลกร้าย Tiger Team จากหนังสือ Clean Code
Aug 29, 2017 · 1 min read

โปรแกรมชื่อ killer ได้รับความนิยมมากในช่วงปี 1980s นักพัฒนาเก่งๆหลายคนถูกซื้อตัวเข้าไปช่วยกันทำงาน แต่ยิ่งทำ วงรอบการออกของใหม่ๆ (release cycle) ยิ่งนานขึ้น
เมื่อต้องขยับขยายทำ feature ใหม่กลับพบว่า
- bug เดิมก็ไม่ได้ถูกแก้
- ใส่ code ใหม่เข้าไปยิ่งทำให้ load นานขึ้น
- ยิ่งทำระบบยิงล่มบ่อยขึ้น
สุดท้ายถึงขั้นที่ว่าทำอะไรต่อไม่ได้แล้ว และธุระกิจต้องปิดตัวลง
20 ปีต่อมา ลองกลับไปถามพนักงานรุ่นแรกๆว่าเกิดอะไรขึ้นในตอนนั้น
ได้รับคำตอบว่า
- ต้องส่งงานให้ตรงเวลาที่กำหนด ถ้าไม่ตรงกำหนดหัวหน้าจะโกรธ
- ขอเวลาปรับปรุง code ไม่ได้ ทีมก็ได้แต่รีบใส่ code ลงไปให้มันทำงานได้
- เห็นสิ่งที่ต้องทำใน backlog อีกเพียบ ต้องรีบเคลียร์ให้เสร็จ
- สุดท้าย code เน่าๆพวกนั้นก็ทำให้บริษัทต้องปิดตัวลง
การออกแบบครั้งใหญ่จึงอุบัติขึ้น
ต่อไปนี้คือตลกร้าย ไม่เกี่ยวกับ killer
- ทีมไปบอกฝ่ายบริหารว่า “เราจะไม่ขอทนกับ code base เน่าๆพวกนี้แล้ว เราจะขอออกแบบมันใหม่!”
- Tiger team ถูกจัดตั้งขึ้น พร้อมกับรวบรวมเหล่า “ทวยเทพ” ผู้มากหลายประสบการณ์เข้ามาในทีม ส่วนคนอื่นๆก็ให้ดูแลระบบเดิมไปก่อน
- Tiger team เริ่มพัฒนาระบบใหม่ ซึ่งก็เอา feature ที่ระบบเดิมมีอยู่มาพัฒนานั่นเอง
- ไม่เพียงต้องพัฒนาของเก่าให้ขึ้นมาอยู่ในระบบใหม่เท่านั้น Tiger team ยังต้องปรับปรุงระบบให้รองรับความต้องการใหม่ๆ(change)
- ฝ่ายบริหารก็ไม่ยอมขึ้นระบบใหม่ที่ Tiger team พัฒนา จนกว่าระบบใหม่ที่ทำขึ้นจะทำทุกอย่างที่ระบบเดิมทำได้(หรือมากกว่า)
- การแข่งขันระหว่างทีมเก่าและทีมใหม่อย่าง Tiger ได้กินเวลายาวนานนับ 10 ปี
- แน่นอนช่วงเวลานานขนาดนี้คนใน Tiger team ชุดแรกๆย่อมต้องมีล้มหายตายจาก ลาออกบ้าง ย้ายงานบ้าง
- และแล้ววันนึงสมาชิกที่เหลือใน Tiger team ก็ไปบอกฝ่ายบริหารว่า “เราจะไม่ขอทนกับ code base เน่าๆพวกนี้แล้ว เราจะขอออกแบบมันใหม่!”
เราได้เรียนรู้อะไรจากเรื่องนี้บ้าง?
คุณคิดว่าเรื่องนี้เป็นเรื่องจริงหรือไม่? ถ้าคิดว่าใช่………คุณคิด(ถูก/ผิด)
ปล. คำไทยบางคำแต่งขึ้นเพื่อเพิ่มอรรถรส
จากหนังสือ: Clean Code — Robert C. Martin
