Contenu connexe Plus de pop Jaturong (20) 43. 0-1: การเลือกโครงการและการกาหนดขอบเขตและวัตถุประสงค์โครงการ
➢ การเลือกโครงการ (Select project) จัดเป็นขั้นตอนที่ 0 เนื่องจากเป็นขั้นตอนที่อยู่นอกกระบวนการวางแผนหลักของ
โครงการ โครงการที่เสนอไปอาจยังไม่ได้รับการอนุมัติให้จัดทา จะต้องมีกระบวนการในประเมินผลและการคัดเลือกโครงการก่อน
➢การคัดเลือกโครงการในบางครั้งอาจต้องอาศัยตัวแบบ (Model) การคัดเลือกโครงการ หรืออาศัยหลักการและทฤษฎีต่าง ๆ ที่
เกี่ยวข้องมาช่วยในการตัดสินใจเลือกโครงการ
➢การกาหนดขอบเขตและวัตถุประสงค์โครงการ (Identify project scope and objectives) เป็นขั้นตอนที่ 1 ของ
ขั้นตอนการวางแผนโครงการซอฟต์แวร์
➢วัตถุประสงค์ของโครงการที่กาหนดนี้ต้องได้รับความเห็นชอบเป็นข้อตกลงร่วมกันระหว่างผู้ที่เกี่ยวข้องทั้งหมด ทั้งทีมงานและผู้ว่าจ้าง
7. 1.3การกาหนดผู้ที่มีส่วนได้ส่วนเสีย
➢ผู้ที่มีส่วนได้ส่วนเสียแบ่งเป็น 3 ประเภท
ทีมงานโครงการที่อยู่ในองค์กรเดียวกัน (Internal to the project team) เป็นผู้ที่ทางานโครงการและอยู่ภายในองค์กร
เดียวกัน อยู่ภายใต้การควบคุมการบริหารงานโดยตรงของหัวหน้าโครงการ
นอกทีมงานโครงการแต่อยู่ในองค์กรเดียวกัน (External to the project team but within the same
organization) เป็นผู้ที่ไม่ได้ทางานโครงการแต่เป็นบุคลากรที่ทางานอยู่ภายในองค์กรนี้และมีส่วนเกี่ยวข้องกับโครงการ
เช่น หัวหน้าโครงการต้องการขอความอนุเคราะห์ผู้ใช้งานในองค์กรเพื่อทาการทดสอบระบบ อาจมีการเจรจาติดต่อเพื่อขอให้
ผู้ใช้งานภายในองค์กรมาเป็นผู้ทดสอบระบบให้ ผู้ใช้งานภายในองค์กรจัดว่าเป็นผู้ที่มีส่วนได้ส่วนเสียในประเภทนี้เป็นต้น
นอกทีมงานโครงการและอยู่ภายนอกองค์กร (External to both the project team and the
organization) เช่น ลูกค้า หรือผู้ใช้งานที่ได้รับประโยชน์จากการใช้งานระบบ หรืออาจเป็นผู้รับเหมาหรือผู้ที่ทาสัญญา
เพื่อดาเนินงานโครงการ
10. 2: การกาหนดโครงสร้างพื้นฐานของโครงการ
➢การกาหนดโครงสร้างพื้นฐานของโครงการ (Identify project infrastructure) เป็นขั้นตอนที่ 2 ของ
กระบวนการวางแผนโครงการซอฟต์แวร์
➢เป็นขั้นตอนที่สามารถดาเนินการไปพร้อม ๆ กับขั้นตอนของการกาหนดขอบเขตและวัตถุประสงค์โครงการ
➢การกาหนดโครงสร้างพื้นฐานของโครงการใหม่ ควรมีการพิจารณาโครงสร้างเดิมที่มีอยู่ด้วย การกาหนดโครงสร้างพื้นฐาน
ของโครงการที่มีความเหมาะสมกับสภาพแวดล้อมขององค์กร มีกิจกรรมสาคัญที่ต้องดาเนินการดังนี้
2.1 การระบุความสัมพันธ์ระหว่างโครงการและแผนกลยุทธ์
2.2 การระบุมาตรฐานและกระบวนการที่ใช้ในการติดตั้ง
2.3 การกาหนดโครงสร้างของทีมงานโครงการ
15. 3: การวิเคราะห์คุณลักษณะของโครงการ
➢การพัฒนาโครงการซอฟต์แวร์ต้องทบทวนระเบียบวิธี (Methodology) รวมถึงการเลือกเทคโนโลยีที่จะนามาใช้ในโครงการ
ในขั้นตอนนี้เรียกว่า “Technical Study” หรือเพราะการวิเคราะห์คุณลักษณะของโครงการจะมีผลต่อการกาหนดรูปแบบ
ของการวางแผนโครงการ การวิเคราะห์คุณลักษณะของโครงการ ซึ่งมีวัตถุประสงค์เพื่อให้แน่ใจว่าได้มีการเลือกวิธีการในการ
ดาเนินงานโครงการได้ถูกต้องเหมาะสม
➢การพิจารณาตัดสินใจสร้างหรือซื้อ (Build or buy ?)
➢การพัฒนาโปรแกรมขึ้นมาใช้งานเอง (In-house)
➢การว่าจ้างบริษัทภายนอกเข้ามาพัฒนาระบบงาน (Out-source)
➢ในการพัฒนาโปรแกรม ไม่ว่าจะพัฒนาขึ้นมาใช้งานเอง หรือว่าจ้างบริษัทภายนอกเข้ามาพัฒนา เป้าหมายคือต้องได้โปรแกรมที่
ตรงกับความต้องการของหน่วยงานในองค์กร แต่ในขณะเดียวกันองค์กรหรือหน่วยงานนั้นจะต้องมีการศึกษาความเป็นไปได้ใน
ด้านต่าง ๆ ด้วย
20. 3.2การวิเคราะห์คุณลักษณะอื่นๆของโครงการ
➢โครงการประเภท “data-oriented system” หมายถึง ระบบสารสนเทศ (Information system) ที่มีการทางาน
โดยใช้ฐานข้อมูลเป็นหลัก
➢โครงการประเภท “process- oriented system” หมายถึง ระบบแบบฝังตัว (Embedded system)
➢ตัวอย่างโครงการประเภทระบบสารสนเทศ เช่น การพัฒนาซอฟต์แวร์ที่เป็นระบบสารสนเทศใช้ภายในองค์กร ส่วนโครงการประเภท
ระบบแบบฝังตัว มักเกี่ยวข้องกับฮาร์ดแวร์ โดยมีระบบควบคุมการทางานของฮาร์ดแวร์นั้น เช่น โปรแกรมควบคุมการเปิดปิดไฟหรือ
เครื่องปรับอากาศ เป็นต้น
➢ดังนั้นการที่ทราบว่าระบบมีคุณลักษณะอย่างไรทาให้สามารถเลือกได้ว่าจะใช้แนวทางการพัฒนาแบบใด เช่น ใช้แนวทางเชิง
โครงสร้าง (Structured Approach) หรือว่าจะใช้แนวทางเชิงวัตถุ (Object-Oriented Approach) เป็นต้น
21. 3.2การวิเคราะห์คุณลักษณะอื่นๆของโครงการ
➢การพิจารณาว่าซอฟต์แวร์ที่จะสร้างนี้เป็นประเภท เครื่องมือที่ใช้งานได้ทั่วไป (General tools) เช่น โปรแกรม
ประมวลผลคา (Word processing package) โปรแกรมที่เป็นลักษณะตารางการคานวณที่เรียกว่า สเปรดชีต
(Spreadsheet package) หรือว่าเป็นโปรแกรมที่ออกแบบมาใช้งานเฉพาะ (Application Specific) เช่น
โปรแกรมจองตั๋วเครื่องบิน
➢นอกจากนี้ยังสามารถพิจารณาคุณลักษณะของโครงการว่า เป็นโครงการที่ต้องเน้นในเรื่องของระบบความปลอดภัย ซึ่งจะ
ส่งผลต่อชีวิตมนุษย์หรือไม่ หากใช้ จะได้เน้นในเรื่องของกระบวนการสร้างและการทดสอบระบบ หรือมาตรฐานที่จาเป็นต้อง
ใช้ เป็นต้น
➢การพิจารณาถึงสภาพแวดล้อมโดยทั่วไปในการทางานของระบบ รวมทั้งฮาร์ดแวร์และซอฟต์แวร์ ก็เป็นอีกปัจจัยที่จะส่งผล
ต่อการพิจารณาเลือกวิธีการหรือแนวทางในการพัฒนาโครงการที่เหมาะสม
➢นอกจากการวิเคราะห์คุณลักษณะของโครงการดังที่กล่าวมาแล้ว ในส่วนนี้ยังรวมไปถึงเรื่องคุณภาพของระบบด้วย เช่น
การคานวณหาระยะเวลาที่ใช้ในการทางาน (Response time) ต่อการดาเนินงาน 1 รายการ
22. 3.3การกาหนดระดับความเสี่ยงโครงการ
➢ต้องมีการระบุปัจจัยเสี่ยงของโครงการ พร้อมทั้งวิธีการแก้ไข หากมีสิ่งที่ไม่คาดคิดนั้นเกิดขึ้น
➢ตัวอย่างเช่นบริษัทแห่งหนึ่งพบปัจจัยเสี่ยง คือ ระบบใหม่ที่พัฒนาขึ้นมาใช้ อาจจะเกิดปัญหาถ้ามีการควบคุมดูแลโดย
พนักงานที่มีอยู่ วิธีการแก้ปัญหาคือ จ้างที่ปรึกษาหรือผู้เชี่ยวชาญมาเพื่อให้คาแนะนา เพื่อให้สามารถใช้งานระบบใหม่ได้
อย่างมีประสิทธิภาพ
➢นอกจากนี้ในบางครั้ง ความเสี่ยงอาจจะเกิดจากการวางแผนไม่ครอบคลุมปัจจัยต่าง ๆ ที่เกี่ยวข้อง ทาให้เกิดวามไม่แน่นอน
(Uncertainty) เช่น ความต้องการของลูกค้าไม่ชัดเจนหรือไม่สมบูรณ์ ทาให้ไม่สามารถประมาณการแรงงานได้
➢ความไม่แน่นอน ที่อาจสร้างความเสียหายกับโครงการ แบ่งออกเป็น 3 ประเภท คือ ความไม่แน่นอนของผลิตภัณฑ์
(Product uncertainty) ความไม่แน่นอนของกระบวนการ (Process uncertainty) และความไม่แน่นอนของ
ทรัพยากร (Resource uncertainty)
➢ความเสี่ยงของโครงการจะมีผลต่อการกาหนดงาน (Task) ในโครงการ หากทราบปัจจัยเสี่ยงและวิธีการแก้ไขจะสามารถ
กาหนดงานหรือกิจกรรมต่าง ๆ ที่จะต้องดาเนินการในโครงการได้อย่างเหมาะสม
26. 4: การกาหนดผลิตภัณฑ์และกิจกรรมของโครงการ
➢การกาหนดผลิตภัณฑ์และกิจกรรม (Identify project products and activities) เป็นขั้นตอนที่ 4 ของ
ขั้นตอนการวางแผนโครงการซอฟต์แวร์ การกาหนดผลิตภัณฑ์และกิจกรรมของโครงการ ในขั้นตอนนี้มีรายละเอียดกิจกรรม
ที่ต้องดาเนินการดังนี้
4.1 การกาหนดผลิตภัณฑ์และคาอธิบายผลิตภัณฑ์โครงการ
4.2 เอกสารการไหลของผลิตภัณฑ์
4.3 การจาแนกผลิตภัณฑ์ย่อยของโครงการ
4.4 การสร้างข่ายงานกิจกรรม
4.5 การปรับเปลี่ยนที่เหมาะสาหรับระยะเวลาแต่ละกิจกรรม
27. 4.1:การกาหนดผลิตภัณฑ์และคาอธิบายผลิตภัณฑ์โครงการ
➢เพื่อให้ทราบว่าโครงการต้องดาเนินการผลิตหรือสร้างอะไรบ้าง และจะได้ผลลัพธ์อะไร ในขั้นตอนนี้อาจใช้เทคนิคของการแตก
โครงสร้างงาน (Work breakdown structure : WBS) เข้ามาช่วย
➢ผลิตภัณฑ์ที่กล่าวถึงนี้อาจรวมถึงสิ่งต่าง ๆ ที่จับต้องได้ เช่น เครื่องคอมพิวเตอร์ที่มีการติดตั้งซอฟต์แวร์เรียบร้อยแล้ว เอกสารที่มี
ข้อมูลเชิงเทคนิค ผู้ใช้งานที่ผ่านการอบรมการใช้ซอฟต์แวร์ และซอฟต์แวร์เวอร์ชันใหม่ที่ผ่านการปรับปรุงแล้ว เป็นต้น
➢ นอกจากนี้ผลิตภัณฑ์อาจอยู่ในรูปแบบของกิจกรรม เช่น กิจกรรมการอบรม อยู่ในรูปแบบของเหตุการณ์ เช่น การสัมภาษณ์ที่
ดาเนินการเสร็จเรียบร้อยแล้ว หรืออยู่ในรูปแบบของทรัพยากรหรือผู้ที่เกี่ยวข้อง
➢ผลิตภัณฑ์อาจเป็นสิ่งที่สามารถส่งมอบได้เลย เช่น ซอฟต์แวร์ที่พัฒนาเสร็จเรียบร้อยแล้ว หรืออาจเป็นชิ้นส่วนหรือส่วนประกอบที่
อยู่ในระหว่างกระบวนการผลิตก็ได้
➢ผลิตภัณฑ์โครงการนี้สามารถแสดงให้อยู่ในรูปแผนผังโครงสร้างผลิตภัณฑ์ที่เรียกว่า (Product breakdown
structure : PBS) ซึ่งแสดงผลิตภัณฑ์หลักและผลิตภัณฑ์ย่อยของโครงการ
33. 4.5การปรับเปลี่ยนที่เหมาะสาหรับระยะเวลาแต่ละกิจกรรม
➢ การกาหนดระยะเวลาของกิจกรรมที่มีความเหมาะสมจะทาให้สามารถดาเนินกิจกรรมต่าง ๆ ได้ตามระยะเวลาที่ตั้งไว้
อย่างไรก็ตาม ยังมีความจาเป็นที่ต้องมีการปรับปรุงระยะเวลาของกิจกรรม รวมทั้งกิจกรรมย่อย ๆ ให้มีความเหมาะสม
เพื่อให้สามารถติดตามและตรวจสอบได้
➢ในขณะเดียวกันทีมงานหรือบุคลากรที่รับผิดชอบจะต้องกาหนดวิธีการในการตรวจสอบกิจกรรมว่ามีการดาเนินงาน
เรียบร้อยหรือไม่ เพื่อรายงานให้ผู้จัดการโครงการทราบ
➢“Milestone” ซึ่งเป็นกิจกรรมที่ไม่ต้องการเวลา ไม่ต้องกาหนดจุดเริ่มต้นและจุดสิ้นสุดของกิจกรรมเหมือนกับ
กิจกรรมอื่น แต่จะเป็นจุดที่ใช้บอกความก้าวหน้าของการดาเนินงานโครงการ หรือเป็นจุดที่ใช้บอกขั้นตอนสาคัญที่ได้
ดาเนินการแล้ว เช่น จุดที่ใช้กาหนดว่าต้องมีการส่งรายงานความก้าวหน้าของโครงการ ในส่วนนี้อาจมีการเพิ่มกิจกรรม
ดังกล่าวเข้าไป
35. 5.1การประมาณการจากล่างขึ้นบน
➢ การประมาณการจากล่างขึ้นบน (Bottom-up estimates) เป็นรูปแบบที่ใช้ในการประมาณโครงการเป็น
ส่วนมาก โดยทาการแบ่งโครงการออกเป็นโมดูลย่อย ๆ แล้วประมาณการจากโมดูลเหล่านี้โดยนาค่าประมาณการในแต่ละ
โมดูลมารวมกัน ในส่วนนี้จะเกี่ยวกับเวลา แรงงาน-ชั่วโมง สัปดาห์ หรือเดือนที่ต้องใช้ในแต่ละโมดูล
➢ความแตกต่างที่ต้องพิจารณาคือเรื่องของแรงงานและระยะเวลางาน โดยแรงงาน (Effort) หมายถึง กาลังคนหรือ
แรงงานที่ใช้ในการพัฒนาซอฟต์แวร์ อาจมีหน่วยเป็น man-month หรือ man-day หรือ person-hours
➢เช่น ในการพัฒนางานโมดูลหนึ่งต้องใช้คนทางาน 3 คน ทาเสร็จในเวลา 2 วัน ดังนั้นคิดเป็น 6 man-day ส่วน
ระยะเวลางาน (Elapsed time) หมายถึง ระเวลาตั้งแต่เริ่มต้นทางานจนกระทั่งเสร็จงานนั้น ซึ่งอาจจะมากกว่าแรงงาน
เช่น กิจกรรมการเก็บข้อมูล อาจใช้เวลาจริง ๆ แค่ 1 วัน แต่ระยะเวลาทั้งหมดของกิจกรรมนี้คือ 2-3 วันเพราะต้องรวมกับ
ระยะเวลาในการส่งเอกสารไปและส่งกลับคืนมา เป็นต้น
36. 5.2การทบทวนแผนการสร้างกิจกรรมที่สามารถควบคุมได้
➢ การปรับแผนเพื่อสร้างกิจกรรมที่สามารถควบคุมให้เป็นไปตามที่กาหนดได้ เช่น กาหนดให้มีการ
รายงานผลการดาเนินงานทุกสัปดาห์ มีการสร้างตารางงานเพื่อตรวจสอบว่าได้มีการมอบหมายงานให้ใคร
รับผิดชอบ และมีกาหนดส่งงานเมื่อไร เพื่อให้สามารถติดตามผลการดาเนินงานได้
➢ระยะเวลาที่กาหนดในการรายงานผลควรมีความเหมาะสมกับกิจกรรม เช่น ทางานไป 2 สัปดาห์แล้ว
กาหนดให้มีการรายงานผล บางกิจกรรมที่มีระยะเวลาในการดาเนินงานยาวนาน เช่น ใช้เวลา 12 สัปดาห์
อาจต้องมีการแบ่งช่วงเพื่อให้มีการรายงานผล แต่บางกิจกรรมที่มีระยะเวลาในการดาเนินงานสั้นและมี
ความสัมพันธ์กัน สามารถรวมกลุ่มเข้าด้วยกันได้ แล้วควบคุมโดยการตรวจเช็คแต่ละงานนั้น
38. 6.1การกาหนดกิจกรรมความเสี่ยงพื้นฐาน
➢ ความเสี่ยง คือ โอกาสหรือเหตุการณ์ที่เกิดขึ้นแล้วส่งผลกระทบต่อการบรรลุวัตถุประสงค์และเป้าหมายของโครงการ
➢ในขั้นตอนที่ 3 ของการวางแผนโครงการซอฟต์แวร์ที่ผ่านมาแล้ว คือ ขั้นตอนของการวิเคราะห์คุณลักษณะของโครงการ
ได้มีการประเมินความเสี่ยงของโครงการในภาพรวมไปแล้ว แต่ในส่วนนี้จะเป็นการพิจารณาความเสี่ยงของแต่ละกิจกรรม
โดยการพิจารณาทุกกิจกรรมในโครงการ แล้วระบุความเสี่ยง อาจระบุเป็นความเสี่ยงด้านต้นทุน ระยะเวลา บุคลากร
39. 6.2วางแผนลดความเสี่ยงและมาตรการฉุกเฉินที่เหมาะสม
➢ เป้าหมายของการวางแผนเพื่อจัดการความเสี่ยงนั้นมีกลยุทธ์ 3 ประการ คือ การยอมรับ
(Acceptance) การป้องกัน (Prevention) และการถ่ายโอน (Transfer)
➢การยอมรับจะถูกเลือกใช้เมื่อไม่มีทางเลือกในการจัดการความเสี่ยงนั้น และพร้อมที่จะเผชิญหน้า
➢ส่วนการป้องกัน เป็นการดาเนินการเพื่อไม่ให้เกิดความเสี่ยงหรือเกิดความเสี่ยงในระดับที่สามารถยอมรับได้
➢การถ่ายโอน จะใช้เมื่อความเสี่ยงมีระดับความรุนแรงน้อยและต้องการกาจัดออกไป สามารถทาได้โดยการ
เตรียมการรับมือไว้ล่วงหน้า
➢ผู้บริหารโครงการต้องวางแผนความเสี่ยงโดยระบุกลยุทธ์ แผนงาน หรือกิจกรรมต่าง ๆ ที่สอดคล้อง เพื่อ
จัดการกับความเสี่ยงนั้น
40. การกาหนดมาตรการฉุกเฉินหรือแผนฉุกเฉิน
➢การกาหนดมาตรการฉุกเฉินหรือแผนฉุกเฉิน (Contingency plan) ในกรณีที่ความเสี่ยงนั้นได้เกิดขึ้นแล้วและ
จาเป็นต้องแก้ปัญหาอย่างเร่งเด่น จะมีวิธีการในการจัดการแก้ปัญหาอย่างไร
➢ตัวอย่างเช่น ความเสี่ยงในกรณีพนักงานที่รับผิดชอบงานนั้นไม่สามารถมาทางานได้ แต่งานนั้นเป็นงานเร่งด่วน จะมี
แผนในการแก้ปัญหาอย่างไร เช่น หาพนักงานคนอื่นมาทางานแทนได้เลย ซึ่งความเป็นจริงแล้วเป็นเรื่องยากที่พนักงาน
จะสามารถทางานแทนกันได้ทันที อาจต้องเสียเวลาในการศึกษาก่อนจะเริ่มทางาน ซึ่งก็ไม่สามารถคาดได้ว่างานจะ
เสร็จทันเวลาหรือไม่ ดังนั้นจึงต้องมีการกาหนดแผนฉุกเฉินที่สามารถแก้ปัญหาได้ทันที
43. 7.1กาหนดและจัดการทรัพยากร
➢ทรัพยากรโครงการประกอบด้วย คน เงิน ระยะเวลา รวมทั้งวัสดุ
อุปกรณ์ต่าง ๆ ซึ่งจะต้องมีการกาหนดและจัดสรรทรัพยากร
เหล่านี้ให้มีความเหมาะสมสาหรับแต่ละกิจกรรมในโครงการ
➢สาหรับโครงการซอฟต์แวร์ ควรมีการพิจารณาความเหมาะสม
ของทรัพยากรโดยเฉพาะทีมงานที่มีหน้าที่รับผิดชอบในแต่ละ
ขั้นตอนตามวงจรชีวิตของการพัฒนาซอฟต์แวร์ ซึ่งได้แก่ขั้นตอน
การกาหนดความต้องการ การออกแบบ การสร้าง และการ
ทดสอบระบบ
➢โดยทั่วไปในขั้นตอนของการกาหนดความต้องการและการ
ออกแบบ จะใช้ทีมงานน้อยกว่าขั้นตอนของการสร้างและการ
ทดสอบระบบ
47. 9: การนาแผนไปปฏิบัติ
➢ส่วนการนาแผนไปปฏิบัติ (Execute plan) เป็นขั้นตอนที่ 9 ของกระบวนการวางแผนโครงการ
ซอฟต์แวร์
➢เป็นการนาแผนการดาเนินงานไปสู่การปฏิบัติ โดยแผนต้องได้รับการอนุมัติก่อน และในบางครั้งอาจ
จาเป็นต้องมีการกาหนดรายละเอียดแผนงานในระดับย่อย ๆ หรือเขียนแผนงานในทางปฏิบัติจริงเพิ่มเติม
เพื่อให้การดาเนินงานตามแผนเป็นไปด้วยความเรียบร้อย เป็นการป้องกันการเกิดปัญหา