⚡️ เลือกเวลา เลือกเป้าหมาย

มันเป็นเรื่องที่ทำร้ายจิตใจไม่น้อยเมื่อเราต้องเลือกระหว่าง งานเสร็จตรงเวลา กับ งานเสร็จตามเป้าหมาย

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

ลองถามตัวเองดูว่า

  1. ครั้งสุดท้ายที่เราทำงานเสร็จทันเวลา เราต้องเสียสละอะไรไปบ้าง? ตัดสโคป เลือกยูไอแบบไม่คิดให้รอบคอบ เขียนโค๊ดแบบรีบๆ เทสแบบลวกๆ … นั่นเป็นเป้าหมายของเราตอนเริ่มโปรเจกต์หรอ? ไม่ใช่อยู่แล้ว
  2. ครั้งสุดท้าย (ถ้าเคยทำได้) ที่เราทำงานออกมาได้เป๊ะตามเป้าที่ตั้งไว้ เราต้องเลื่อนเดดไลน์กี่ครั้ง?

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

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

และอย่างที่เขาพูดกัน “ถ้าเราเป็นผู้นำ (เจ้าของเงิน) คำสั่งของเราคือคำประกาศที่ศักสิทธิ์ เราอยากได้อะไรก็จะได้อย่างนั้น”

วันแรกของการเริ่มต้นโปรเจกต์ เราต้องตอบคำถามตัวเองให้ดีว่าเราจะพูดอะไรออกไปให้ทีมได้รับฟัง

“ผมต้องการให้งานเสร็จตรงเวลา” หรือ “ผมอยากได้งานที่ดีที่สุดเท่าที่จะเป็นไปได้”

เพราะไม่ว่าเราจะเลือกอะไร … เราจะได้แบบนั้น

Leave a Reply

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