การประมาณการโครงการ
ความหมายของการประมาณการ การประมาณ หมายถึง การวิเคราะห์ การให้ความเห็น การพยากรณ์ หรือการคาดหมายล่วงหน้า ดังนั้น การ ประมาณต้นทุนจึงเป็นการวิเคราะห์หรือการให้ความเห็นเกี่ยวกับค่าใช้จ่ายที่คาดว่าจะเกิดขึ้นใน กระบวนการทำงานหรือกระบวนการผลิต ซึ่งอาจเป็นการทำผลิตภัณฑ์ การจัดทำโครงการ หรือการผลิตงาน บริการ
ความสำคัญของการประมาณการ การประมาณการโครงการด้านเทคโนโลยีสารสนเทศ ถ้าเป็นโครงการด้านฮาร์ดแวร์จะมีความยุ่งยากหรือ ซับซ้อน น้อยกว่าเพราะเป็นการจัดซื้ออุปกรณ์ต่างๆ ซึ่งจะมีราคาที่ค่อนข้างแน่นอนและชัดเจน ส่วนการ ประมาณการโครงการพัฒนาซอฟต์แวร์จะมีขั้นตอนที่สลับซับซ้อนมากกว่า ซึ่งในการประมาณการ จำเป็นต้องอาศัยผู้ที่มีประสบการณ์และมีทักษะในการประมาณการ
เทคนิคและเครื่องมือประมาณการ การประมาณการจากความคล้ายคลึง โดยการใช้ค่าใช้จ่ายจริงจากโครงการที่คล้ายคลึงกันก่อนหน้านี้มา เป็นฐานสำหรับการประมาณการค่าใช้จ่ายของโครงการปัจจุบัน เทคนิคนี้ต้องใช้การตัดสินใจของ ผู้เชี่ยวชาญ และเป็นเทคนิคที่เสียค่าใช้จ่ายน้อยกว่าวิธีการอื่นๆ ขณะเดียวกันความถูกต้องก็ต่ำด้วยเช่นกัน วิธีการนี้ให้คำตอบน่าเชื่อถือมากที่สุด ถ้าโครงการก่อนหน้านี้มีข้อเท็จจริงที่มีความคล้ายคลึงกับโครงการ ที่กำลังประมาณการอยู่ การประมาณการจากล่างขึ้นบน เป็นการประมาณการงานแต่ละงานเป็นรายการหรือกิจกรรม และรวม ค่าประมาณการที่ได้เป็นค่าใช้จ่ายทั้งโครงการ บางครั้งเรียกว่า ต้นทุนกิจกรรม ความถูกต้องของการ ประมาณการขึ้นอยู่กับขนาดของแต่ละงานและประสบการณ์ของผู้ประมาณการ การทำงานให้มีขนาดเก จะเพิ่มความถูกต้องของการประมาณการค่าใช้จ่าย แต่ข้อเสียคือใช้เวลาการทำมาก และทำให้เสียค่าใช้จ่าย สำหรับการประมาณการสูง
ตัวแบบพาราแมทริกซ์ เป็นเทคนิคประมาณการค่าใช้จ่าย โดยการใช้ตัวแบบเชิงคณิตศาสตร์เพื่อประมาณ การค่าใช้จ่าย ตัวแบบพาราแมทริกซ์อาจประมาณการตามภาษาของโปรแกรมที่โครงการใช้ ระดับความ เชี่ยวชาญของโปรแกรมเมอร์ ขนาด ความซับซ้อนของข้อมูลที่เกี่ยวข้อง และตัวแปรอื่นๆ ตัวแบบพารา แมทริกซ์ประมาณการได้น่าเชื่อถือเมื่อสารสนเทศในอดีตถุกนำมาสร้างตัวแบบถูกต้อง ตัวแบบพารา แมทริกซ์ที่นิยมใช้กันคือ โคโคโม (Constructive Cost Model : Cocomo) ซึ่งประมาณการค่าใช้จ่ายการ พัฒนาซอฟต์แวร์โดยพิจารณาจากพารามิเตอร์เช่น จำนวนบรรทัดของโปรแกรม หรือจำนวนฟังก์ชั่น พอยต์ เป็นต้น เครื่องมือที่เป็นคอมพิวเตอร์ เช่น สเปรดชีตและซอฟต์แวร์บริหารโครงการ สามารถทำการประมาณการ ค่าใช้จ่ายต่างๆ เครื่องมือนี้ถ้าใช้อย่างเหมาะสมสามารถช่วยปรับปรุงความถูกต้องของการประมาณการได้
วิธีการประมาณการ วิธีการเดลฟาย (Delphi Method) เป็นวิธีการทางสถิติซึ่งจะใช้ประมาณการในเรื่องต่างๆของโครงการที่ไม่ เคยมีข้อมูลหรือตัวเลขมาก่อน เช่น ระยะเวลา ต้นทุน ผลประโยชน์ โดยการประมาณการต้องมีสมาชิกไม่ ต่ำกว่า 10 คน เป็นผู้ร่วมให้ความคิดเห็นเกี่ยวกับเรื่องที่ต้องการจะพิจารณา โดยมีวิธีดำเนินการดังนี้ - ติดต่อผู้เชี่ยวชาญที่มีความเกี่ยวข้องกับโครงการนั้นๆ ให้ครอบคลุมทุกสาขา เช่น ผู้เชี่ยวชาญด้าน ฐานข้อมูล ด้านการวิเคราะห์และออกแบบ เป็นต้น - จัดประชุมแลกเปลี่ยนความรู้เกี่ยวกับโครงการที่จะทำ และประเมินความเสี่ยงที่จะเกิดขึ้น - ให้แต่ละคนจัดทำรายการสิ่งที่ต้องประมาณการในโครงการ และนำมาแลกเปลี่ยนแสดงความเห็น จากนั้น ทำการประมาณการใหม่อีกครั้ง
นำค่าประมาณการใหม่ของแต่ละคน มาคิดค่าเฉลี่ยโดยให้ตัดค่าที่ไม่เกาะกลุ่มออก วิเคราะห์กลุ่มงานโดยแบ่งออกเป็น 3 กลุ่มคือ กลุ่มที่คิดว่างานไม่มีปัญหา () กลุ่มที่คิดว่างานเป็นไปได้ () และกลุ่มที่คิดว่างานมีปัญหา () ให้ปรับค่าประมาณการโดยใช้สูตร O (Optimistic) หมายถึงค่าดีมาก M (Most Like) หมายถึงค่าปานกลาง *ค่าถ่วงนำหนักเป็น 4 เท่า* P (Pessimistic) หมายถึงค่ามีปัญหา
วิธีพีเอ็มไอ (PMI) เป็นวิธีคิดของสถาบันบริหารโครงการสหรัฐฯ โดยได้มีการปรับปรุงวิธีคิดจากวิธีการ แรกที่กล่าวมาแล้วเพื่อให้ประมาณการมีความเป็นจริงได้มากที่สุด เพราะฉะนั้นสถิติที่ผ่านมาพบว่า โครงการที่สามรถดำเนินการให้แล้วเสร็จตามแผนงานมีน้อยมาก จึงได้ปรับเป็นวิธี 3-point estimate โดย มีสูตรดังนี้ P หมายถึงกลุ่มที่มีการประมาณการในแง่ร้ายหรือมองว่ามีปัญหา M เป็นกลุ่มประมาณการแบบกลาง ที่คิดว่าข้อมูลที่ระบุน่าจะมีความเป็นไปได้ O เป็นกลุ่มที่ประมาณการในแง่ดี ที่คิดว่าตัวเลขที่ประมาณการจะเป็นไปได้มากที่สุด
วิธีการสุ่ม (Grouping) เป็นวิธีการที่ปรับปรุงมาจากวิธีการพีเอ็มไอ ซึ่งมีการคำนวณเพื่อจัดกลุ่มใหม่ โดย ให้นำค่าสูงสุดลบด้วยค่าต่ำสุด แล้วหารด้วย 3 จะได้ช่วงห่างระหว่างข้อมูล ตัวอย่างดังนี้
เมื่อได้ค่าเฉลี่ยแล้วจึงนำมาคำนวณตามสูตรหรือเกณฑ์ที่กำหนด เพื่อใหได้ข้อมูลค่าใกล้ความเป็นจริงและ นำไปใช้ให้เกิดประโยชน์สูงสุดต่อโครงการ
วิธีการแบ่งงานตามช่วงเวลา (Time Box) เป็นการประมารการโดยมีการจำกัดเวลาของแต่ละงานให้ทำ ตามขอบเขตข่ายงานและเวลาที่กำหนดไว้ การดำเนินการโดยแบ่งงานออกเป็นส่วนบ่อบ แล้วนำมา จัดลำดับความยากง่ายและความเสี่ยง พร้อมระบุช่วงเวลาที่ต้องใช้ในการดำเนินการ โดยไม่ให้มีการ เพิ่มเติมปริมาณงาน ตัวอย่างการประมาณการช่วงเวลาและแรงงานที่ใช้ในการพัฒนาระบบสารสนเทศ วึ่งมีการแบ่งงานย่อยที่ ต้องดำเนินการออกเป็น 4 งานย่อย ได้แก่ งานเตรียมความพร้อมสำหรับการดำเนินการใช้เวลา 2 สัปดาห์ งานศึกษาความต้องการของระบบงานย่อย 3 งานใช้เวลา 3 สัปดาห์ งานออกแบบระบบงาน 3 งานใช้เวลา 4 สัปดาห์ งานเขียนโปรแกรมและทดสอบใช้เวลา 11 สัปดาห์ การทดสอบทำงานควบคู่ 4 สัปดาห์ และ การส่งมอบรวมใช้เวลาทั้งหมด 24 สัปดาห์ โดยใช้พนักงาน 9 คนได้แก่ นักวิเคราะห์ระบบ 3 คน โปรแกรมเมอร์ 3 คน และผู้ใช้งานหรือผู้ปฏิบัติงาน 3 คน ในการดำเนินงานมีการแบ่งงานย่อยและจัดลำ กับงานดังนี้
การประมาณการโครงการพัฒนาซอฟต์แวร์ ในหลักการของวิศวกรรมซอฟต์แวร์ที่เน้นการออกแบบซอฟต์แวร์เป็นโมดูลย่อยๆ เพื่อให้ง่ายต่อความเข้าใจ สามารถแก้ไขและนำกลับมาใช้ใหม่อย่างสะดวกได้ ซอฟต์แวร์ที่มีความยึดหยุ่นต่อการใช้งานสูง และเพิ่ม ประสิทธิภาพของระบบ ซึ่งในการพัฒนาซอฟต์แวร์จะมีขั้นตอนที่ซับซ้อนจึงมีค่าใช้จ่ายค่อนข้างสูง ซึ่ง ผู้บริหารโครงการจะต้องวางแผนเกี่ยวกับค่าใช้จ่ายที่จะเกิดขึ้นในโครงการจึงต้องมีการประมาณการ เนื่องจากซอฟต์แวร์เป็นนามธรรม ในการประมาณการจึงต้องทำให้อยู่ในรูปแบบที่วัดหรือนับก่อน ซึ่ง เทคนิคที่นิยมในการใช้วัดมี 2 ลักษณะคือ การวัดเชิงคุณภาพ เช่น การบริหารจัดการ ความซับซ้อน เป็นต้น และการวัดเชิงปริมาณ เช่น วัดระยะเวลาที่ใช้ในการพัฒนาระบบ จำนวนบุคลากรที่ใช้ ค่าใช้จ่าย เป็นต้น
การประมาณการขนาด (Size) ซอฟต์แวร์
การวัดด้วยวิธีการนับจำนวนบรรทัด (Line of code : LOC) เป็นวิธีการเดิมในอดีตที่ใช้วัดขนาดของ ซอฟต์แวร์ด้วยการนับจำนวนบรรทัดโปรแกรม โดยหนึ่งคำสั่งคือหนึ่ง Line of code ของ Source code เพียงอย่างเดียวโดยไม่เกี่ยวข้องกับกระบวนการอื่นๆ การวัดด้วยวิธีนับจำนวนฟังก์ชั่น (Function Point) เป็นการประมาณการโดยพิจารณาถึงความยากง่าย หรือความซับซ้อนของระบบที่จะพัฒนา โดยพิจารณาจากส่วนประกอบหลัก 5 ส่วนดังนี้ - อินพุต (Input) เป็นการพิจารณาว่ามีฟังก์ชั่นสำหรับการป้อนข้อมูลและบันทึกข้อมูลลงในระบบกี่ ฟังก์ชั่น - เอาต์พุต (Output) เป็นการพิจารณาว่ามีฟังก์ชั่นสำหรับดึงข้อมูลจากฐานข้อมูลมาสร้างเป็นรายงาน หรือ สั่งพิมพ์ข้อมูลออกทางเครื่องพิมพ์จำนวนเท่าใด - แบบสอบถาม (Query) เป็นการพิจารณาจำนวนคำสั่งหรือแบบสอบถามที่ต้องดึงข้อมูลจากฐานข้อมูล - ไฟล์ (File) เป็นการพิจารณาจำนวนกลุ่มของไฟล์ที่ปรับปรุง (Update) ลงในรายการ (Transaction) - ส่วนเชื่อมต่อ (Program Interfaces) เป็นการพิจารณาจำนวนการเชื่อมต่อไปยังโปรแกรมอื่น เพื่อดึง ข้อมูลมาหรือส่งข้อมูลไป
การประมาณการแรงงาน (Effort) เวลา (Schedule) และค่าใช้จ่าย (Cost) - ประเภทของตัวระบบ ประกอบด้วยตัวแบบ 3 แบบ ได้แก่ ตัวแบบระดับพื้นฐาน เป็นการประมาณะการ แรงงานโดยไม่มีตัวปรับค่า ตัวแบบระดับกลาง มีการคำนวณโดยมีการปรับค่ารวมทั้งหมด และตัวแบบ ระดับสูง คำนวณเหมือนระดับกลางแต่จะทำแยกในแต่ละระยะเพื่อความชัดเจน - ประเภทของระบบงานที่กำลังพัฒนา มีการแยกประเภทของระบบไว้ 3 ประเภทได้แก่ ระบบขนาดเล็กใช้ คนน้อยหรือประเภทออร์แกนิก (Organic Model) ระบบขนาดกลางมีความซับซ้อนปานกลางหรือ ประเภทเซมิดีเทช (Semi- Detached Mode) และระบบที่มีข้อจำกัดมากหรือเอ็มเบ็ดเด็ด (Embedded) ใน การแบ่งประเภทของระบบมีวัตถุประสงค์คือแบ่งแยกความยากง่ายระบบที่จะพัฒนา
- สูตรคำนวณหาแรงงานและระยะเวลา จะมีวิธีการหรือสูตรคำนวณที่แตกต่างกันตามตัวแบบแต่ละระดับ
- สูตรคำนวณหาแรงงานและระยะเวลา จะมีวิธีการหรือสูตรคำนวณที่แตกต่างกันตามตัวแบบแต่ละระดับ
ปัญหาที่พบในการประมาณการค่าใช้จ่ายด้านเทคโนโลยีสารสนเทศ - ผู้ประมาณการค่าใช้จ่ายมีประสบการณ์ในการประมาณการน้อย โดยเฉพาะโครงการขนาดใหญ่ - ข้อมูลประกอบการประมาณการไม่ชัดเจน จึงทำให้การประมาณการค่าใช้จ่ายผิดพลาด - โครงการมีขนาดใหญ่มีความซับซ้อนสูง โดยเฉพาะโครงการพัฒนาซอฟต์แวร์ - ผู้ประเมินมองโลกในแง่ดีหรือมีใจแอนเอียงเข้าหาการประมาณการที่ต่ำกว่า - ผู้ประมาณการต้องการให้องค์กรชนะการประมูล จึงประมาณการค่าใช้จ่ายที่ต่ำ ซึ่งอาจไม่ถูกต้องหรือตรง ข้ามกับความเป็นจริง
ข้อควรปฏิบัติในการประมาณการเพื่อหลีกเลี่ยงข้อผิดพลาด - ให้ทราบว่าการประมาณการมีหลายวิธี - ให้ทำการประมาณการโดยใช้มากกว่า 1 วิธี เพื่อดูว่าผลจากการประมาณการเหล่านี้ แตกต่างกันหรือ ใกล้เคียง และดูวิธีใดที่เหมาะสมที่สุด - ตัวเลขที่อยู่ในการประมาณการแต่ละวิธีได้มาจากสมมติฐานหนึ่ง เมื่อนำมาใช้กับโครงการข้อมูลเหล่านี้ อาจไม่เหมาะสมกับโครงการที่ทำ ดังนั้นให้ทดลองใช้และปรับตัวเลขให้เข้ากับสิ่งแวดล้อมของโครงการ หรือองค์กร - ไม่ควรทำการประมาณการกับโครงการขนาดใหญ่ เพราะมีเงื่อนไขและปัญหามากให้เริ่มจากโครงการ ขนาดเล็กซึ่งปัญหาน้อยและไม่ซับซ้อน ทำให้สามารถแก้ปัญหาได้ไม่ยาก เพื่อเป็นประสบการณ์ก่อนที่จะ ไปทำโครงการใหญ่