เป็นคำถามที่ฟังดูแล้ว ไม่น่าจะมีอะไรเลย คือ
งานของ Developer เสร็จตอนไหน ?

คำตอบง่าย ๆ คือ ก็ตอนเขียน code เสร็จไงล่ะ !!

มาดูสิ่งที่เกิดขึ้นกับทีมที่ 1

ปกติในทุก ๆ งานนั้น จะเผื่อเวลาไว้ประมาณ 1-3 เดือน
สำหรับการทดสอบและเตรียมทุกสิ่งอย่างก่อนจะ release ระบบ
ดังนั้น developer ก็ต้องเขียน code ให้เสร็จหรือ freeze code ก่อน
จากนั้นก็ส่งให้ทาง QA/Tester ทำการทดสอบแบบเต็ม ๆ

หลังจากนั้นอีกสักสัปดาห์ต่อมา
ถ้าทุกอย่างมันทำงานได้ดี ก็จะไม่มีเสียงกรีดร้องอะไร
แต่โชคไม่ค่อยดีเท่าไร
ที่มักจะมีเสียงกรีดร้องออกมายัง developer เช่น
ระบบทำงานไม่ถูกต้อง
ระบบพัง
ระบบ …

ดังนั้น งานที่ developer บอกว่าเสร็จ
มันเสร็จจริง ๆ ไหม ?

กว่าที่ developer จะรู้ว่างานที่ทำมันมีปัญหา
ต้องใช้เวลาเท่าไร ตั้งแต่เริ่มเขียน code ?
นั่นคือ feedback loop เร็วเพียงใด ?

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

โชคไม่ดีนัก เรามักจะอยู่ในทีมที่ทำงานกันแบบนี้ !!

มาดูสิ่งที่เกิดขึ้นกับทีมที่ 2

ทีมนี้ไม่มี QA/Tester ด้วย
นั่นหมายความว่า developer ก็ต้องทำการทดสอบเองนะ
ดังนั้นไม่มีการ freeze code เพื่อทดสอบและเตรียมพร้อม 3 เดือนอีกแล้วนะ
เนื่องจากเขียนเอง ทดสอบเอง
ใช้เวลาไม่เกิน 1-3 ชั่วโมงก็ freeze code เพื่อทดสอบได้แล้ว

ยิ่งไปกว่านั้นทีมนี้ก็ทำการ deploy code ที่เขียน
ขึ้นไปยัง production server ที่ผู้ใช้และลูกค้าใช้งานด้วย
เพื่อทำให้มั่นใจว่า งานที่ทำขึ้นมามันเสร็จจริง ๆ

นั่นหมายความว่า
งานของ developer จะเสร็จก็ต่อเมื่อสิ่งที่เขียนขึ้นมานั้น
ไปอยู่ต่อหน้าลูกค้าจริง ๆ
ลูกค้าได้ใช้งานจริง ๆ

จะเห็นได้ว่า ทั้งสองทีมมีความแตกต่างกันมากจริง ๆ

เนื่องจากมีคำจำกัดความ
ของคำว่าเสร็จแตกต่างกัน

code ที่เขียนขึ้นมาจะไร้ค่ามาก ๆ ถ้ายังไม่ถึงมือลูกค้า
ถึงแม้จะถึงมือลูกค้าแล้ว
แต่ไม่สามารถสร้างรายได้อะไรให้บริษัทเลย มันก็ไร้ค่าเช่นกัน
เนื่องจากบริษัทก็ไม่มีเงินมาจ่ายเงินเดือนให้ developer เช่นกัน

ดังนั้น developer ต้องให้ความสนใจและใส่ใจ
ต่อสิ่งที่สร้างขึ้นมา จนกว่าจะถึงมือลูกค้า

เป็นทัศนคติที่ developer ที่ดีควรมีติดตัวไว้เสมอ
เพื่อสร้าง code ที่ดีออกมา
เพื่อปรับปรุง code ให้ดียิ่งขึ้น

ไม่ใช่เขียน code ให้เสร็จไปวัน ๆ
แล้วรอวันเงินเดือนออก
แล้วรอวันได้ bonus
แล้วรอวันได้เงินเดือนขึ้น

แน่นอนว่าองค์กรก็ต้องเอื้อต่อการทำงานด้วยเช่นกัน

วันนี้คำว่าเสร็จของ developer คืออะไรกันบ้าง ?

ขอให้สนุกกับการ coding ครับ