• No results found

บทท 4 การบร หารโครงการผล ตซอฟต แวร

N/A
N/A
Protected

Academic year: 2021

Share "บทท 4 การบร หารโครงการผล ตซอฟต แวร"

Copied!
38
0
0

Loading.... (view fulltext now)

Full text

(1)

บทที่

4

(2)

การบริหารโครงการผลิตซอฟต์แวร์

โครงการ

(Project )

หมายถึง

การดำเนินกิจกรรมตามแผนงาน

ที่ได้จัดทำขึ้น

โดยแต่ละกิจกรรมจะมี

วันเริ่มต้นและสิ้นสุด

เพื่อบรรลุ

เป้าหมายหรือวัตถุประสงค์ที่กำหนดไว้

ภายใต้

ระยะเวลา

ทรัพยากร

และงบประมาณที่กำหนด

การบริหารโครงการ

(Project Management)

หมายถึง

การ

ประยุกต์ใช้องค์ความรู้

ทักษะ

เครื่องมือ

และเทคนิคเพื่อดำเนิน

กิจกรรมตามความต้องการของโครงการให้บรรลุวัตถุประสงค์ที่

กำหนดไว้

(3)

การบริหารโครงการผลิตซอฟต์แวร์

วงจรชีวิตของโครงการ

เริ่มต้นโครงการ (Project Initiation) วางแผน โครงการ(Project Planning) ดำเนินโครงการ (Project Executing ) ปิดโครงการ (Project Closing)

แสดงวงจรชีวิตโครงการ

(4)

การบริหารโครงการผลิตซอฟต์แวร์

ความยากของการบริหารโครงการผลิตซอฟต์แวร์

1. ซอฟต์แวร์เป็นผลิตภัณฑ์ที่จับต้องไม่ได้

2. กระบวนการผลิตซอฟต์แวร์ไม่มีมาตรฐานที่แน่นอน

3. โครงการผลิตซอฟต์แวร์ขนาดใหญ่ย่อมมีลักษณะพิเศษ

แตกต่างกัน

4. ความต้องการในการผลิตซอฟต์แวร์เป็นวัตถุดิบที่ไม่

สามารถจับต้องได้

(5)

กิจกรรมในการบริหารโครงการ

1. การเขียนข้อเสนอโครงการ (Proposal Writing)

2. การวางแผนและจัดตารางงานโครงการ (Project Planning and Scheduling)

3. การประมาณการต้นทุนโครงการ (Cost Estimation)

4. การติดตามและทบทวนโครงการ (Project Monitoring and Review)

5. การคัดเลือกและประเมินบุคลากร

(6)

การวางแผนโครงการ

1. แผนงานคุณภาพ (Quality Plan)

2. แผนงานการทวนสอบ (Validation Plan)

3. แผนการจัดการโครงแบบระบบ (Configuration Management Plan)

4. แผนงานบำรุงรักษาระบบ (Maintenance Plan)

(7)

การวางแผนโครงการ

○ เป้าหมายของกิจกรรมและการส่งมอบงาน(Milestone และ Deliverable) ! ! ! ! ! ! ! Milestone คือ เป้าหมายหรือหลักชัยของกิจกรรม Deliverable คือ ผลลัพธ์ที่จะส่งมอบให้แก่ลูกค้าซึ่งได้จากการดำเนินโครงการ ส่งมอบผลิตภัณฑ์ ฝึกอบรม เอกสารประกอบ ผลิตภัณฑ์ 1 ผลิตภัณฑ์ 2 ผลิตภัณฑ์ 3 ฝึกอบรมครั้งที่ 1 ฝึกอบรมครั้งที่ 2 ฝึกอบรมครั้งที่ 3 เอกสาร1 เอกสาร 2 เอกสาร 3 รายงานการส่งมอบ ผลิตภัณฑ์ รายงานการฝึกอบรม เอกสารฝึกอบรมทั้งหมด Milestone
(8)

การวางแผนโครงการ

