ISO 29110 Software Basic Profile 's Processes
ISO 29110 Software Basic Profile 's Processes
มาพูดถึง Software Basic Profile ของ ISO/IEC 29110 ว่าประกอบด้วยกระบวนการและกิจกรรมอะไรบ้างแบบคร่าว ๆ กัน
รูปด้านล่างอ้างอิงจากเว็บอย่างเป็นทางการ ISO.org จะเห็นได้ว่า กระบวนการหลักของ Software Basic Profile ของ 29110-4-1 นั้นประกอบด้วยกระบวนการ 2 ด้านคือ Project Management (PM) และ Software Implementation Process (SI)
เอกสาร TR 29110-5-1-2 ซึ่งปรากฏในเว็บไซต์ทางการ ISO ระบุชัดเจนว่า VSE ผู้เข้ารับการประเมิน Profile แบบ Software Engineering Basic หรือจะเรียกว่า Generic Profile ต้องทำความเข้าใจกระบวนและกิจกรรมหลักจำนวน 2 กระบวนการ คือ Project Management (PM) และ Software Implementation Process (SI) VSE ต้องลงมือดำเนินการและจัดเตรียมเอกสารทั้งแบบ Online หรือ Offline เพื่อแสดงต่อผู้ประเมินหรือ Auditor
ผู้เกี่ยวข้องหลักในกระบวนการพัฒนาซอฟต์แวร์ในระดับ Basic Profile คือ ลูกค้า และ องค์กร (ภายในองค์กรประกอบด้วย Role อีกหลายตำแหน่ง)
Customer หรือ ลูกค้า คือผู้ให้ Agreement ความต้องการในการพัฒนาระบบรวมถึงเงื่อนไขและข้อจำกัดต่าง ๆ ในขั้นตอนแรก Agreement ถือเป็นจุดเริ่มต้นของกระบวนการ ISO 29110
VSE หรือ องค์กร คือผู้ให้บริการพัฒนาซอฟต์แวร์แก่ลูกค้า เมื่อได้รับ Agreement มา ก็นำเข้าสู่กระบวนการทำงานขององค์กร จนท้ายที่สุดสามารถนำส่งซอฟต์แวร์ได้ตรงตามเงื่อนไขที่ตกลงกับลูกค้าไว้
หลักการสำคัญของการทำ ISO 29110 Software Engineering Basic Profile คือ VSE ต้องสามารถดำเนินการตามกระบวนการ PM และ SI ได้ครบถ้วน เทคนิคในการดำเนินการนั้นไม่ได้มีอะไรซับซ้อน เพราะโดยมากเป็นไปตามกระบวนการพัฒนาซอฟต์แวร์อยู่แล้ว VSE ในปัจจุบันมีการใช้ Methodology หรือ Framework ในการทำงานที่หลากหลาย เช่น กรอบการทำงานแบบ Water Fall แบบ Agile หรือ แบบผสมผสาน
ข้อดีของ ISO 29110 คือการยึดมั่นว่ามาตรฐานคือแนวทางการพัฒนากระบวนการซอฟต์แวร์ให้มีคุณภาพโดยไม่ขึ้นอยู่กับ Framework ใด Framework หนึ่ง แนวคิดนี้ทำให้ ISO 29110 มีความยืดหยุ่นอย่างมากต่อ VSE
กระบวนการบริหารโครงการ (Project Management Process) คือกระบวนการที่มุ่งเน้นการบริการโครงการพัฒนาซอฟต์แวร์ให้มีคุณภาพอย่างเป็นระบบ โดยคำถึงถึง Scope Time Cost เป็นหลัก ใน ISO 29110 กระบวนการ PM ประกอบด้วยกระบวนการย่อยทั้งหมด 4 ขั้นตอนคือ
Project planning คือกระบวนการวางแผนโครงการ ผู้เกี่ยวข้องต้องวางแผน กำหนดความจำเป็นต่าง ๆ ให้ครบถ้วน เพื่อเป็นการเตรียมความพร้อมก่อนการพัฒนาซอฟต์แวร์
Project plan execution คือกระบวนการลงมือทำโครงการ ผู้เกี่ยวข้องต้องลงมือทำโครงการตามแผนที่วางไว้และควบคุมปัจจัยต่าง ๆ ทั้งภายในและภายนอก ให้สมดุลย์เพื่อให้การพัฒนาซอฟต์แวร์ประสบความสำเร็จ
Project assessment and control คือกระบวนการตรวจสอบและประเมินความครบถ้วนของโครงการว่าเป็นไปตามแผนที่วางไว้หรือไม่ ผู้เกี่ยวข้องต้องมีการติดตามโครงการ หรือแม้แต่การบริหารจัดการความเปลี่ยนแปลง เพื่อให้โครงการประสบความสำเร็จ
Project closure คือ กระบวนนำส่งซอฟต์แวร์ที่พัฒนาเสร็จแล้วให้กับลูกค้าตาม Agreement และรายละเอียดย่อยที่ได้ตกลงร่วมกัน
กระบวนการพัฒนาซอฟต์แวร์ (Software Implementation Process) คือกระบวนการพัฒนาซอฟต์แวร์อย่างมีประสิทธิภาพโดยมุ่งเน้นกระบวนการที่ดีและผลผลิตซอฟต์แวร์ที่ดี ใน ISO 29110 ไม่ได้ระบุข้อจำกัดของ Framework ในการพัฒนาซอฟต์แวร์ นั่นหมายถึง VSE สามารถใช้กระบวนการแบบไหนในการพัฒนาซอฟต์แวร์ก็ได้ แต่ต้องตั้งอยู่บนพื้นฐานของขั้นตอนมาตรฐานซึ่งถือเป็นกระบวนการสากล กระบวนการ SI ประกอบด้วยกระบวนการย่อยทั้งหมด 6 ขั้นตอนคือ
Software implementation initiation คือกระบวนการเริ่มต้นพัฒนาซอฟต์แวร์ภายใต้แผนการดำเนินการโครงการ ผู้เกี่ยวข้องต้องริเริ่มจัดทำรายงานความต้องการให้พร้อมในทุกมิติที่เป็น Agreement และความต้องการอื่น ๆของลูกค้า และตกลงกับทีมเพื่อดำเนินการ
Software requirements analysis คือกระบวนการวิเคราะห์ความต้องการของลูกค้า อาจเปรียบเทียบได้เป็นการวิเคราะห์ความต้องการในเชิงธุรกิจออกมาเป็นความต้องการในมุมมองการพัฒนาซอฟต์แวร์
Software architectural and detailed design คือกระบวนการออกแบบโครงสร้างระบบซอฟต์แวร์ ออกแบบสถาปัตกรรมข้อมูล และส่วนอื่น ๆที่เกี่ยวข้อง ทั้งนี้รวมถึงการออกแบบหน้าจอ โปรแกรมด้วย กระบวนการนี้จะต้องอาศัยการสื่อสารอย่างมากภายในทีมพัฒนาซอฟต์แวร์และอาจมีการติดต่อกับลูกค้าเป็นระยะเพื่อยืนยันความเข้าใจ
Software construction คือกระบวนการพัฒนาซอฟต์แวร์ตามแผนและการออกแบบที่วางไว้
Software integration and tests คือกระบวนทดสอบระบบซอฟต์แวร์ที่พัฒนาขึ้นว่าสามารถดำเนินการได้ดีและเป็นไปตามวัตถุประสงค์การดำเนินการโครงการหรือไม่
Software product assembly คือกระบวนการรวบรวมซอฟต์แวร์และเอกสารอ้างอิงที่ได้พัฒนาขึ้นเพื่อนำส่งแก่ลูกค้า กระบวนการนี้ถือเป็นกระบวนการสุดท้ายก่อนปิดการพัฒนาซอฟต์แวร์ ดังนั้นในขั้นตอนนี้จึงมีการระบุขั้นตอนการจัดทำเอกสารต่าง ๆเพื่อประกอบโครงการสำหรับลูกค้าและสำกรับไว้ใช้ในองค์กรด้วย
ในภาพรวมการทำ Process PM และ SI VSE ต้องมีการกำหนดทีมงานและหน้าที่ให้ดี ทีมงานต้องทำความเข้าใจ ISO 29110 Terms ให้มากเพื่อสร้างความเข้าใจที่ตรงกัน จากนั้นต้องดำเนินการโครงการให้ได้มาตรฐานตามที่ ISO 29110 ระบุไว้ ประเทศไทยเป็นหนึ่งในประเทศที่มีผู้ได้รับการรับรอง ISO 29110 Software Engineering Basic Profile อันดับต้น ๆ ของโลก