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

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

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

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

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

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

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

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

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

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

Wutipong Wongsakuldej

Programmer, interested in frontend applications, music and multimedia.

Latest posts by Wutipong Wongsakuldej (see all)

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

Leave a Reply

Your email address will not be published. Required fields are marked *