More Related Content Similar to 02 intro to psp Similar to 02 intro to psp (20) 02 intro to psp2. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 2
หัวข้อ
• ทำาไมจึงต้องเปลี่ยนแปลงกระบวนการพัฒนา
ซอฟต์แวร์
• กระบวนการพัฒนาซอฟต์แวร์ส่วนบุคคล
• หลักการของ PSP
• แนวทางการเรียนรู้ PSP
3. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 3
ความท้าทายของการพัฒนาซอฟต์แวร์
• ขอบเขตของงานไม่ชัดเจน หรือเปลี่ยนแปลง
บ่อย
• กำาหนดการไม่สมเหตุผล หรือวางแผนไม่ดี
• ขาดการควบคุม หรือควบคุมมากเกินไป
• ขาดบุคลากร ทีมงานที่ดี
• คุณภาพของงานหรือซอฟต์แวร์ไม่ดี
4. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 4
สิ่งที่ท้าทายในการพัฒนาซอฟต์แวร์
• การคาดการณ์: ประมาณการว่าจะต้องใช้
เวลาทำาเท่าไรก่อนที่จะรู้ว่าจะทำาอะไร
• ความไม่แน่นอน: ขอบเขตของงานเปลี่ยน
บุคลากรเปลี่ยน สถานการณ์เปลี่ยน ฯลฯ
• คุณภาพ: ไม่มีเวลาพอที่จะตรวจทานหรือ
ทดสอบ
5. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 5
อะไรทำาให้คุณดีกว่า
ทำาไมคุณถึงดีกว่า
นักศึกษาปริญญาตรีปี
1?
ทำาไมคุณถึงดีกว่า
นักศึกษาปริญญาตรีปี
1?
สิ่งที่คุณทำาได้ดีในระดับ
บุคคลใช้ได้กับระดับ
องค์กรหรือไม่?
สิ่งที่คุณทำาได้ดีในระดับ
บุคคลใช้ได้กับระดับ
องค์กรหรือไม่?
Source: DAAD Project
ทำาไมองค์กรบาง
แห่งถึงทำาได้ดีกว่า
ที่อื่น?
(ส่งมอบงานตาม
กำาหนด
งานที่ส่งมอบมี
คุณภาพสูง
มีข้อบกพร่องน้อย)
6. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 6
สิ่งที่ท้าทายสำาหรับมืออาชีพ
• ทำาอย่างไรเราถึงจะผลิตซอฟต์แวร์ที่มีคุณภาพ
ในกำาหนดการที่คาดการณ์ได้ภายใต้งบ
ประมาณได้อย่างคงเส้นคงวา
• ทำาอย่างไรเราจึงจะสามารถปรับปรุงวิธีปฏิบัติ
ของเราในปัจจุบันได้
• ทำาอย่างไรเราจึงจะเผยแพร่วิธีปฏิบัติของเราสู่
สังคมส่วนใหญ่ได้
7. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 7
มืออาชีพ
สามารถทำาตาม
ข้อตกลงได้
ผลิตงานคุณภาพ
อย่างสมำ่าเสมอ
ตกลงในสิ่งที่
เป็นไปได้จริง
ใช้ข้อมูลในการ
ทำาข้อตกลง
วัดและจัดการ
คุณภาพ
เก็บข้อมูลเกี่ยวกับ
งานของตน
รู้ว่าอยู่ที่ไหน
แล้ว
ใช้ข้อมูลติดตาม
ความก้าวหน้า
8. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 8
องค์ประกอบหลักของความสำาเร็จ
• มุ่งเน้นที่ทีมและบุคคล
• เน้นคุณภาพ
• สร้างแรงจูงใจ
• เน้นความเรียบง่าย
• เน้นการใช้ข้อมูลประกอบการตัดสินใจ
• ปรับปรุงจากระดับล่างขึ้นบน
• มีโค้ชที่ดี
9. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 9
กระบวนการระดับบุคคลสำาหรับการ
พัฒนาซอฟต์แวร์ (1)
• กระบวนการระดับบุคคลสำาหรับการพัฒนาซอฟต์แวร์
(Personal Software Process หรือ PSP) คือรูปแบบ
ของการปรับปรุงกระบวนการที่ออกแบบมาเพื่อใช้ใน
ระดับบุคคลโดยมีพื้นฐานมาจากวิธีปฏิบัติสำาหรับพัฒนา
ซอฟต์แวร์เชิงอุตสาหกรรม
– มีขั้นตอนที่กำาหนดไว้อย่างชัดเจน
– มีเกณฑ์การเริ่มงานและสิ้นสุดงานสำาหรับแต่ละขั้นตอน
– มีตัววัดและมาตรฐานที่กำาหนดไว้อย่างชัดเจน
– มีแนวทางให้เราวิเคราะห์และปรับปรุงกระบวนการ
10. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 10
กระบวนการระดับบุคคลสำาหรับการ
พัฒนาซอฟต์แวร์ (2)
• PSP ช่วยให้เข้าใจกระบวนการของตนเอง
– เวลาที่ใช้ในแต่ละส่วนของกระบวนการ
– เกิดข้อบกพร่องขึ้น ณ จุดไหน ขจัดไป ณ จุดไหน
– ประสิทธิภาพในการทำางานเป็นอย่างไร
• เราเรียนรู้วิธีการวัดและจัดการคุณภาพระหว่างการ
พัฒนา
• PSP คือกระบวนการระดับบุคคลที่มีวุฒิภาวะความ
สามารถระดับ 5 ตามแบบจำาลองวุฒิภาวะความสามารถ
(Capability Maturity Model; CMM)
11. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 11
กระบวนการระดับบุคคลสำาหรับการ
พัฒนาซอฟต์แวร์ (3)
• PSP สามารถใช้ได้กับเกือบทุกงาน เช่น
– การเขียนโปรแกรม
– การจัดทำาความต้องการ (requirements)
กระบวนการ (process) หรือเอกสาร (document)
– การตรวจทาน (review) หรือการทดสอบ (test)
– การดูแลรักษาระบบ (maintain systems)
– การปรับเปลี่ยนระบบซอฟต์แวร์ขนาดใหญ่
– ฯลฯ
12. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 12
กระบวนการระดับบุคคลสำาหรับการ
พัฒนาซอฟต์แวร์ (4)
• ใน PSP เรา
– เป็นทั้งเจ้าของและผู้ใช้กระบวนการ
– ประมาณการและวางแผนอย่างเป็นกิจวัตร
– รวบรวมข้อมูลสำาหรับติดตามและปรับปรุงการ
ทำางาน
– จัดการกับคุณภาพทุกขั้นตอนของกระบวนการ
13. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 13
ประโยชน์ของ PSP
กระบวนการ PSP ที่เสถียรจะช่วยให้เรา
• รู้จักตัวเอง (Self-awareness)
– เข้าใจทักษะ ความสามารถ และสมรรถนะของตนเอง
– สามารถปรับปรุงการทำางานของเราให้ดีขึ้น
• ตัดสินใจโดยใช้ข้อเท็จจริง (Fact-based Decision
Making)
– ใช้ข้อมูลในการประมาณการ วางแผน ปรับปรุง ฯลฯ
– สามารถรับมือกับการเปลี่ยนแปลงได้ดีขึ้น
• เป็นนายของงาน (Ownership & Accountability)
– ดูแลเอาใจใส่แผนที่ทำาขึ้นมาเอง
– มั่นใจว่าจะดำาเนินการให้บรรลุข้อตกลงหรือพันธสัญญาต่างๆ ได้
14. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 14
จุดประสงค์ของ PSP
• เพื่อพัฒนาทักษะที่จำาเป็นสำาหรับ
– การวางแผนการทำางาน
– การติดตามการดำาเนินงานตามแผน
– การควบคุมคุณภาพของการทำางาน
– การวัด วิเคราะห์ และปรับปรุงประสิทธิภาพในการ
ทำางาน
15. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 15
กระบวนการทางวิศวกรรม
เป้าหมาย
ข้อจำากัด
กระบวนการ
ความ
ต้องการ
ผลิตภัณฑ์
ทรัพยากร
ควบคุม
ตัววัด ดำาเนินการ
ที่มา James W. Moore, The Road
Map to Software Engineering: A
Standard-Based Guide, IEEE
Computer Society Press, 2006
16. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 16
หลักการของ PSP
คุณภาพ
ของ
ซอฟต์แวร์
คุณภาพ
ของ
แต่ละชิ้น
ส่วน
ผู้พัฒนา
ซอฟต์แวร์
กระบวนการ
พัฒนา
ซอฟต์แวร์
17. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 17
หลักการของ PSP
• เราต้องรับผิดชอบต่อกระบวนการพัฒนา
ซอฟต์แวร์ของตนเอง
• เราควรที่จะวัด ติดตาม และวิเคราะห์การทำางาน
ของเรา
• เราควรที่จะเรียนรู้ว่าสมรรถนะของเราเป็น
อย่างไร ต่างจากที่ควรจะเป็นอย่างไร
• เราควรที่จะนำาสิ่งที่เรียนรู้มาปรับปรุงวิธีการ
ทำางานของเรา
18. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 18
แนวทางการเรียนรู้ PSP
• PSP จะแบ่งออกเป็น 6+2 ขั้น
• เริ่มจากรวบรวมข้อมูลเกี่ยวกับกระบวนการทำางานของ
เราในปัจจุบัน
• ค่อยๆ เพิ่มวิธีการในแต่ละขั้น
• ฝึกฝนวิธีการเหล่านี้ด้วยการพัฒนา 1 – 2 โปรแกรม
เพื่อให้เกิดความคุ้นเคย
• รวบรวมและวิเคราะห์ข้อมูลที่เกี่ยวข้องกับกระบวนการ
• นำาผลที่ได้มาปรับปรุงสมรรถนะและกระบวนการทำางาน
19. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 19
บันได 6 + 2 ขั้นของ PSP
PSP0
กระบวนการในปัจจุบัน
ตัวชี้วัดเบื้องต้น
PSP0.1
มาตรฐานการเขียนโปรแกรม
ข้อเสนอการปรับปรุงกระบวนการ
การวัดขนาด
PSP1
การประมาณขนาด
รายงานการทดสอบ
PSP1.1
การวางแผนกิจกรรม
การวางกำาหนดการ
PSP2
การทบทวน Design
การทบทวน Code
PSP2.1
แผนแบบการออกแบบ
PSP3
การใช้เป็นวัฏจักร
TSP(Team Software Process
กระบวนการพัฒนาเป็นทีม
ดัดแปลงมาจาก SEI
เก็บข้อมูล
อ้างอิงระดับ
บุคคล
การ
วางแผน
ระดับ
บุคคล
การจัดการ
คุณภาพ
ระดับบุคคล
การพัฒนา
ระบบขนาด
ใหญ่
การทำางาน
เป็นทีม
20. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 20
การเรียนรู้ PSP
• PSP 0: เรียนรู้สมรรถะของตนเอง
• PSP 1: วางแผนการทำางาน
• PSP 2: จัดการกับคุณภาพ
• PSP 3: ขยาย PSP ใช้กับงานขนาดใหญ่
• TSP: ขยาย PSP ใช้กับทีม
21. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 21
องค์ประกอบของ PSP
• คู่มือการปฏิบัติงาน (Process Script)
– คำาบรรยายการใช้กระบวนการ
• ตัววัด (Measure)
– ข้อมูลเชิงปริมาณที่ช่วยให้รู้ความเป็นไปของงาน
และกระบวนการ
• แบบฟอร์ม (Form)
– เครื่องมือสำาหรับรวบรวมและเก็บรักษาข้อมูล
• มาตรฐาน (Standard)
– แนวทางในการทำางาน
22. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 22
องค์ประกอบของ PSP
วางแผน
ออกแบบ
เขียนโปรแกรม
คอมไพล์
ทดสอบ
สรุปจบ
แบบ
ฟอร์ม
ผลสรุป
โครงกา
ร
(ตัววัด
ต่างๆ)
ความต้องการ
ซอฟต์แวร์
คู่มือการ
ปฏิบัติ
งาน
ใช้
เป็น
แนว
ทาง
ดัดแปลงมาจาก Introduction to PSP and TSP, Software Engineering Institute, 2006
มาตรฐา
น
ใช้
เป็น
แนว
ทาง
กระบวนการ
23. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 23
คู่มือการปฏิบัติงาน
• ระบุขั้นตอนต่างๆในกระบวนการ ตลอดจนแบบฟอร์ม
มาตรฐาน และตัววัดที่เกี่ยวข้อง
• โดยปกติแล้วในคู่มือการปฏิบัติงานจะมี
– จุดประสงค์ (purpose)
– เกณฑ์การเริ่มงาน (entry criteria)
– คำาแนะนำาการใช้งาน (general guidelines, usage
considerations, or constraints)
– เฟสหรือขั้นตอนการปฏิบัติ (phases or steps to be
performed)
– ตัววัดและเกณฑ์คุณภาพ (measures and quality criteria)
– เกณฑ์การสิ้นสุดงาน (exit criteria)
24. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 24
ลำาดับ กิจกรรม รายละเอียด
1 วางแผน จัดทำาหรือจัดหารายการความต้องการ
ประมาณเวลาที่จะใช้ในการพัฒนาแล้วป้อนลงในแบบฟอร์มสรุปแผนโครงการ
บันทึกเวลาลงในแบบฟอร์มบันทึกเวลา
2 พัฒนา ออกแบบโปรแกรม
เขียนโปรแกรม
คอมไพล์โปรแกรม และแก้ไขข้อบกพร่องที่พบ
ทดสอบโปรแกรม และแก้ไขข้อบกพร่องที่พบ
บันทึกเวลาลงในแบบฟอร์มบันทึกเวลา
3 สรุปจบ ป้อนข้อมูลเวลา ข้อบกพร่องลงในแบบฟอร์มสรุปแผนโครงการให้สมบูรณ์
เกณฑ์การสิ้นสุด โปรแกรมผ่านการทดสอบอย่างถี่ถ้วน
แบบฟอร์มสรุปแผนโครงการมีข้อมูลครบถ้วนสมบูรณ์
แบบฟอร์มบันทึกเวลาและแบบฟอร์มบันทึกข้อบกพร่องมีข้อมูลครบถ้วนสมบูรณ์
จุดประสงค์ เพื่อเป็นแนวทางการพัฒนาโปรแกรมระดับโมดูล
เกณฑ์การเริ่ม
ต้น
โจทย์หรือความต้องการ
แบบฟอร์มสรุปแผนโครงการ PSP0
แบบฟอร์มบันทึกเวลาและแบบฟอร์มบันทึกข้อบกพร่อง
มาตรฐานข้อบกพร่อง
นาฬิกาจับเวลา (ถ้าจำาเป็น)
คู่มือการปฏิบัติงานกระบวนการ PSP0
ที่มา: Watts S. Humphrey, PSP: A
Self-Improvement Process for
Engineers, Addison-Wesley 2005
25. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 25
ตัววัด
• ข้อมูลเชิงปริมาณที่ช่วยให้รู้ความเป็นไปของ
งานและกระบวนการ โดยมี 2 ชนิดคือ
• ตัววัดพื้นฐาน (Base Measures)
– ข้อมูลปฐมภูมิที่เก็บรวบรวมโดยตรงจากการทำางาน
เช่น เวลาที่ใช้
• ตัววัดจากการวิเคราะห์ (Derived Measures)
– ข้อมูลทุติยภูมิที่ได้จาการวิเคราะห์ตัววัดพื้นฐานหรือ
ตัววัดจากการวิเคราะห์ตัวอื่น เช่น ความหนาแน่น
ของข้อบกพร่อง (Defect density)
26. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 26
ตัววัดพื้นฐาน
PSP มีตัววัดพื้นฐานอยู่ 4 ชนิดคือ
• แรงงาน (Effort)
– โดยวัดจากเวลาที่ใช้
• คุณภาพ (Quality)
– โดยวัดจากจำานวนข้อบกพร่องที่พบและขจัด
• ขนาด (Size)
– ขนาดของงานที่ทำา
• กำาหนดการ (Schedule)
– เวลาที่คาดว่าบางสิ่งบางอย่างจะเกิดขึ้น
27. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 27
ตัววัดจากการวิเคราะห์
• ตัววัดสำาหรับการบริหารโครงการ
– ใช้ในการประมาณการ การวางแผน การติดตาม
แผน การวัดประสิทธิภาพในการทำางาน ฯลฯ
• ตัววัดสำาหรับการบริหารคุณภาพ
– ใช้ในการวัด ประเมิน ควบคุม และปรับปรุงคุณภาพ
ของกระบวนการและผลิตภัณฑ์ ฯลฯ
28. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 28
แบบฟอร์ม
• ช่วยในการเก็บรวบรวมข้อมูล
• ใน PSP มีแบบฟอร์ม 3 กลุ่มคือ
– แบบฟอร์มสำาหรับเก็บข้อมูลพื้นฐาน
– แบบฟอร์มสำาหรับประมวลผลข้อมูล
– แบบฟอร์มสำาหรับวิเคราะห์ข้อมูล
29. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 29
แบบฟอร์ม
• แบบฟอร์มสรุปโครงการ (Project Plan Summary)
• แบบฟอร์มบันทึกเวลาการทำางาน (Time Log)
• แบบฟอร์มบันทึกข้อบกพร่อง (Defect Log)
• แบบฟอร์มข้อเสนอการปรับปรุงกระบวนการ (Process
Improvement Proposal หรือ PIP)
• แบบฟอร์มประมาณการขนาด (Size Estimating Template)
• แบบฟอร์มรายงานผลการทดสอบ (Test Report Template)
• แบบฟอร์มวางแผนภาระกิจ (Task Planning Template)
• แบบฟอร์มวางแผนกำาหนดการ (Scheduling Planning
Template)
• รายการตรวจทานแบบ (Design Review Checklist)
• รายการตรวจทานโค้ด (Code Review Checklist)
30. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 30
มาตรฐาน
• ใน PSP กำาหนดมาตรฐานไว้ 4 อย่างดังนี้
– มาตรฐานชนิดข้อบกพร่อง (Defect Type
Standard)
– มาตรฐานการเขียนโค้ด (Coding Standard)
– มาตรฐานการวัดขนาด (Size Counting Standard)
– มาตรฐานการออกแบบ (Design Standard)
31. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 31
ก่อนการใช้ PSP
ความ
ต้องการ
พัฒนา ซอฟต์
แวร์
ไม่เห็น
คุณภา
พ
คุณภา
พ
คุณภา
พ
32. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 32
ใช้ PSP แล้วได้อะไร
• เราได้ฝึกฝนองค์ประกอบสำาคัญของ
กระบวนการพัฒนาซอฟต์แวร์เชิงอุตสาหกรรม
(เทียบได้กับ CMM ระดับ 5 สำาหรับบุคคล)
• เราเข้าใจวิธีการที่ดีที่สุดสำาหรับตัวเรา
• เราทำางานได้ดีขึ้น
• เรามีเป้าหมายการปรับปรุงระยะยาว
33. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 33
รายงานผลการศึกษาประโยชน์ของ
PSP
• Alexis Ocampo, PSP Data Study, F
Fraunhofer Institute for Experimental Software
Engineering, May 2008
• ทำาการตรวจสอบประโยชน์ของการจัดการกระบวนการ
อย่างมีวินัยโดยใช้ข้อมูลของวิศวกรจำานวน 3090 คนที่
ผ่านการอบรม PSP โดยพิจารณาในเรื่อง
– ความแม่นยำาของการประมาณขนาด
– ความแม่นยำาของการประมาณแรงงาน
– ความแม่นยำาของการประมาณข้อบกพร่อง
– ผลิตภาพ (productivity)
– ความหนาแน่นและอัตราการขจัดข้อบกพร่อง
34. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 34
การประมาณขนาด
From Alexis Ocampo, PSP Data Study, F Fraunhofer Institute for Experimental Software Engineering,
May 2008
35. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 35
ความหนาแน่นของข้อบกพร่อง
Alexis Ocampo, PSP Data Study, F
Fraunhofer Institute for Experimental
Software Engineering, May 2008
36. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 36
ผลิตภาพ (Productivity)
Alexis Ocampo, PSP Data Study, F
Fraunhofer Institute for Experimental
Software Engineering, May 2008
37. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 37
อัตราการขจัดข้อบกพร่อง
Alexis Ocampo, PSP Data Study, F
Fraunhofer Institute for Experimental
Software Engineering, May 2008
38. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 38
ผลการใช้ PSP ที่บริษัทอินเดียแห่งหนึ่ง
ก่อนใช้
หลังการใช้
CMM
หลังการใช้
PSP
ความแปรปรวน
ของกำาหนดการ
112% 37% 5%
ความแปรปรวน
ของแรงงานที่ใช้
85% 20% 1%
ข้อบกพร่องก่อน
การทดสอบ
0.6 per
KLOC
N/A
0.09 per
KLOC
เวลาในการ
ทดสอบระบบ
2 days per
KLOC
N/A
0.5 days per
KLOC
39. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 39
ผลการใช้ PSP จากหลายบริษัท
ก่อน PSP หลัง PSP
ความแปรปรวนของแรงงานที่ใช้ 18 – 100% 10 – 12%
ความแปรปรวนของกำาหนดการ 25 – 135% -10 – 10%
ข้อบกพร่องที่พบระหว่างการ
ทดสอบเพื่อตรวจรับ
0.1 - 0.8
per KLOC
0.01 - 0.1
per KLOC
ข้อบกพร่องที่ลูกค้าพบ
0.2 - 1.2
per KLOC
0.0 - 0.1
per KLOC
40. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 40
ผลการใช้ PSP/TSP จากหลายบริษัท
7.5
6.24
4.73
2.28
1.05
0.028
0
1
2
3
4
5
6
7
8
Level 1 Level 2 Level 3 Level 4 Level 5 TSP
Defects/KLOC
Source: SEI, Softek
41. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 41
ผลการใช้ PSP/TSP จากบริษัท
Microsoft
โครงการ
ที่ไม่ใช้
TSP
โครงการที่
ใช้ TSP
ส่งมอบตามเวลา 42% 66%
จำานวนวันที่ล่าช้าโดยเฉลี่ย 25 6
ค่าเฉลี่ยของความผิดพลาด
ของกำาหนดการ 10% 1%
ข้อบกพร่องที่พบในการใช้
งานต่อ 1,000LOC 1.8 0.5
ขนาดตัวอย่าง 80 15
ที่มา: Microsoft, IT Division
42. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 42
ผลการใช้ PSP/TSP จาก US
NAVAIR
ขนาดของ
งาน(KLOC
)
ความหนา
แน่นของข้อ
บกพร่อง(d
efects/
KLOC)
จำานวนข้อ
บกพร่อง
ค่าใช้จ่ายใน
การขจัดข้อ
บกพร่อง 1
ข้อ
ค่าใช้จ่ายทั้งหมด
ในการขจัดข้อ
บกพร่อง
ไม่ใช้ TSP 443 1.13 501 $8,330 $ 4,173,330
ใช้ TSP 443 0.59 261 $8,330 $ 2,174,130
ค่าใช้จ่ายที่ประหยัดได้จากการที่ข้อบกพร่องลดลง $ 1,999,200
ค่าใช้จ่ายในการอบรมและสนับสนุนการใช้งาน PSP/TSP $ 225,300
ค่าใช้จ่ายทั้งหมดที่ประหยัดได้จากการที่ข้อบกพร่องลดลง $ 1,773,900
ที่มา: US NAVAIR Software/Systems Support Center
(NSSC)
43. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 43
ปัจจัยสู่ความสำาเร็จของ PSP
• ความมีวินัยในตนเอง
• ข้อมูลที่ถูกต้องสมบูรณ์
• การปฏิบัติตามขั้นตอนที่กำาหนดไว้
• การปรับปรุงตัวเองอย่างไม่หยุดยั้ง
ปฏิบัติตามขั้นตอน รวบรวมข้อมูล
วิเคราะห์และปรับปรุง
44. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 44
ข้อควรคำานึง
• ถึงแม้ว่าในการเรียน PSP จะมีการเขียนโปรแกรม แต่
PSP ไม่ใช่วิชาการเขียนโปรแกรม
• PSP เป็นเรื่องของการปรับปรุงกระบวนการ
• ถ้าเราไม่ปฏิบัติตามขั้นตอนที่กำาหนดไว้เราก็จะไม่ได้
เรียนรู้ PSP
• ไม่ควรใช้โปรแกรมที่ต้องทำาในงานในการเรียน PSP
เพราะส่วนใหญ่แล้วเรามักจะหลีกเลี่ยงที่จะใช้วิธีการที่
ไม่คุ้นเคยเมื่อเรากำาลังทำางาน
• วิธีที่เรียน PSP ที่ดีที่สุดคือการปฏิบัติตามขั้นตอนที่
กำาหนด (Learning-by-doing)
45. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 45
รู้ PSP แล้วเราจะทำาอะไรต่อ
• ทีม
– กระบวนการพัฒนาซอฟต์แวร์เป็นทีม (Team
Software Process หรือ TSP)
• องค์กร
– แบบจำาลองวุฒิภาวะความสามารถเชิงบูรณาการ
(Capability Maturity Model Integration หรือ
CMMI)
• ประยุกต์ใช้ PSP กับงานประเภทอื่นๆ
– ทำารายงาน
46. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 46
PSP, TSP และ CMMI
CMMI- สร้างความ
สามารถขององค์กร
TSP– สร้าง
ผลิตภัณฑ์
ที่มีคุณภาพภายใต้
งบประมาณและ
เวลาPSP- สร้างทักษะ
และวินัยส่วนบุคคล
47. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 47
หลักการของกระบวนการ
การวัดสมรรถนะ
ทักษะการประมาณและการวางแผน
ทักษะการจัดการคุณภาพ
ทักษะของสมาชิกใน
ทีม
การตั้งเป้าหมาย
การมอบหมายหน้าที่
กระบวนการของทีม
แผนงานที่สมดุล
สร้างทีม
PSP
TSP
การสื่อสาร
การประสานงาน
การติดตามโครงการ
การจัดการความเสี่ยง
บริหารทีม
การให้การสนับสนุน
การดูแลรักษาวินัย
การดูแลความเป็นไปของโครงการ
ผู้บริหาร
48. Revision 2.1 02 การพัฒนาซอฟต์แวร์ส่วนบุคคล 48
สรุป
• PSP เป็นกระบวนการที่ช่วยให้เราทำางานได้ดี
ขึ้น
• หลังเรียนจบแล้ว เราจะรู้วิธีการประยุกต์ PSP
ให้เหมาะกับความต้องการของเรา
• เราจะมีความรู้และทักษะเพียงพอที่จะเข้าร่วมทีม
TSP
Editor's Notes Revision History
-------------------
Revision 1.0 (2006-12-15) Initial Version
Revision 1.1 (2007-12-22) Update to reflect recent data
Revision 2.0 (2008-12-17) Major update
Revision 2.0.1 (2008-12-24) typo correction
Revision 2.1 (2010-02-07) Convert to be PowerPoint 2003 format and update some contents.