แสดงขั้นตอนการจัดทำแผนงานโครงการ (Project Plan) ประเมินข้อจำกัด (เช่น เวลา งบประมาณ ฯ) ประมาณการซอฟต์แวร์(ขนาด แรงงานฯ) กำหนดDeliverable Milestone และ จัดทำตารางงาน (Schedule) ดำเนินงานตามตาราง ปรับตัวเลขประมาณการ ปรับตารางงาน เจรจาต่อ รองข้อจำกัดใหม่
(9)

การจัดตารางงานโครงการ

Gantt Chart

เป็นกราฟแท่งในแนวนอน

แสดงระยะเวลาของกิจกรรมแต่ละขั้น

ตอน โ ดยรายชื่อกิจกรรมจะถูกแสดงไว้ในแนวตั้งด้านซ้ายมือ

ระยะเวลา

การทำงานจะแสดงในแนวนอนของแผนภาพ

(10)
(11)

การจัดตารางงานโครงการ

PERT/CPM

PERT(Project Evaluation Review Technique)

เป็นเทคนิคในการ

วิเคราะห์หรือประเมินเวลาที่ต้องใช้ในแต่ละกิจกรรมของโครงการ

ตลอดจนกิจกรรมวิกฤติ โ ดยแต่ละกิจกรรมจะแทนด้วยเส้นลูกศร

เหมาะสำหรับโครงการใหม่ที่ไม่เคยเกิดขึ้นเลย

CPM (Critical Path Method)

เป็นรูปสี่เหลี่ยมเชื่อมโยงกันด้วยเส้น

ลูกศร เหมาะสำหรับโครงการที่เคยเกิดขึ้นแล้วในอดีต ทำให้มีข้อมูลเพื่อ

กำหนดระยะเวลาของกิจกรรมได้เป็นที่แน่นอน

(12)

PERT/CPM (

ต่อ

)

กิจกรรม

กิจกรรมก่อนหน้า

1.

รวบรวมความต้องการ

-2.

ออกแบบรายงาน

1

3.

ออกแบบหน้าจอ

1

4.

ออกแบบฐานข้อมูล

2,3

5.

จัดทำเอกสาร

4

6.

เขียนโปรแกรม

4

7.

ทดสอบโปรแกรม

6

8.

ติดตั้งโปรแกรม

5,7

(13)

1

2

3

4

5

6

7

8

TE = 5 TE = 11 TE = 11 TE = 13 TE =1 8.5 TE = 22 TE = 18 TE = 21 5 5 6 2 5.5 5 1 3 PERT/CPM (ต่อ)
(14)

การสร้างข่ายงาน

กิจกรรมบนเส้นเชื่อม (Activity on Arc: AOA)

เป็นการเขียนข่ายงานโดยใช้เส้นเชื่อม (Arc) แทนกิจกรรม โดยมีสัญลักษณ์ ที่ใช้ดังนี้

1

2 3 7

9

4 5 6 8 A(4) B(3) G(1) H(1) C(5) F(1) E(3) D(1) I(3) J(2)
(15)

การสร้างข่ายงาน

กิจกรรมบนจุดเชื่อม (Activity on Node: AON)

เป็นการเขียนข่ายงานโดยใช้จุดเชื่อมแทนกิจกรรม มีสัญลักษณ์ต่าง ๆ ดังนี้ A C B D E จุดสิ&นสุด โครงการ

(16)

หลักในการเขียนข่ายงาน

