งานวิจัยการสร้างระบบอัจฉริยะเพื่อแนะนำทีมสำหรับการพัฒนาซอฟต์แวร์

มหาวิทยาลัยมหิดล มุ่งเน้นการสร้างสรรค์งานวิจัยและนวัตกรรมที่มีคุณภาพ ซึ่งมีประโยชน์ต่อการพัฒนาเศรษฐกิจ สังคม และมนุษยชาติ โดยคณะเทคโนโลยีสารสนเทศและการสื่อสาร (ICT) มีกลุ่มวิจัยที่มีความหลากหลาย เช่น Machine Intelligence and Knowledge Engineering Research Clusters (MIKE), Software Engineering and Business Analytics Research Clusters (SEBA), Technology Enhanced Learning and Human Centered Computing Research Clusters (TEL-HuCC), Medical Informatics Research Clusters (MI), และ Cyber Security and IoT Research Clusters (CSI)

งานวิจัยต่าง ๆ ของคณะฯ ล้วนเป็นการนำเทคโนโลยีสารสนเทศมาใช้ในการวิจัยและพัฒนานวัตกรรมเพื่อตอบโจทย์ปัญหาทางสังคมที่ท้าทาย สำหรับวันนี้ คณะฯ ขอนำเสนอหนึ่งในผลงานวิจัยที่มีความโดดเด่น มาแบ่งปันและเล่าสู่กันฟังกับงานวิจัยในหัวข้อ “การสร้างระบบอัจฉริยะเพื่อแนะนำทีมสำหรับการพัฒนาซอฟต์แวร์ หรือ Automatic Team Recommendation for Collaborative Software Development” ซึ่งเป็นงานวิจัยโดย รศ. ดร. ศุภวงศ์ ทั่วรอบ หัวหน้ากลุ่มวิจัย Machine Intelligence and Knowledge Engineering Research Clusters (MIKE), นายนพดล อัศวกำแหงหาญ, นางสาววราลี ธนาพันธรักษ์, นายพลกฤต สุวรรณวรบุญ นักศึกษาชั้นปีที่ 4, Associate Prof. Dr. Saeed UL Hassan, Information Technology University ประเทศปากีสถาน, และ ดร. มรกต เชิดเกียรติกุล อาจารย์ประจำกลุ่มวิชาวิทยาการคอมพิวเตอร์ โดยงานวิจัยดังกล่าวได้ถูกตีพิมพ์เมื่อไม่นานมานี้ในวารสาร Empirical Software Engineering ซึ่งเป็นวารสารนานาชาติชั้นนำในสาขาวิชา Software Engineering

งานวิจัย Automatic Team Recommendation for Collaborative Software Development ได้นำเสนออัลกอริทึมอัจฉริยะ RECAST ที่ใช้ในการแนะนำทีมพัฒนาซอฟต์แวร์ที่เหมาะสม โดยใช้เทคโนโลยีการเรียนรู้ของเครื่อง (Machine Learning) ควบคู่กับพฤติกรรมศาสตร์ (Behavioral Science) โดยมีหลักเกณฑ์ในการพิจารณาจากหลายมุมมอง เช่น ลักษณะความเข้ากันได้ของทีม และความสามารถเชิงเทคนิคที่จำเป็นในการบรรลุงานพัฒนาซอฟต์แวร์ นั้น ๆ ในบริบทของการพัฒนาซอฟต์แวร์ร่วมกันขนาดใหญ่ (Large-scale Collaborative Software Development) ซึ่งยังไม่เคยมีใครทำการวิจัยเพื่อตอบโจทย์ปัญหาที่ท้าทายนี้มาก่อน

โปรแกรมต้นแบบของ RECAST ถูกพัฒนาขึ้นด้วย Python, Scikit-Learn, MALLET, Neo4J ซึ่งสามารถใช้งานโดยการป้อนรายละเอียดของซอฟต์แวร์ที่ต้องการพัฒนา และตำแหน่งของสมาชิกในทีมที่ต้องการ (เช่น Developer, Tester, Reviewer, Integrator) จากนั้น RECAST จะคำนวณแนะนำทีมพัฒนาซอฟต์แวร์ ซึ่งจะมีการเรียงลำดับทีมตามความเหมาะสมต่องานพัฒนาซอฟต์แวร์นั้นๆ โดยในการสร้างระบบอัจฉริยะเพื่อแนะนำทีมสำหรับการพัฒนาซอฟต์แวร์นั้น เป็นงานวิจัยที่บูรณาการจากศาสตร์ในด้านต่าง ๆ ได้แก่ Artificial Intelligence, Software Engineering, และ Behavioral Science

รศ. ดร. ศุภวงศ์ ทั่วรอบ ได้กล่าวถึงประโยชน์ของงานวิจัยนี้ว่า “ปัญหาส่วนใหญ่ที่มักเจอในขั้นตอนการพัฒนาซอฟต์แวร์นั่นคือ การเลือกสมาชิกทีมจากกลุ่มผู้พัฒนาซอฟต์แวร์ขนาดใหญ่เพื่อให้บรรลุงานพัฒนาซอฟต์แวร์นั้นเป็นเรื่องที่ยาก เนื่องจากไม่เพียงแต่จะต้องพิจารณาทักษะทางเทคนิคของสมาชิกแต่ละคนแล้ว ยังจะต้องพิจารณาความเข้ากันได้ของสมาชิกในทีมในหลากหลายมุมมองด้วย ทีมวิจัยของเราจึงมีความตั้งใจที่จะแก้ปัญหาที่เกิดขึ้น ด้วยการแนะนำทีมพัฒนาซอฟต์แวร์ที่เหมาะสม โดยงานวิจัย Software Automatic Team Recommendation for Collaborative Software Development ได้เสนออัลกอริทึม RECAST ซึ่งเรียนรู้องค์ประกอบของทีมที่มีคุณภาพจากทีมที่เคยประสบความสำเร็จก่อนหน้านี้ เพื่อใช้ในการจัดลำดับทีมจากลักษณะความเข้ากันได้ของทีมและทักษะทางเทคนิคที่จำเป็นในการบรรลุงานพัฒนาซอฟต์แวร์นั้น ๆ

งานวิจัยนี้เริ่มต้นมาจากงานวิจัยระดับปริญญาตรีของนักศึกษาคณะ ICT มหิดล ตนจึงมีความภูมิใจในศักยภาพของเด็กมหิดลทั้งในเรื่องวิชาการและความสามารถในการประยุกต์ใช้เทคโนโลยีปัญญาประดิษฐ์เพื่อแก้ปัญหาของสังคมได้อย่างสร้างสรรค์ ตอบสนองปณิธานของมหาวิทยาลัยมหิดล – ปัญญาของแผ่นดิน”

สำหรับผู้สนใจงานวิจัยนี้ สามารถอ่านบทความวิจัยฉบับสมบูรณ์ได้ที่

https://rdcu.be/ct5ES