Tuesday, November 1, 2011

การร่างแผนแม่บทไอซีทีฉบับใหม่ ภายใต้กรอบนโยบายไอซีที 2020 (ตอนที่ 6 พัฒนาบุคลากกรซอฟต์แวร์)

เมื่อตอนที่ 5 ได้เขียนถึง การใช้ไอซีทีในยุคจากนี้ไป นอกจากจะคำนึงการสร้างเสริมประสิทธิภาพภายในองค์กรแล้ว ยังต้องสามารถให้บริการแก่คนกลุ่มใหญ่ที่อยู่ขอบนอกของธุรกิจ (Edge of the Business) ซึ่งหมายถึงกลุ่มลูกค้า พันธมิตร พนักงานขององค์กร และชุมชนต่าง ๆ ที่เกี่ยวข้องกับธุรกิจทั้งในปัจจุบันและอนาคต จึงจำเป็นที่องค์กรต้องเตรียมโครงการ Retrain พนักงานให้มีความรู้ใหม่ ๆ เพื่อช่วยนำองค์กรสู่การแข่งขันในศตวรรษใหม่นี้ได้ ด้วยแนวคิดการทำธุรกรรมใหม่ดังที่ได้กล่าวมาแล้วในตอนก่อน ๆ มีเพื่อน ๆ ถามว่า ลักษณะการใช้ไอซีทีที่กล่าว นักพัฒนาซอฟต์แวร์จะต้องเรียนรู้อะไรเพิ่มขึ้นหรือไม่ แนวทางการออกแบบระบบซอฟต์แวร์ และแนวคิดการออกแบบซอฟต์แวร์จะเปลี่ยนแปลงมากมายหรือไม่อย่างไร จึงขอถือโอกาสนี้ เขียนเรื่องที่เป็นเทคโนโลยีซอฟต์แวร์และกระบวนการทางซอฟต์แวร์ ซึ่งเกี่ยวโยงกับแผนแม่บทไอซีทีฉบับใหม่ของกระทรวงไอซีที ว่าด้วยยุทธศาสตร์การพัฒนาทุนมนุษย์ยุคใหม่

ระบบซอฟต์แวร์ที่เน้นการใช้ไอซีทีเพื่อสร้างประสิทธิภาพการทำงานภายในองค์กร จัดเป็นกลุ่มที่เรียกว่าระบบซอฟต์แวร์องค์กร (Enterprise software) เช่นระบบบริหารทรัพยากรองค์กร (Enterprise Resource Planning, ERP) รวมทั้งแต่ งานบริหารการผลิต บริหารการตลาด การขาย ระบบทำบัญชี ฯลฯ ระบบงานเหล่านี้เน้นการประมวลผลข้อมูลของกลุ่มรายการเกี่ยวกับการซื้อ การขาย การชำระเงิน และการรับเงิน ข้อมูลของธุรกิจจึงเป็นผลลัพธ์สำคัญที่นำไปสู่การประมวลผลด้านบัญชีบริหาร (Managerial Accounting) เพื่อสนับสนุนการบริหาร และการควบคุมธุรกิจในภาพรวม ระบบซอฟต์แวร์เหล่านี้ถูกสร้างขึ้นภายใต้เงื่อนไขและกระบวนการทำงาน และกฎระเบียบขององค์กร ที่ไม่เปลี่ยนแปลงบ่อย แต่มีความสลับซับซ้อนมาก นอกจากนี้ ยังต้องคำนึงถึงการบูรณาการระหว่างงานต่างชนิด และต่างหน่วยงาน เพื่อให้การปฎิบัติธุรกิจขององค์กรภายในห่วงโซ่อุปทานโดยรวมมีความราบรื่น และให้การควบคุมและการบริหารองค์กรมีเอกภาพ ในระยะหลัง งานลักษณะนี้ นิยมใช้เทคโนโลยีสถาปัตยกรรมเชิงบริการ (Service Oriented Architecture, SOA) เพื่อความประหยัด และความคล่องตัวต่อการปรับเปลี่ยนระบบงานเมื่อจำเป็น การเชื่อมโยงระบบซอฟต์แวร์เพื่อทำงานแบบบูรณาการนี้ อาศัยเทคนิคเรียกว่า Vertical Integration คือการเชื่อมโยงในระดับระบบงาน หรือเชื่อมโยงระหว่างชิ้นส่วนซอฟต์แวร์ของระบบงาน นักพัฒนาซอฟต์แวร์ส่วนใหญ่ จะคุ้นเคยกับเทคนิคตามที่กล่าว
เมื่อธุรกิจเปลี่ยนมาเน้นบริการลูกค้ามากขึ้น ให้ความสำคัญกับลูกค้า และตัวบุคคลมากขึ้น การพัฒนาระบบซอฟต์แวร์เพื่อปฎิสัมพันธ์กับตัวบุคคล เพื่อให้ลูกค้าและพนักงานมีส่วนร่วมในการทำธุรกรรมเพิ่มขึ้น เหล่านี้ต้องเน้นความสามารถบริการลูกค้าอย่างประทับใจ แต่การบริการลูกค้า และการปฎิสัมพันธ์กับคนนั้น มีความไม่แน่นอนสูง และเป็นกระบวนการที่ไม่คงที่ กล่าวคือ คนสองคนทำงานเรื่องเดียวกัน อาจใช้วิธีที่ต่างกันได้ เมื่อเป็นเช่นนี้ เทคนิคที่ใช้สร้างระบบซอฟต์แวร์ โดยเฉพาะวิธีบูรณาการระบบบริการที่ต่างกันนั้น ย่อมไม่เหมาะที่จะใช้เทคนิคเดียวกับระบบซอฟต์แวร์องค์กร (Enterprise software) ที่ได้กล่าวมาแล้ว  แทนที่จะใช้เทคนิคบูรณาการแบบ Vertical Integration ที่มองระบบซอฟต์แวร์เป็น Stacks เราจะใช้เทคนิคการบูรณาในลักษณะเป็น Ecosystem (ท่านที่ไม่เข้าใจความแตกต่างระหว่าง Stacks และ Ecosystem ขอแนะนำให้อ่านบทความของ JP Rangaswami)