จุดเริ่มต้นหรือเหตุการณ์เริ่มต้นของโครงข่ายงาน ต้องมีเพียง 1 จุด และจุดสิ้นสุด โครงข่ายงานต้องมีเพียงจุดเดียวหรือเหตุการณ์เดียวเท่านั้น นิยมเขียนข่ายงานไปทางแนวนอน กล่าวคือ จุดเริ่มต้นของโครงการอยู่ทางซ้ายมือ และจุดสิ้นสุดของโครงการอยู่ทางขวามือ (ไม่นิยมเขียนจากบนลงล่าง) ในการเขียนโครงข่ายงานหรือผังลูกศรจะต้องคำนึงถึงสิ่งต่อไปนี้ ¤ ขณะที่กำลังเขียนงานนี้อยู่ มีงานใดต้อง ทำก่อนบ้าง ¤ ขณะที่กำลังเขียนงานนี้อยู่ มีงานใดต้อง ทำหลังจากงานนี้บ้าง ¤ ขณะที่กำลังเขียนงานนี้อยู่ มีงานใดต้อง ทำไปพร้อม ๆ กับงานนี้ บ้าง พยายามหลีกเลี่ยงลูกศรตัดกัน
(17)

ตัวอย่าง

การเขียนข่ายงาน

งาน งานที่ต้องทำเสร็จก่อน A -B A C A D B, C A C B D
(18)

ตัวอย่าง

การเขียนข่ายงาน

งาน งานที่ต้องทำเสร็จ ก่อน A -B A C B D -E C,D F E A D B C E F A D B C E F จุดเริ'มต้น โครงการ
(19)

ตัวอย่าง

การเขียนข่ายงาน

งาน งานที่ต้องทำเสร็จ ก่อน A -B A C A,B D B E C A B C D E A B C D E สิ้นสุดโครงการ
(20)

ตัวอย่าง

งาน ระยะเวลา(วัน) งานที่ต้องทำก่อน 1.รวบรวมความต้องการ 5 -2. ออกแบบรายงาน 6 1 3.ออกแบบหน้าจอ 6 1 4.ออกแบบฐานข้อมูล 2 2,3 5.จัดทำเอกสาร 5.5 4 6.เขียนโปรแกรม 5 4 7.ทดสอบโปรแกรม 3 6 8.ติดตั้งโปรแกรม 1 5,7
(21)

ตัวอย่าง

1 5 2 6 3 6 4 2 5 5.5 6 5 7 3 8 1 ออกแบบรายงาน ออกแบบหน้าจอ เขียนโปรแกรม ทดสอบ โปรแกรม ติดตั้ง โปรแกรม จัดทำเอกสาร ออกแบบ ฐานข้อมูล Activity on Node
(22)

การคำนวณหาเส้นทางวิกฤติ

(Critical Path)

สัญลักษณ์ที่ใช้ในการคำนวณเพื่อกำหนดงาน มีดังต่อไปนี้

สัญลักษณ์ ย่อมาจาก ความหมาย

ES Earliest start time เวลาเร็วที่สุดที่จะเริ่มต้นทำงานนั้น ๆได้

LS Latest start time เวลาช้าที่สุดที่จะเริ่มต้นทำงานนั้น โดยไม่ทำให้เวลาของโครงการ

เปลี่ยนไป

EF Earliest finish time เวลาเสร็จสิ้นอย่างเร็วที่สุดของแต่ละงาน

LF Latest finish time เวลาเสร็จสิ้นอย่างช้าที่สุดของแต่ละงาน โดยไม่ทำให้เวลาของ

โครงการเปลี่ยนไป

TS Total slack time ระยะเวลารวมที่งานจะล่าช้าได้ โดยไม่มีผลกระทบต่อเวลาของ

โครงการ

FS Free slack time ระยะเวลาที่งานจะล่าช้าได้ โดยไม่มีผลกระทบต่อกำหนดงานของ

งานในลำดับถัดไป

(23)

ตัวอย่าง

งาน งานที่ต้องทำเสร็จก่อน ใช้เวลา (สัปดาห์) A - 3 B A 2 C A 1 D B, C 2 E D 1 F D 2 G E, F 4 H G 1 I H 1
(24)

ตัวอย่าง

A 3 wk C 1 wk B 2 wk D 2 wk F 2 wk E 1 wk G 4 wk H 1 wk 1 wkI
(25)

ตัวอย่าง

