วิธีเลือกทีมพัฒนาซอฟต์แวร์สำหรับโครงการในไทยและต่างประเทศ
การเลือกทีมพัฒนาเป็นการตัดสินใจเรื่องการส่งมอบงาน ที่ตั้งของทีมช่วยกำหนดเวลาทำงานและแผนการสื่อสารได้ แต่ไม่ได้พิสูจน์คุณภาพทางเทคนิค กำลังทีม หรือราคา
สำหรับธุรกิจไทยและทีมต่างประเทศที่กำลังพิจารณาจ้างทีมพัฒนาในประเทศไทย การเปรียบเทียบที่มีประโยชน์ควรเริ่มจากความต้องการของผลิตภัณฑ์ชุดเดียวกัน และรอบพัฒนาแรกที่ตรวจสอบได้
กำหนดสิ่งที่ทีมต้องส่งมอบ
บันทึกผู้ใช้งาน กระบวนการทางธุรกิจ ระบบที่ต้องเชื่อมต่อ และเกณฑ์รับมอบให้ชัดเจน แยกฟังก์ชันที่จำเป็นออกจากแนวคิดที่จะพัฒนาภายหลัง ขอให้ผู้ให้บริการแต่ละรายที่กำลังพิจารณาอธิบายสมมติฐานและรายการที่ไม่รวมในงาน โดยอ้างอิงขอบเขตงานเดียวกัน
ใบเสนอราคาที่ตัวเลขดูต่ำกว่าจะเปรียบเทียบได้ยาก หากไม่รวมการทดสอบ การเชื่อมต่อระบบ การติดตั้งระบบ เอกสาร หรือการบำรุงรักษา ควรเปรียบเทียบสิ่งที่รวมอยู่ในงานและหน้าที่ที่กำหนดให้แต่ละฝ่าย
ตกลงแผนการสื่อสาร
สำหรับงานระหว่างประเทศ ให้กำหนดช่วงเวลาประชุมที่ทั้งสองฝ่ายใช้ร่วมกัน ระยะเวลาตอบกลับที่คาดหวัง และวิธีบันทึกการตัดสินใจ ตกลงว่าใครมีอำนาจตัดสินคำถามเรื่องขอบเขตงาน และจะตรวจสอบงานระหว่างการประชุมแต่ละครั้งอย่างไร
สำหรับงานที่ใช้ภาษาไทย ให้ยืนยันภาษาที่ใช้ในเอกสารความต้องการ หน้าจอผู้ใช้ การสนับสนุน และการส่งต่อระบบ การมีเว็บไซต์ฉบับแปลเพียงอย่างเดียวไม่ได้ยืนยันความสามารถด้านภาษาของทุกคนในทีมที่ส่งมอบงาน
คำถามที่ควรถาม ได้แก่
- ใครเป็นผู้ตัดสินใจหลักของแต่ละฝ่าย?
- จะบันทึกและประเมินการเปลี่ยนแปลงความต้องการอย่างไร?
- ใช้การทบทวนรูปแบบใดเพื่อแสดงความคืบหน้า?
- จะทำอย่างไรเมื่อระบบที่ต้องเชื่อมต่อยังไม่พร้อมใช้งาน?
- ความคิดเห็นจากผู้ใช้จะเข้าสู่รายการงานพัฒนา (backlog) ได้อย่างไร?
ตรวจสอบรอบพัฒนาแรกที่มีขอบเขตจำกัด
เลือกกระบวนการที่มีขอบเขตจำกัดหรือต้นแบบที่มีเกณฑ์รับมอบชัดเจน ตรวจสอบการทำงาน การจัดการข้อผิดพลาด เอกสาร และความเหมาะสมกับผู้ใช้กลุ่มเป้าหมาย การสาธิตช่วยอธิบายแนวทางได้ แต่ความพร้อมสำหรับใช้งานจริงต้องอาศัยหลักฐานเพิ่มเติมที่เหมาะกับโครงการนั้น
ต้นแบบระบบอนุมัติใบแจ้งหนี้ของ BEEK เป็นตัวอย่างของกระบวนการที่ตรวจสอบได้ ต้นแบบนี้ใช้ข้อมูลสมมติ บังคับให้ผ่านขั้นตอนอนุมัติก่อนการชำระเงินจำลอง และคำนวณผลรวมจากรายการที่แสดงอยู่ ต้นแบบนี้ไม่ใช่หลักฐานของงานที่ส่งมอบให้ลูกค้า และไม่ใช่ระบบการเงินที่ใช้งานจริง
ยืนยันกำลังทีมและบทบาท
สอบถามว่ามีบทบาทใดบ้างสำหรับงานที่เสนอ และแบ่งความรับผิดชอบอย่างไร ระบุให้ชัดว่าใครดูแลการตัดสินใจด้านผลิตภัณฑ์ การออกแบบหน้าจอ การพัฒนา การทดสอบ การติดตั้งระบบ และการบำรุงรักษา อย่าสรุปว่ามีบุคลากรพร้อมทำงานเพียงเพราะมีคำกล่าวอ้างกว้างๆ ว่ามีแหล่งบุคลากรจำนวนมาก
การว่าจ้างทีมพัฒนาเฉพาะโครงการ ควรกำหนดกำลังทีมที่มีอยู่จริงและรูปแบบการทำงานก่อนเริ่มโครงการ
เปรียบเทียบต้นทุนควบคู่กับขอบเขตงานและการส่งต่อระบบ
ใช้การประเมินราคาที่เป็นลายลักษณ์อักษร โดยอิงขอบเขตงานเดียวกันและสมมติฐานที่ชัดเจน ระบุค่าใช้จ่ายที่เกิดขึ้นต่อเนื่อง บริการจากผู้ให้บริการภายนอก การบำรุงรักษา และงานที่ไม่รวมอยู่ในการเปิดใช้งานครั้งแรก ไม่มีตัวเลขเปอร์เซ็นต์การประหยัดที่ใช้ได้กับทุกกรณี ต้นทุนของการว่าจ้างแต่ละงานขึ้นอยู่กับความต้องการและรูปแบบการส่งมอบ
ก่อนเปิดใช้งานครั้งแรก ให้ตกลงเรื่องสิทธิ์เข้าถึง เอกสารการติดตั้งระบบ ผู้รับผิดชอบการดูแลระบบ และวิธีดำเนินการเปลี่ยนแปลงครั้งต่อไป ทบทวนเงื่อนไขในสัญญาที่เกี่ยวข้องร่วมกับผู้ที่รับผิดชอบการว่าจ้างครั้งนี้
รายการตรวจสอบก่อนตัดสินใจ
| ด้าน | หลักฐานที่ควรขอ |
|---|---|
| ขอบเขตงาน | ความต้องการ รายการที่ไม่รวมในงาน และเกณฑ์รับมอบ |
| การทำงานร่วมกัน | รอบการทบทวนงาน ผู้ตัดสินใจหลัก และช่วงเวลาทำงานร่วมกัน |
| การส่งมอบ | รอบพัฒนาที่มีขอบเขตจำกัด และการตรวจสอบที่ใช้ยืนยันผล |
| กำลังทีม | ความรับผิดชอบด้านการส่งมอบที่ระบุชัดเจนและยืนยันแล้วสำหรับโครงการที่เสนอ |
| การส่งต่อระบบ | การจัดการสิทธิ์เข้าถึง เอกสาร การติดตั้งระบบ และการบำรุงรักษา |
ใช้รายการนี้เปรียบเทียบการว่าจ้างที่เกิดขึ้นจริง แทนการอาศัยสมมติฐานจากที่ตั้งของทีม พูดคุยเรื่องความต้องการของคุณกับ BEEK