nfcandroid

blog ร้างๆ เจ้าของนานๆเข้ามาที

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

ปล. เคยเห็นแนวคิดแบบนี้(เขียนโปรแกรมคิดเป็นชั่วโมง) มานานแล้วไม่คิดว่าจะมีคนมาถาม อีกอันนึงคือเขียนโปรแกรมจ่ายเงินตามตัวอักษรเป็นจำนวนเงิน ถ้าเจอใครมาจ้างจะพิมพ์ lorem ipsum สัก 5-6 พันบรรทัดดีไหมนะ?
ปล. อยากรับงานนะ ช่วงนี้ไม่มีตังค์ แต่คิดเป็น rate รายชั่วโมงไม่ได้จริงๆ
ปล. อ่านเองแล้วรุ้สึกเหมือนตอนจบมันลงไม่สวยเลย แต่คิดท่อนจบสวยๆไม่ออกจริงๆ
สมัครสมาชิก: บทความ ( Atom )

Categories

android (12) tutorial (5) ListActivity (4) view (3) relativeLayout (2) BaseAdapter (1) List Image (1) SimpleAdapter (1) activity (1) intent (1) linearLayout (1) mediaplayer (1) onClickListener (1)

LATEST POSTS

  • รีวิว นาฬิกา wise รุ่น I-Force
    ใกล้ปีใหม่แล้ว ช่วงนี้เป็นช่วงที่ไม่ค่อยมีเงินเลย เออ แต่คิดไปคิดมา ถามว่าช่วงไหนมีเงินคงจะตอบง่ายกว่า 555  อยากได้นาฬิกาใหม่มาสักพักแล้ว เ...
  • มาใส่ font awesome ใน mpdf กัน
    พอดีมีงานที่ต้องใช้ mpdf  แล้วก็มันมีบางส่วนที่ต้องแสดงไอคอนเล็กๆบางจุด จะทำเป็นรูปภาพก็ลำบากในการปรับขนาดอีก ก็นึกถึง font awesome  ก็เล...
  • ลองเล่นแว่น VR Shinecon
    จั่วหัวว่าลองเล่น แต่ความจริงคือซื้อจริง จ่ายจริง กินมาม่าจริงๆ 5555 เมื่อเร็วๆนี้ได้เจอเพจที่ขายแว่น VR ก็สนใจเลยลองสั่งซื้อมา โดยรุ่นที่ซื...
  • รีวิว HP Pavilion 13-b208TU
    เมื่อเร็วๆนี้ได้ตัดสินใจซื้อโน๊ตบุ้คใหม่ โดยก่อนจะซื้อก็หาข้อมูลตัดสินใจอยู่นาน จนในที่สุดก็ได้เป็นเจ้า HP Pavilion 13-b208TU  โดยสเปคคร่าว...
  • RelativeLayout และ LinearLayout เบื้องต้น 1
    วันนี้จะพูดเรื่องของ RelativeLayout และ LinearLayout เบื้องต้นกันครั้บ โดยทั้งสองตัวข้างต้นเป็นประเภท viewGroup ก็คือสามารถมี view อยู่ภายใน...

คลังบทความของบล็อก

  • ►  2015 (5)
    • ►  ธันวาคม (3)
    • ►  สิงหาคม (1)
    • ►  พฤษภาคม (1)
  • ▼  2014 (2)
    • ►  กุมภาพันธ์ (1)
    • ▼  มกราคม (1)
      • [กรณีศึกษา] จ้างเขียนโปรแกรมคิดเป็นรายชั่วโมง
  • ►  2013 (12)
    • ►  พฤศจิกายน (1)
    • ►  มิถุนายน (1)
    • ►  มีนาคม (4)
    • ►  กุมภาพันธ์ (6)
  • ►  2012 (2)
    • ►  กันยายน (2)
Copyright 2015 nfcandroid.
Base From Charm Template OddThemes

‹ › ×