การคำนวณหาเวลาเริ่มต้นเร็วที่สุด (ES) และเวลาเสร็จสิ้นเร็วที่สุด (EF) งานที่เริ่มต้นทำได้ทันทีมีค่า ES = 0 และสามารถคำนวณกำหนดเวลาเสร็จ อย่างเร็วที่สุดได้โดยใช้สูตร EF = ES + t งาน A เริ่มต้นทำได้ทันที ดังนั้นค่า ES ของงาน A = 0 คำนวณกำหนดเวลาเสร็จอย่าง เร็วที่สุดของงาน A ได้ EF = 0 + 3 = 3 สัปดาห์ ! ในกรณีที่ต้องรอให้งานบางงานเสร็จก่อนจึงจะเริ่มต้นทำได้ เช่น งาน B จะเริ่มทำได้ เมื่องาน A เสร็จ กำหนดเวลาเริ่มเร็วสุดของงาน B จะเท่ากับเวลาเสร็จเร็วที่สุดของ งาน A นั้นคือ ES ของงาน B = EF ของงาน A คือ เท่ากับ 3 และงาน B ใช้เวลาดำเนิน งาน 2 สัปดาห์ ดังนั้นค่า EF ของงาน B = 3+2 = 5 สัปดาห์ A 3 0 3 งาน ระยะเวลา (t) EF ES
(26)

ตัวอย่าง

การคำนวณหาเวลาเริ่มต้นเร็วที่สุด (ES) และเวลาเสร็จสิ้นเร็วที่สุด (EF) ในกรณีที่ต้องรอให้งานหลายงานเสร็จก่อนจึงจะเริ่มต้นทำใหม่ได้ ค่า ES ของงานนั้นเท่ากับ EF ที่สูงที่สุดของงานต่าง ๆ ที่ต้องทำเสร็จก่อน เช่น งาน D จะ เริ่มทำได้ทันทีเมื่องาน B และงาน C เสร็จ ซึ่งจากการคำนวณค่า EF ของงาน B = 5 ในขณะที่ค่า EF ของงาน C = 4 ดังนั้นค่า ES ของงาน D = 5 เป็นต้น ซึ่งมีสูตรดังนี้ ES = max(EF ของกิจกรรมที่ทำก่อนหน้า)
(27)

ตัวอย่าง

คำนวณหาค่า ES และ EF ของงานต่าง ๆ ในตัวอย่างจะได้กำหนดเวลาอย่างเร็ว ที่สุดของทุกงาน ดังแสดงในภาพต่อไปนี้ A 3 0 3 D 2 5 7 B 2 3 5 C 1 3 4 G 4 9 13 F 2 7 9 E 1 7 8 H 1 13 14 I 1 14 15
(28)

ตัวอย่าง

การคำนวณหาเวลาเริ่มต้นช้าที่สุด (LS) และเวลาเสร็จสิ้นช้าที่สุด (LF) เป็นการคำนวณหาเวลาอย่างช้าที่สุดที่แต่ละงานจะเริ่มต้น (LS) และเสร็จ สิ้น (LF) การคำนวณเริ่มจากจุดสิ้นสุดโครงการย้อนกลับไปยังจุดเริ่มต้นโครงการ โดยกำหนดให้งานที่จุดสิ้นสุดของโครงการมีค่า LF เท่ากับระยะเวลาในการทำ โครงการ หรืออาจกล่าวได้ว่างานสุดท้ายของโครงการจะมีค่า EF = LF และสามารถคำนวณกำหนดเวลาเริ่มต้นอย่างช้าที่สุดได้จากสูตร LS = LF - t
(29)

ตัวอย่าง

