การประกันคุณภาพซอฟต์แวร์ ตอนที่ 5 : นิยามของกระบวนการ
ดังที่ได้กล่าวไปแล้วเกี่ยวกับหน้าที่ของ QA ซึ่่งเน้นการพัฒนากระบวนการที่ดีเพื่อให้กระบวนการนั้นๆ สามารถผลิตซอฟต์แวร์ที่มีคุณภาพได้ ดังนั้นในตอนที่ 5 - 6 จะกล่าวถึงเรื่องกระบวนการ และวิธีการในการพัฒนากระบวนการ
กระบวนการ (Process) เป็นเครื่องมือที่ใช้ในการสื่อสารวิธีการในการผลิตสินค้าหรือบริการ ประกอบด้วยกิจกรรมต่างๆ และวิธีการทำงาน ประโยชน์ของการมีกระบวนการมีดังนี้
ในมุมมองของฝ่ายบริหาร
ช่วยอธิบายวิธีการทำงานให้แก่ผู้ปฏิบัติงาน
ใช้เป็นเครื่องมือในการถ่ายทอดความรู้ให้กับผู้ปฏิบัติงานที่เข้ามาใหม่
ทำให้สามารถคาดการณ์คุณภาพของผลผลิตได้
ช่วยในเรื่องของการปรับปรุงกระบวนการอย่างต่อเนื่อง
ส่งเสริมให้ผู้ปฏิบัติงานมีส่วนร่วมในการปรับปรุงกระบวนการและคุณภาพเพื่อความพึงพอใจของลูกค้าด้วยการให้ผู้ปฏิบัติงานกำหนดและปรับปรุงกระบวนการทำงานที่ตนเองรับผิดชอบ
ช่วยให้ฝ่ายบริหารสามารถทุ่มเทให้กับงานวางแผนและการติดต่อพบปะกับลูกค้าได้มากขึ้น
ในมุมมองของผู้ปฏิบัติงาน
ช่วยให้ผู้ปฏิบัติมั่นใจได้ว่าผลผลิตที่ตนเองผลิตออกนั้นจะได้รับการยอมรับจากลูกค้า
ช่วยให้ผู้ปฏิบัติงานทำงานอย่างมีทิศทางที่ชัดเจน เพราะทราบว่าผลงานของตนเองจะถูกประเมินอย่างไร
ส่งเสริมให้ผู้ปฏิบัติงานทุ่มเทและใช้ความคิดสร้างสรรค์ในการผลิตผลงาน โดยที่ไม่ต้องกังวลกับวิธีการทำงาน
ช่วยให้ผู้ปฏิบัติงานสามารถวางแผนการทำงานประจำวันของตนเองได้ดียิ่งขึ้น
องค์ประกอบของกระบวนการ ดังแสดงในรูป
นโยบาย (Policy) – อธิบายวัตถุประสงค์ของกระบวนการ โดยมีการเชื่อมโยงกับกลยุทธ์ขององค์กรและตอบสนองต่อความต้องการของลูกค้า
มาตรฐาน (Standard) – ระบุมาตรฐานของผลผลิตที่ได้จากกระบวนการและตัวกระบวนการเองที่ต้องมีและทำให้ได้ เพื่อให้บรรลุตามวัตถุประสงค์ของกระบวนการ มาตรฐานที่กำหนดขึ้น จะเป็นสิ่งบ่งชี้ว่าผลิตภัณฑ์ที่ได้ตรงตามความต้องการของลูกค้าหรือไม่ การกำหนดมาตรฐานต้องสามารถวัดได้ ส่งมอบได้ และเป็นสิ่งจำเป็นที่ต้องมี
สิ่งป้อนเข้า (Input) – หมายถึงเกณฑ์ในการเริ่มกระบวนการ (entry criteria) หรือ สิ่งที่ต้องป้อนเข้าเพื่อนำไปใช้ในกระบวนการก็ได้
วิธีการ (Procedure) – อธิบายวิธีการทำงาน เช่น จะใช้คน เครื่องมือ และเทคนิคในการทำงานอย่างไรให้ได้ตามมาตรฐาน หรือจะแปลง input เป็น output อย่างไร รวมทั้งการตรวจสอบวิธีการทำงานและผลผลิตที่ได้ หากไม่เป็นไปตามมาตรฐาน จะถูกนำไปแก้ไขและตรวจสอบจนกว่าจะได้ตามมาตรฐานที่กำหนด
คน/เครื่องมือ (people/skills, tools) – อธิบายหน้าที่ความรับผิดชอบ ทักษะและความรู้ที่ควรต้องมีในการทำงานตามกระบวนการ เช่นโปรแกรมเมอร์ต้องมีทักษะหรือความรู้ด้านโปรแกรมภาษา C++ รวมทั้งเครื่องมือต่างๆ ที่ช่วยในการทำงานเช่น CASE Tool, เอกสารต้นแบบต่างๆ (template), test tool
ผลลัพธ์ (Output/deliverable) – หมายถึงเกณฑ์ในการออกจากกระบวนการ (exit criteria) หรือผลลัพธ์ที่ได้จากการทำงานตามกระบวนการ ผลลัพธ์อาจเป็นสิ่งที่ใช้ภายในกระบวนการเอง (interim deliverable) ส่งต่อไปยังกระบวนการอื่นหรือส่งมอบให้กับลูกค้า (external deliverable)
การแบ่งประเภทของกระบวนการสามารถแบ่งออกได้เป็น 3 ประเภทดังนี้
กระบวนการในการบริหารจัดการ เป็นกระบวนที่เกี่ยวข้องกับการ ควบคุมการดำเนินธุรกิจ เช่น กระบวนการด้านการบริหารทรัพยากรมนุษย์ การวางแผน การจัดทำงบประมาณ เป็นต้น
กระบวนการทำงาน เป็นกระบวนการที่ใช้สำหรับการทำกิจกรรมต่างๆในองค์กรเพื่อการผลิตหรือบริการ เช่นกระบวนการพัฒนาซอฟต์แวร์ กระบวนการจัดหา กระบวนการทำสัญญา กระบวนการจัดการการเปลี่ยนแปลง กระบวนการประเภทนี้จะรวมถึงมาตรฐานและวิธีการในการดำเนินงานด้วย
กระบวนการตรวจสอบ เป็นกระบวนการที่ใช้สำหรับตรวจสอบผลการดำเนินงานว่าเป็นไปตามมาตรฐานที่กำหนดและลูกค้าพึงพอใจหรือไม่ รวมทั้งตรวจสอบด้วยว่าได้มีการทำงานตามกระบวนการที่กำหนดหรือไม่