[กรณีศึกษา] จ้างเขียนโปรแกรมคิดเป็นรายชั่วโมง
วันนี้มีลูกค้าสอบถามมาว่าจะให้เขียนโปรแกรมให้ แต่ขอคิดเป็นรายชั่วโมง วันละ x ชั่วโมง ให้ rate/ต่อชั่วโมงที่น่าสนใจทีเดียว แต่มันมีข้อติดขัดอยู่อย่างนึง คือ การเขียนโปรแกรม ไม่ใช่ การนั่งพิมพ์ดีด และ ไม่สามารถคิดเป็นรายชั่วโมงได้
ทำไมถึงบอกแบบนั้น
ข้อแรก เขียนโปรแกรม ไม่เท่ากับ พิมพ์ดีด ลูกค้าน่าจะไม่เข้าใจในความต่างระหว่างการเขียนโปรแกรม กับ การพิมพ์ดีด ส่วนสำคัญที่ทำให้ต่างกันคือเขียนโปรแกรมต้องคิด วางแผนก่อนเขียน ไม่ใช่เปิดคอมมานั่งพิมพ์อย่างบ้าคลั่ง อันนั้นมันกำลังทำฟาร์มแมลงแล้วล่ะ
ข้อสอง ไม่สามารถคิดเป็นรายชั่วโมงได้ ถ้าจะให้คิดเป็นรายชั่วโมงก็ลองตอบคำถามข้างล่างนี้ก่อนว่าตอบได้ไหม
- ถ้าโปรเจ็คเริ่มจาก 0 แปลว่าผมต้องเริ่มต้นศึกษางานของคุณ วิเคราะห์ระบบว่าจะออกมายังไง ออกแบบหน้าจอมาให้คุณดูว่าคุณ OK ไหม แค่ตรงนี้ก็ประมาณอาทิตย์นึงแล้ว แล้วถามว่าจะคิดในส่วนนี้ยังไง เพราะอย่างแรกขั้นตอนนี้ ผมไม่ได้ code แน่นอน จะนับเวลายังไง ถ้าผมคิดงานระหว่างทำกิจวัตรประจำวัน(ขี่รถ อาบน้ำ เข้าห้องน้ำ กินข้าว) ถือว่าผมทำงานคุณไหม?
- การวัดว่างานที่ได้จาก x ชม. วัดจากไหน? ดูที่หน้าจอก็พอเหรอ? ผมอาจทำหน้าจอหลอกๆมาหลอกคุณก็ได้ว่ามันทำงานได้ คุณจะรู้เหรอ ?
- ถ้าบางส่วนมันยากทำเกิน x ชม. แล้วมันเป็นส่วนที่คุณไม่เห็นมันอาจจะไม่มี UI คุณจะนับว่าผมทำงานไหม? จะให้คุณมานั่งอ่าน code คุณก็คงไม่เข้าใจอยู่ดีแหละ เพราะถ้าคุณเข้าใจก็คงเขียนเองแล้วแหละ จริงไหม?
- แล้วถ้าเกิดผมทำงานมา x ชม.แล้วมารู้ตอนสุดท้าย ว่างานทีทำมา x ชม.ไม่เวิร์ค อาจต้องรื้อใหม่ คุณจะจ่ายเงินไหม?
- แล้วที่สำคัญเลยคือก่อนเขียนโปรแกรมมันต้องคิดก่อน ถ้าผมคิดสัก 2 ชม. แล้วมาทำในชม.ที่ 3-4 คุณจะคิดว่างาน 4 ชม.นี้คุ้มค่าไหม? คุณจะจ่ายกี่ ชม.?
- ถ้า 3 ชม.ผมเขียน code อย่างบ้าคลั่ง 2000 กว่าบรรทัดแต่ bug กระจายทำงานไม่ได้ กับเขียน 3 ชม. เขียนโปรแกรมไปแค่ 100 - 200 บรรทัดแต่วางแผนและคิดมาอย่างดี แบบไหนมันดีกว่ากันล่ะ ? ถ้าคุณวัดจากจำนวนและเวลาคุณอาจจะรู้สึกว่าแบบแรกดีกว่าในตอนแรก แต่ถ้าคุณลองใช้แล้วเจอbug มากๆเข้า คุณอาจจะชอบแบบหลังมากกว่าก็ได้
- ไม่ได้บอกว่าการเขียนโปรแกรมช้าๆดีกว่าการรีบเร่งเขียนนะ แต่การเขียนโปรแกรมควรจะเริ่มต้นจากการคิด การวางแผนก่อนเสมอ การไม่คิดก่อนจะเป็นการทำให้เกิดปัญหาในภายหลังได้ โชคดีก็อาจจะพอแก้ได้ บางทีแก้แล้วก็กลายเป็นหมาวิ่งไล่งับหางตัวเองก็ซวยไป แล้วจากความรู้สึกส่วนตัว การวางแผนก่อนช่วยให้การทำงานไวขึ้นด้วย ในช่วงที่วางแผนอาจจะเสียเวลาอยู่บ้าง แต่พอเริ่มทำแล้วจะทำได้ไวกว่าการทำงานแบบไม่วางแผนแน่นอน
ปล. เคยเห็นแนวคิดแบบนี้(เขียนโปรแกรมคิดเป็นชั่วโมง) มานานแล้วไม่คิดว่าจะมีคนมาถาม อีกอันนึงคือเขียนโปรแกรมจ่ายเงินตามตัวอักษรเป็นจำนวนเงิน ถ้าเจอใครมาจ้างจะพิมพ์ lorem ipsum สัก 5-6 พันบรรทัดดีไหมนะ?
ปล. อยากรับงานนะ ช่วงนี้ไม่มีตังค์ แต่คิดเป็น rate รายชั่วโมงไม่ได้จริงๆ
ปล. อ่านเองแล้วรุ้สึกเหมือนตอนจบมันลงไม่สวยเลย แต่คิดท่อนจบสวยๆไม่ออกจริงๆ