จากตัวอย่าง งาน I เป็นงานสุดท้ายของโครงการ ดังนั้นค่า LF ของงาน I มีค่าเท่ากับ 15 งาน I ใช้ เวลาดำเนินงาน 1 สัปดาห์คำนวณค่า LS ของงาน I = 15 - 1 = 14 และใส่ค่า LS และ LF ไว้ในจุด เชื่อมที่แสดงงาน I ดังนี้ ! ! ! ! กรณีที่เมื่องานบางงานเสร็จมีงาที่จะเริ่มต้นทำได้ทันที เช่น เมื่องาน H เสร็จจะเริ่มทำงาน I ได้ ดังนั้น เมื่องาน I จะต้องเริ่มอย่างช้าที่สุดสัปดาห์ที่ 14 ดังนั้นกำหนดเวลาเสร็จอย่างช้าที่สุดของงาน H จะ เท่ากับ 14 ค่า LF ของงาน H = ค่า LS ของงาน I คือเท่ากับ 14 และงาน H ใช้เวลาดำเนินการ 1 สัปดาห์ ดังนั้นค่า LS ของงาน H = 14 – 1 = 13 I 1 14 15 งาน EF ES 14 15 LS LF
(30)

ตัวอย่าง

ในกรณีที่เมื่องานเสร็จแล้วมีหลายงานเริ่มทำได้ ค่า LF ของงานนั้นจะเท่ากับค่า LS ที่ต่ำที่สุดของงานต่าง ๆ ที่เริ่มทำเมื่องานเสร็จ เช่น เมื่องาน D เสร็จจะทำงาน E และ F ได้ทันที ซึ่งจากการคำนวณค่า LS ของงาน F = 7 ดังนั้นค่า LF ของงาน D = 7 เป็นต้น ซึ่งมีสูตรดังนี้ LF = min(LS ของกิจกรรมที่ตามมา)
(31)

ตัวอย่าง

คำนวณหาค่า LF และ LS ของงานต่าง ๆ ในตัวอย่างที่ 4 จะได้กำหนดเวลาอย่างเร็วที่สุดของทุกงาน ดังแสดง ในภาพต่อไปนี้ A 3 0 3 D 2 5 7 B 2 3 5 C 1 3 4 G 4 9 13 F 2 7 9 E 1 7 8 H 1 13 14 I 1 14 15 3 5 0 3 5 7 4 5 7 9 9 13 13 14 14 15 8 9
(32)

ตัวอย่าง

การคำนวณหาเวลาที่เหลือ หรือเวลาที่ยืดหยุ่นได้ (Slack Time)

เวลาที่เหลือ หรือเวลาที่ยืดหยุ่นได้ (Total Slack Time: TS) คือ จำนวนเวลาที่งาน ต่าง ๆ จะล่าช้าได้ โดยไม่กระทบกำหนดเวลาเสร็จสิ้นของโครงการ มีสูตรในการหา ดังนี้ ! ! งานวิกฤติ (Critical Activities)   งานที่มีกำหนดเวลาอย่างเร็วที่สุดและกำหนดเวลาอย่างช้าที่สุดเหมือนกัน แสดงว่า งานนั้นมีกำหนดเวลาที่ตายตัว ไม่มีความยืดหยุ่น (TS = 0) ไม่สามารถล่าช้าได้ หากล่าช้าจาก เวลาที่กำหนดไว้จะส่งผลให้โครงการล่าช้าไปด้วย งานเหล่านี้จึงมีความสำคัญที่ต้องดูแลให้ เป็นไปตามกำหนดเวลาอย่างเคร่งครัด จึงเรียกงานเหล่านี้ว่า งานวิกฤติ เส้นทางที่เชื่อมงาน วิกฤติเข้าด้วยกันเรียกว่า เส้นทางวิกฤติ TS = LS – ES หรือ   TS = LF - EF

(33)

ตัวอย่าง