แนวคิดการสร้างซอฟต์แวร์แบบองค์กร (Enterprise software) กับซอฟต์แวร์สำหรับปัจเจกบุคคลระดับรากหญ้า หรือขอบนอกของธุรกิจ (Edge of the Business) แตกต่างกันมาก แทนที่จะเป็น SOA เราจะใช้ WOA แทนที่จะเป็น SOAP based Web Service เราจะใช้ RESTful Web Service แทนที่จะสร้างระบบซอฟต์แวร์สมบูรณ์แบบที่มีคุณภาพสูงและสลับซับซ้อน เราจะสร้างซอฟต์แวร์ที่พอทำงานได้แบบเรียบง่าย (Good enough) และเป็น Situational application แทนที่จะมี Interface ที่ดูสวยงามและครบถ้วนสมบูรณ์บนจอภาพขนาดใหญ่ เราจะสร้าง Interface ที่เรียบง่าย และทำงานผ่านจอภาพของสมาร์ทโฟน และแท็บเล็ตพีซี ที่เน้นการใช้ง่ายและสะดวกเป็นหลักใหญ่ แทนที่จะเป็นระบบที่ติดต่อสื่อสารกับระบบ Back office ผ่านระบบ Firewall ที่เน้นความปลอดภัยเป็นหลัก เราจะออกแบบให้ติดต่อสื่อสารผ่านระบบ Wireless Internet เพื่อความสะดวกและรวดเร็ว จึงเห็นได้ว่า ซอฟต์แวร์ทั้งสองประเภท คือระบบซอฟต์แวร์ระดับองค์กร กับระบบซอฟต์แวร์สำหรับ Edge มีลักษณะและคุณสมบัติแตกต่างกันโดยสิ้นเชิง จึงจำเป็นที่นักพัฒนาซอฟต์แวร์จะต้องเรียนรู้วิชาใหม่ ๆ รวมตั้งแต่แนวคิดการออกแบบระบบซอฟต์แวร์ การใช้เครื่องมือพัฒนาซอฟต์แวร์ การเลือกใช้ protocol เพื่อการเชื่อมโยง และเทคโนโลยีอื่น ๆ ที่เกี่ยวข้อง

นี่เป็นเหตุผลที่ผมได้กล่าวตั้งแต่ตอนที่ 1 ว่า ก่อนที่จะกำหนดมาตรการเพื่อการพัฒนาทุนมนุษย์ภายใต้กรอบนโยบายไอซีที ICT2020 เราต้องเข้าใจก่อนมา แนวโน้มการเปลี่ยนแปลงภายใต้อิทธิพลจากไอซีที ที่กระทบต่อการทำธุรกิจยุคใหม่นั้น เป็นลักษณะใด ยังมีคนจำนวนมากที่ไม่ยอมรับทิศทางการเปลี่ยนแปลงตามลักษณะที่กล่าวข้างต้น สำหรับท่านที่เห็นด้วยกับแนวคิดใหม่ของการทำธุรกิจนั้น จะเห็นว่าความต้องการใช้ซอฟต์แวร์สำหรับ Edge มีมหาศาลมาก เพราะเราไม่ได้สร้างซอฟต์แวร์สำหรับองค์กรเป็นร้อย หรือพัน หรือหมื่นราย แต่เรากำลังสร้างซอฟต์แวร์สำหรับคนเป็นพัน ๆ ล้านคน ขอแนะนำให้ท่านอ่านบทความของ Michael Fauscetts เรื่อง The Next Generation Enterprise Platform  เพื่อเป็นข้อมูลเพิ่มเติม โดยสรุป เทคโนโลยีกลุ่ม SOA กับกลุ่มมาตรฐาน Web Service ที่สลับซับซ้อน แต่มีความสมบูรณ์แบบมาก เมื่อใช้ร่วมกับเทคนิคบูรณาการแบบ Vertical Integration  เหมาะสำหรับงานระดับองค์กร ที่เป็นการประมวลผลเชิงรายการ ภายใต้กระบวนการและกฏระเบียบที่ค่อนข้างอยู่ตัว มีการเปลี่ยนแปลงไม่บ่อยมาก แต่สำหรับซอฟต์แวร์สำหรับใช้ระดับบุคคล ที่เรียบง่าย ไม่ซับซ้อนตรงไปตรงมา เน้นการเชื่อมโยงและทำงานร่วมกันเป็นเครือข่าย การเลือกใช้เทคโนโลยีในกลุ่ม Web Oriented Architecture (WOA) ซึ่งรวมซอฟต์แวร์ในกลุ่ม Web 2.0, RESTful Web Service, JSON ฯลฯ จะเหมาะสมกว่า

ผมเพิ่งโพสเรื่อง “ไอซีทีกับการฟื้นฟูเศรษฐกิจหลังน้ำลด” เมื่อวันก่อน การเร่งพัฒนาซอฟต์แวร์กลุ่ม Edge Computing ซึ่งอาศัย Open Source Software เป็นส่วนใหญ่ มีนัยสำคัญช่วยสนับสนุนการพัฒนาผลิตภาพของภาพเศรษฐกิจ ซึ่งน่าจะเป็นวิธีหนึ่งที่จะช่วยฟื้นฟูธุรกิจหลังน้ำลดแล้วได้

No comments:

Post a Comment