องค์กรมักจะมองหาผู้ให้บริการในการพัฒนา Software ที่มีความเชี่ยวชาญ น่าเชื่อถือ มีประสบการณ์ยาวนาน มีความมั่นคงและความรับผิดชอบที่จะช่วยดูแล Software นั้น ๆ ไปได้ระยะเวลาหนึ่ง เช่น 3-5 ปีตามวงจรชีวิตของผลิตภัณฑ์
ทุกความต้องการสามารถหาผู้ให้บริการได้จริงหรือ?
เป็นไปได้ยากที่ Software ใด ๆ จะรองรับได้ทุกความต้องการของผู้ใช้ได้ บางงานที่ต้องอาศัยความรู้เชิงลึกเฉพาะด้าน เช่น ใช้ Excel เป็น Front-End สำหรับการรับค่า, คำนวณ, บันทึกข้อมูลและแสดงผล ที่จะต้องติดกับกับฐานข้อมูลชนิดอื่น ๆ เช่น Access, SQL ฯลฯ ทั้งมี Form ที่หลากหลาย มีปริมาณบรรทัดและคอลัมน์ไม่แน่นอน และมี Form เป็นจำนวนมาก สามารถที่จะ Drill drown ข้อมูลไปดูรายละเอียดได้ สามารถกำหนดสิทธิ์การเข้าถึงเมนูต่าง ๆ ของโปรแกรม ฯลฯ
งานที่กล่าวมาข้างต้นเป็นงานเฉพาะทางของผู้ที่มีความรู้เกี่ยวกับ Excel เชิงลึก นอกจากสามารถจัดการกับ Object ต่าง ๆ ของ Excel ได้เป็นอย่างดียังต้องบูรณาการความรู้ในด้าน Programming หลายภาษา ทั้ง XML, SQL, HTML และ VBA มาประกอบเข้าด้วยกันได้ดีอีกด้วย
งานเฉพาะเช่นที่กล่าวมานี้หา Software เฉพาะทางได้ยากและหาผู้พัฒนาได้ยาก
ทำไมจึงหาผู้ให้บริการไม่ได้ จริงหรือที่ไม่มีผู้ที่มีความสามารถพอ?
ผู้ให้บริการมีความเชี่ยวชาญในภาษา Programming ด้านต่าง ๆ นั้นมีมากมาย แต่หากเป็นผลิตภัณฑ์สำเร็จรูปเช่น Excel, Word, Access ย่อมมีจำกัด ทั้งนี้เพราะจำเป็นต้องอาศัยความรู้เฉพาะใน Object ของโปรแกรมนั้น ๆ จึงจะจัดการได้ สิ่งสำคัญคือความต้องการของผู้ใช้งาน หากเจาะจงว่าต้องใช้โปรแกรมนั้น ๆ เช่น Excel ทั้งมีความต้องการหลากหลาย ซับซ้อน ยืดหยุ่นและจำเป็นต้องทำให้ครบทุกความต้องการ ผู้ให้บริการจะรองรับได้หรือไม่ ราคาของของ Project และระยะเวลาในการศึกษาโปรแกรมนั้น ๆ สำหรับการพัฒนา Project เป็นที่ยอมรับของผู้ใช้หรือไม่
หากหาผู้ให้บริการไม่ได้ทางเลือกอื่นคืออะไร?
ด้วยข้อจำกัดที่กล่าวมา ทางเลือกหนึ่งคือใช้พนักงานที่มีความเชี่ยวชาญพัฒนาเอง โดยทั่วไปแม้ว่าองค์กรจะมีพนักงานที่มีความสามารถที่จะพัฒนา Project เฉพาะทางนั้น ๆ ได้ แต่องค์กรมักจะไม่เลือกให้พนักงานของตนพัฒนางานขึ้นมาเอง ทั้งนี้เพราะเป็นกังวลว่างานดังกล่าวติดตัวพนักงาน หมายถึง หากพนักงานย้ายไปไหนก็ยังต้องคอย Support งานนั้น หรือหากพนักงานลาออกไปและโปรแกรมมีปัญหาจะทำให้งานติดขัดหากรุนแรงถึงขั้นต้องทิ้่งโปรแกรมนั้นไปจะทำให้เสียเวลาที่จะต้องเริ่มนับหนึ่งกันใหม่ บางองค์กรให้มูลค่าการพัฒนา Software หรือเขียนโปรแกรมที่ต้องใช้ความรู้เชิงเทคนิคและจินตนาการสูงในระดับต่ำ อาจจะถึงขั้นต่ำกว่าการ Maintain ระบบใหญ่ ๆ ซึ่งมีลักษณะค่อนข้างตรงไปตรงมาเสียด้วยซ้ำ แม้ว่าในการทำงานหรือชีวิตจริงจะต้องใช้ Software ใด ๆ ที่มีการเพิ่มความสามารถอยู่ตลอดเวลาไม่ว่าจะเป็นใน PC หรือใน Smartphone ก็ตาม
ประเด็นที่ควรพิจารณาประกอบ
- เมื่อความเร็วเป็นสิ่งจำเป็นรวมทั้งเป็นงานสำคัญและลดปัญหา ลดเวลา ทำให้เกิดความคล่องตัวกับองค์กร ในเมื่อพนักงานขององค์กรสามารถทำได้เองก็ย่อมต้องแลกกันว่าสิ่งใดให้ประโยชน์สูงสุด การมีพนักงานที่มีความเชี่ยวชาญระดับสูงที่สามารถทำงานเช่นนี้ได้ไม่ใช่เรื่องง่ายที่ใคร ๆ จะมีกันได้ หากเกรงประเด็นงานติดตัวก็ต้องสร้างพนักงานที่ความความรู้ดังกล่าวขึ้นมาทดแทนก็จะช่วยลดความกังวลนี้ลงได้บ้าง
- ความเชี่ยวชาญของพนักงานผู้พัฒนาอยู่ระดับใด กรณีเป็นผู้ที่มีความเชี๋ยวชาญที่องค์กรระดับโลกรองรับในความสามารถ ย่อมน่าเชื่อถือได้มาก เพราะบุคคลผู้นั้นย่อมไม่นำชื่อเสียงของตนมาแลกกับการทำงานแบบไร้ประสิทธิภาพ เพราะจะเสื่อมเสียไปถึงสถาบันที่รองรับในความสามารถด้านนั้น ๆ นั่นหมายถึงว่า มีความรวดเร็วในการพัฒนาเพราะพนักงานมีความรู้ความเข้าใจระบบงานอยู่ก่อนแล้วแม้จะไม่ทั้งหมด แต่การสื่อสารถ่ายทอดให้กันย่อมสะดวก รวดเร็ว ทั้งงานที่ได้มีโอกาสจะครบตาม Requirement และมีความมั่นคงแข็งแรงสูงตามความรู้ความสามารถของผู้พัฒนา ข้อมูลสำคัญไม่ต้องมีการถ่ายโอนไปยังภายนอกองค์กร
- บริษัทมีเงินทุนสูง พร้อมที่จะเปลี่ยนผู้ให้บริการได้ตลอดเวลา พร้อมที่จะล้มเหลวและเริ่มใหม่ได้เสมอ ไม่จำเป็นต้องมีผู้เชี่ยวชาญของตนเอง
- ในชีวิตการทำงานจริง นอกจากระบบงานหลักแล้วพนักงานส่วนหนึ่งสร้างโปรแกรมย่อย ๆ พัฒนาตามความสามารถของตัวเองเพื่อช่วยให้ทำงานเร็วขึ้นมาอย่างหลากหลายและมีเป็นจำนวนมาก