Adoption of Automated Software Engineering Tools and Techniques in Thailand: เมื่ออุตสาหกรรมซอฟต์แวร์ที่กำลังเติบโตในประเทศไทย ยังคงต้องการความช่วยเหลือ 

เครื่องมือและเทคนิคด้านวิศวกรรมซอฟต์แวร์แบบอัตโนมัติ (Automated Software Engineering (ASE)) กำลังได้รับความสนใจอย่างมากในการพัฒนาซอฟต์แวร์ เนื่องจากศักยภาพในการเพิ่มประสิทธิภาพ คุณภาพ และความรวดเร็วในการพัฒนาซอฟต์แวร์ โดยเครื่องมือ ASE ประกอบไปด้วยเครื่องมือที่ช่วยทำให้กระบวนการสำคัญในการพัฒนาซอฟต์แวร์สามารถทำได้อย่างอัตโนมัติ ได้แก่ การวิเคราะห์ การออกแบบ การพัฒนา การทดสอบ และการบำรุงรักษาระบบซอฟต์แวร์ ถึงแม้ว่าเครื่องมือเหล่านี้จะได้รับการใช้งานอย่างแพร่หลายในบริษัทซอฟต์แวร์ขนาดใหญ่ (เช่น Microsoft, Google, Meta) แต่สำหรับธุรกิจซอฟต์แวร์ขนาดเล็กและขนาดกลางในประเทศไทย การใช้เครื่องมือหรือเทคนิค Automated Software Engineering นั้น ยังไม่ได้รับความนิยมเท่าที่ควร

งานศึกษาวิจัยเรื่อง Adoption of Automated Software Engineering Tools and Techniques in Thailand เป็นผลงานจากคลัสเตอร์วิจัย Software Engineering and Business Analytics (SEBA) ของคณะเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยมหิดล (ICT Mahidol) ซึ่งคณะผู้วิจัยประกอบไปด้วย ผศ. ดร.ชัยยงค์ รักขิตเวชสกุล  ผศ. ดร.มรกต เชิดเกียรติกุล และ ผศ. ดร.ธันวดี สุเนตนันท์ นอกจากนี้ยังมีผู้ร่วมวิจัยจาก University College London ประเทศสหราชอาณาจักร อีกสองท่าน คือ Assoc. Prof. Dr. Jens Krinke และ Prof. Federica Sarro ซึ่งงานศึกษาวิจัยนี้เป็นงานที่ศึกษาการนำเครื่องมือและเทคนิค ASE มาใช้ในการพัฒนาซอฟต์แวร์ในบริษัทด้านซอฟต์แวร์ขนาดเล็กไปจนถึงขนาดกลาง (SMEs) ของประเทศไทย พร้อมทั้งสำรวจปัญหาหรือข้อจำกัดในการใช้งานเครื่องมือ ASE ที่นักพัฒนาซอฟต์แวร์ในบริษัทขนาดกลางและขนาดเล็กในประเทศไทยพบเจอในปัจจุบัน

“การวิจัยในครั้งนี้เป็นการต่อยอดมาจากผลงานศึกษาวิจัยชิ้นแรก คือ “Identifying Software Engineering Challenges in Software SMEs: A Case Study in Thailand” ซึ่งในงานศึกษาวิจัยนั้นเป็นการสัมภาษณ์ตัวแทนของบริษัทที่เกี่ยวข้องด้านซอฟต์แวร์จำนวน 4 บริษัท ผลการศึกษาพบว่าปัญหาและความท้าทายที่นักพัฒนาซอฟต์แวร์ภายในบริษัทซอฟต์แวร์ขนาดกลางและขนาดเล็กเผชิญอยู่ในปัจจุบัน ได้แก่ การไม่ใช้เครื่องมือสำหรับวัดซอฟต์แวร์ (Software measurement) ทำให้ผู้พัฒนาไม่ทราบว่าคุณภาพซอฟต์แวร์นั้นดีหรือไม่ การไม่ใช้เครื่องมือเพื่อวิเคราะห์โค้ด (Static Code Analysis) เพื่อตรวจดูปัญหา เช่น ปัญหาความปลอดภัย หรือ ปัญหาด้านการเขียนโค้ดที่ไม่ดี ซึ่งอาจจะทำให้การดูแลรักษาในอนาคตยากขึ้น และ การไม่ทดสอบซอฟต์แวร์ (Software Testing) ด้วยเหตุผลหลายประการ เช่น มีระยะเวลาในการพัฒนาที่สั้นและเน้นการส่งงานอย่างรวดเร็ว”

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

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

“บริษัทส่วนใหญ่รู้จักคอนเซ็ปต์ของการใช้เทคนิคหรือเครื่องมือด้านวิศวกรรมซอฟต์แวร์แบบอัตโนมัติ (ASE) มาช่วยในการพัฒนาซอฟต์แวร์ แต่ยังไม่ได้หยิบเอามาใช้เท่าไหร่ เช่น การวัดซอฟต์แวร์ การวิเคราะห์ซอฟต์แวร์แบบอัตโนมัติ หรือ การทดสอบซอฟต์แวร์แบบอัตโนมัติ แต่เทคนิคที่ได้รับการยอมรับและใช้อย่างแพร่หลายในปัจจุบัน คือ continuous Integration (CI)”

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

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

ดาวน์โหลดผลงานตีพิมพ์เรื่อง “Adoption of Automated Software Engineering Tools and Techniques in Thailand” ได้ที่ >>> https://doi.org/10.1007/s10664-024-10472-6

ติดตามผลงานของ ผศ. ดร.ชัยยงค์ รักขิตเวชสกุล ได้ที่ https://cragkhit.github.io/