ความลังเล ไม่กล้าตัดสินใจ ไม่มีความมั่นใจ กับผลกระทบกับงาน

หายหน้าไปนาน เรื่องที่เขียนค้างไว้เดี๋ยวจะกลับมาเขียนต่อนะครับ หลายเรื่องเหมือนกันแฮะ

ช่วงเดือนนิด ๆ ที่ผ่านมา พอดีผมถูกสั่งให้เข้าไปช่วยงานทีมพัฒนา โดยได้เข้าร่วมในโปรเจคเล็ก ๆ โปรเจคนึง ก็เช่นเคยครับ เป็นโปรเจคประเภทเพิ่มฟีเจอร์ให้กับผลิตภัณฑ์เดิมที่มีอยู่แล้วนั่นแหละ ถ้าให้พูดตรง ๆ ก็แค่เพิ่ม input field สองอันเท่านั้นเอง ฟังดูเป็นงานง่าย ๆ ใช่ไหมครับ ? (จะไม่ลงรายละเอียดของโปรเจคมากกว่านี้นะครับ)

ตอนที่ร่างเอกสารยังคิดเลยว่ามันไม่ยากอะไรหรอกมั้ง แล้วก็เขียนเอกสารออกแบบไม่ได้ลงโค๊ดจริงเลย ซึ่งผมมองว่าเป็นวิธีที่ถูกนะ คือ แน่นอนว่าถ้าเราลงโค๊ดก่อนแล้วค่อยเขียนเอกสารมันจะเป็นการเขียนโค๊ดสองรอบไป ทั้งนี้วิธีของแต่ละคนก็จะไม่เหมือนกัน ขึ้นอยู่กับความซับซ้อนของโปรเจคด้วย จะว่าไปหลาย ๆ สำนักก็บอกเป็นเสียงเดียวกันว่าสุดท้ายเอกสารออกแบบมันก็ใช้ไม่ได้หรอก เพราะว่าไม่มีคนดูแลรักษาให้มันทันสมัยอยู่เหมือน ต่างกับตัวโปรแกรม สเปคของโปรแกรมก็เขียนแค่รายละเอียดวิธีการ implement เท่านั้น แต่จะไม่มีรายละเอียดลึก ๆ อะไรเท่าไหร่

มีปัญหาระหว่างการเขียนเอกสารออกแบบบ้างนิดหน่อย เขียน ๆ ไปแล้ว MS Word เดี้ยงครับ (คอมผมเก่าแล้ว แค่ที่ใช้มาก็จะ 7 ปีอยู่เดือนหน้าแล้วครับ นี่ไม่รู้ว่ามีใครใช้ก่อนหน้าอีกไหม) พอกู้ Word ได้คราวนี้ Windows ล่ม 555 ดีนะแค่เข้า Safe Mode แล้วมันหาย

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

บางทีการที่ทำงานบนพื้นฐานของดีไซน์ดั้งเดิมตั้งแต่แรกจนมันทำงานได้นั้นน่าจะเป็นทางเลือกที่ถูกต้องกว่า แน่นอนว่าการออกแบบเดิมนั้นมันก็อาจจะมีปัญหาบ้าง แต่เราก็น่าจะสร้างทางแก้เฉพาะหน้าเพื่อรับมือปัญหานั้นได้เร็วกว่าที่จะรื้อดีไซน์ใหม่ทิ้ง

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

แต่ก็อีกนั่นแหละ ถ้าเรายิดติดกับดีไซน์เดิมมากเกินไป บางทีมันก็พาเราไปหาทางตันได้เหมือนกัน สิ่งที่สำคัญก็คือเราต้องคอยประเมินอยู่ตลอดเวลาว่าสิ่งที่เราทำนั้นเป็นอย่างไรมีปัญหาอะไรบ้างครับ

ปล. ช่วงนี้นอนน้อยมากครับ กลับถึงบ้านก็ลุยเขียนโค๊ดต่อ รู้ตัวอีกทีเกือบสว่างมาหลายวันละ 555

One thought on “ความลังเล ไม่กล้าตัดสินใจ ไม่มีความมั่นใจ กับผลกระทบกับงาน

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

This site uses Akismet to reduce spam. Learn how your comment data is processed.