Say ‘Do It Later’
It Means You Will Never Do It.
The Way It Is
บริษัทที่ไม่ให้ความสำคัญกับคุณภาพของงานสังเกตได้จากอะไร? โอเคแหละ มันอาจจะมีหลายจุดให้จับผิด แต่สิ่งที่เห็นได้ง่ายๆในมุมมองผมคือประโยคที่ว่า
“ไม่เป็นไร เอาไว้ก่อน ไว้ทำทีหลัง”
ถ้าบริษัทนี้ทำซอฟต์แวร์ขาย สิ่งที่สำคัญที่สุดคือซอฟต์แวร์ซึ่งเรามักจะเห็นกระบวนการทำงานของเค้าเป็นประมาณนี้
ช่วงแรก … ก่อนได้มาซึ่งซอฟต์แวร์
- จัดการเรื่อง Requirement … ช้าไม่ได้ต้องทำเลย
- ออกแบบระบบ … ทำเลย
- Implement ระบบ … ต้องทำเลยซิ ฉันอยากได้ซอฟต์แวร์
ช่วงที่สอง … หลังจากเห็นซอฟต์แวร์หรือ Feature ที่เริ่มจะทำงานได้
- Test ระบบให้ครอบคลุม … ไม่เป็นไร ไว้ทำทีหลัง
- ทดลองการทำ Deployment … เฮ้ยย จะรีบไปทำไม ยังต้องทำอีกตั้งหลาย Feature กว่าจะครบ ไว้ทำทีหลัง
- ทำ Training แนะนำระบบใหม่ให้กับทีมงาน Support … ไม่มีเวลา ไว้ใกล้ๆ Release นะ
- เขียนเอกสารที่จำเป็น … หูยย หลังสุดเลยๆ
หลักชัย (Milestone) สำคัญของคนในบริษัทนี้คือซอฟต์แวร์ที่เริ่มทำงานได้ งานที่เหลือหลังจากนั้นแทบไม่มีความหมาย จึงเป็นที่มาของคำว่า “ไว้ทำทีหลัง”
The Way It Should Be
ทำไมผมถึงสังเกตจุดนี้? ก็เพราะการทำงานที่มีคุณภาพไม่ได้จบแค่ Implement เสร็จ แต่พวกเค้ากลับเลือกที่จะลดความใส่ใจในงานลงไปแบบฮวบฮาบหลังจากเห็นซอฟต์แวร์หรือ Feature ที่เริ่มทำงานได้ ถ้าเป็นแบบนี้ผมก็เดาอนาคตได้เลยว่าถ้าเกิดวิกฤตขึ้นในโปรเจกต์ “เฮ้ย ทำไงดีวะ จะทำงานไม่ทัน Deadline แล้ว” พวกเค้าจะเลือกแนวทางนี้
จำนวนงานที่พวกเค้า “ไว้ทำทีหลัง” หรือ “ช่างมัน” มีมากเท่าไรก็แสดงว่าเค้าแคร์คุณภาพน้อยเท่านั้น
สิ่งที่ควรจะเป็นคือเลิกคิดแบ่งช่วงการทำซอฟต์แวร์ได้แล้ว ถ้าอยากได้งานที่มีคุณภาพจริงๆ ก็จงทำแบบนี้ซะ
- จัดการเรื่อง Requirement … Now
- ออกแบบระบบ … Now
- Implement ระบบ … Now
- Test ระบบให้ครอบคลุม … ทำไปเลยหลัง Implement เสร็จ
- ทดลองการทำ Deployment … ทำทันทีจะได้รู้ว่า Deployment มีปัญหาหรือไม่
- ทำ Training แนะนำระบบใหม่ให้กับทีมงาน Support … แจ้งทีมนี้ให้ทราบทันทีและต่อเนื่อง
- เขียนเอกสารที่จำเป็น … ถ้ามันจำเป็นก็ทำตอนนี้เลย
สำหรับผมได้งานดีมีคุณภาพจำนวนน้อยชิ้นมีคุณค่ากว่าได้งานห่วยๆหลายๆชิ้นครับ