อย่าดูถูกตัวเองด้วยการลดคุณภาพของสิ่งที่ทำ

หลังจากที่ได้อ่านเรื่องของพี่โอเกี่ยวกับเบอร์เกอร์กระรอก ก็ทำให้นึกถึงเรื่องที่เคยคิดว่าจะจดไว้ในนี้ แต่ไม่ได้ทำสักที เริ่มเลยละกัน

หลาย ๆ องค์กรมีทีม IT ที่คอยพัฒนาซอฟต์แวร์ให้ทั้งผู้ใช้ที่เป็นลูกค้าภายนอก รวมถึงผู้ใช้ที่เป็นพนักงานภายในบริษัทเอง โดยตั้งโจทย์แบบเดียวกันกับเรื่องของเบอร์เกอร์กระรอก คือ “จะเอาทั้งหมด” ภายใต้ resource ที่มีอยู่อย่าง “จำกัด” (คำว่า resource ในที่นี้ หมายถึง resource ทุกอย่าง ยกเว้น คน เพราะคนไม่ใช่ resource) ปัญหาที่ตามมาคือ การใช้ secret toolbox ไม่ว่าจะเป็นการสร้าง smell ลงไปในของที่ตัวเองทำ การไปก๊อปปี้โค้ดมาจากอินเตอร์เน็ตโดยไม่ได้สนใจว่ามันคืออะไร ทำงานยังไง การไม่ทำความเข้าใจโค้ดที่ทีมเขียนหรือไม่ทำให้โค้ดที่ตัวเองเขียนอ่านง่ายขึ้น และที่สำคัญคือ การไม่เขียนเทสต์

ยิ่งไปกว่านั้นหลาย ๆ ที่ เอาเรื่องการส่งมอบงานครบตาม requirement และตรงเวลา ที่อยู่ในรูปแบบของ commitment ไปไว้ใน KPI ของบุคคลเสียด้วย นั่นคือ การลด quality ของงานลงเพื่อให้ส่งมอบของได้ทัน กลายเป็นสิ่งที่ทุกคนยอมรับได้!! ไม่ต้องเทสต์ หรือเทสต์แค่คร่าว ๆ ก็พอ ไม่ต้องสนใจว่า user จะใช้งานได้หรือเปล่า ขอแค่ให้มันมี เพราะว่ามันตอบ KPI ที่หัวหน้ากำหนดมา มันใช่เหรอวะ นั่นสิครับ มันใช่เหรอวะ ขอแค่ให้มันส่งไปได้ ทำงานได้ไม่ได้ช่างมัน มีบักช่างมัน เดี๋ยวค่อยแก้ KPI บอกแค่ว่าส่งมอบงานได้ทัน เพราะเวลาสำหรับ “ทำ” มัน fixed แต่เวลาสำหรับ “แก้” เหลือเฟือ

แสดงว่า … ถ้ามี requirement ทำแอพอะไรสักอย่าง ยกตัวอย่าง ทำเว็บแอพสักตัว ให้เวลา 1 เดือน requirement ซับซ้อนยิบ ๆ จริง ๆ เราก็แค่สร้าง index.html เปล่า ๆ อันนึง แล้วบอกว่า เออ เสร็จแล้ว เอาขึ้นได้เลย manual test เองแล้ว ก็ได้นะ พอ user เข้ามาใช้งานจริงก็จะเห็นแค่หน้าขาว ๆ เราก็ อุ๊ย สงสัยมีบัก ขอแก้ก่อนนะครับ ลากกันไป ยืดเวลากันไป ค่อย ๆ ใส่ของที่ user อยากได้กันไปตอนที่เป็นเวลาแก้บักนี่แหละ มีเหลือเฟือ

หรือถึงแม้จะบอกว่า เฮ้ย ระบบที่เราทำ ขอให้มันใช้ได้บ้าง เขาก็ยอมรับได้นะ มีบักบ้างนิด ๆ หน่อย ก็แก้กันไป โอเคครับ บักหน้าแรกไง นี่คือบักหน้าล็อกอินไม่แสดง รอก่อนนะ ที่เหลือมันเสร็จหมดแล้ว จริงจรี๊งงงง (เสียงสูง) ล็อกอินเข้าไปก็จะเห็นฟีเจอร์อลังการเลยนะ ขอแก้บักหน้าล็อกอินไม่แสดงก่อนนะ นี่ไง บักเล็กน้อย ยอมรับได้ไหม

เห็นอะไรไหม? แม่งไม่ได้แตกต่างกันเลย ทำของสั่ว ๆ ใช้งานไม่ได้ขึ้น production มันไม่ได้แตกต่างอะไรกับไม่ได้ทำอะไรเลย

อย่าเสียเวลาเลยครับ อย่าเสียเวลาทำของที่ใช้ไม่ได้อยู่อีกเลย ทำแล้วตามแก้ เช็ดขี้เช็ดเยี่ยวไม่มีวันจบ แก้ตรงนี้ พังตรงโน้น แก้ไปหนึ่งพังอีกสิบ แก้สิบพังอีกห้าสิบ เพราะไม่เคยสนใจเรื่อง quality ไม่เขียนเทสต์ ปัญหามันก็ไม่มีวันจบหรอก บางวันปัญหามันดูเหมือนลดลง มันก็แค่ผู้ใช้เค้ายังไม่ได้ลองใช้ feature ที่มีบักไง เดี๋ยวถึงเวลาพอเขาได้ใช้ตรงนั้น คุณก็จะโวยวายเอง

คุณภาพเป็นสิ่งที่สำคัญ การที่คุณลดคุณภาพของสิ่งที่คุณทำลง เป็นทั้งการดูถูกตัวเอง ดูถูกหน่วยงานที่คุณทำงาน และที่สำคัญ คุณกำลังดูถูกลูกค้าและผู้ใช้ คุณภาพที่คุณยอมเสียมันไปตอนนี้ มันเหมือนหนี้ที่คุณสร้างขึ้นมาในวันนี้ ที่สำคัญ หนี้พวกนี้เป็นหนี้แบบทบต้นทบดอก ยิ่งปล่อยไว้นาน ยิ่งเพิ่มมากเป็นทวีคูณ

ไม่สร้างหนี้เลยตั้งแต่แรก หรือสร้างหนี้นิดหน่อยแล้วรีบใช้หนี้ หรือสร้างหนี้แล้วปล่อยให้มันกลายเป็นปัญหาที่ต้องแบกรับกันทั้งองค์กร เลือกเอาเองเลย

Leave a Reply