เส้นทางวิกฤติ (Critical Path) ในการระบุงานวิกฤติ สามารถพิจารณาจากเส้นทางต่างๆในข่ายงานจากจุดเริ่มโครงการไปยังจุดสิ้นสุด ของโครงการซึ่งในตัวอย่างที่ 4 สามารถแยกได้เป็น 4 เส้นทาง คือ  เส้นทางที่ 1 ประกอบด้วยงาน A, B, D, E, G, H, I ระยะเวลารวม 3+2+2+1+4+1+1 = 14 สัปดาห์ เส้นทางที่ 2 ประกอบด้วยงาน A, B, D, F, G, H, I ระยะเวลารวม 3+2+2+2+4+1+1 = 15 สัปดาห์ เส้นทางที่ 3 ประกอบด้วยงาน A, C, D, E, G, H, I ระยะเวลารวม 3+1+2+1+4+1+1 = 13 สัปดาห์ เส้นทางที่ 4 ประกอบด้วยงาน A, C, D, F, G, H, I ระยะเวลารวม 3+1+2+2+4+1+1 = 14 สัปดาห์  เส้นทางที่มีระยะเวลารวมสูงที่สุดคือ เส้นทางที่ 2 จะเป็นเส้นทางวิกฤติ งานที่อยู่ในเส้นทางนี้จะเป็นงาน วิกฤติและระยะเวลารวมของเส้นทางวิกฤติจะเป็นกำหนดเวลาแล้วเสร็จของโครงการ คือ 15 สัปดาห์
(34)

ตัวอย่าง

ตารางแสดงกำหนดเวลาของโครงการ งาน t ES EF LS LF TS = LS-ES งานวิกฤติ A 3 0 3 0 3 0 ใช่ B 2 3 5 3 5 0 ใช่ C 1 3 4 4 5 1 ไม่ใช่ D 2 5 7 5 7 0 ใช่ E 1 7 8 8 9 1 ไม่ใช่ F 2 7 9 7 9 0 ใช่ G 4 9 13 9 13 0 ใช่ H 1 13 14 13 14 0 ใช่ I 1 14 15 14 15 0 ใช่
(35)

กุญแจสู่ความสำเร็จในการบริหารโครงการ

(36)

กุญแจสู่ความสำเร็จในการบริหารโครงการ

1. การบริหารโครงการโดยรวม (Project Integration Management)

2. การบริหารขอบเขตของโครงการ (Project Scope Management)

3. การบริหารเวลาโครงการ (Project Time Management)

4. การบริหารต้นทุนโครงการ (Project Cost Management)

5. การบริหารคุณภาพโครงการ (Project Quality Management)

(37)

กุญแจสู่ความสำเร็จในการบริหารโครงการ

(

ต่อ

)

6. การบริหารทรัพยากรบุคคลของโครงการ (Project Human Resource

Management)

7. การบริหารสื่อสารในโครงการ (Project Communication Management)

8. การบริหารความเสี่ยงของโครงการ (Project Risk Management)

(38)

สรุป

Project Management การเขียนข้อเสนอโครงการ,การวางแผนและจัดตารางงานโครงการ,การ ประมาณการต้นทุน,การติดตามโครงการ,การคัดเลือกและประเมินบุคลากร,การ เขียนและนำเสนอรายงาน Project Planning การประเมินข้อจำกัดโครงการ สามารถนำไปประกอบการประมาณการ ขนาดซอฟต์แวร์ การประมาณการต้นทุน Project Scheduling กำหนดระยะเวลาการดำเนินงานของแต่ละกิจกรรม กุญแจแห่งความสำเร็จในการบริหารโครงการ 9 ข้อ

References

Related documents

The Montreal Police may conduct undercover operations, in addition to the use of other investigation techniques (e.g. interception and covert surveillance operations), to

The  publication  of  the  Global  Health  Report  (WHO  2006)  marked  a  call  to  action  in 

Your goal it to determine the cost equation for a particular cost, so that managers can estimate Your goal it to determine the cost equation for a particular cost, so that managers

The technical potential for variable renewable electricity generation in Czechia is more than twice as high as the estimated electricity consumption in 2030, which constitutes

Upon motion by Director Simpson, seconded by Director Stoebner, after full discussion and the question being put to the Board, the Board voted unanimously to approve

Regional Accreditation and Student Learning Outcomes Assessment: Mapping the Territory..

PaaS foundation for cloud offerings thanks to its flexible, open source architecture, its minimal-overhead application programming model, and its excellent support for DevOps.

For instance, diabetic patients were highly adherent to various self- management practices such as blood glucose monitoring, foot care, and exercise practice, diet