02 intro to psp
DESCRIPTION
TRANSCRIPT
02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล
ส่งวนล�ขส่�ทธิ์�� 2551, 2552, 2553ส่�รเดช จิ�ต์ประไพัก�ลศาล
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 2
หั�วข%อ• ท&าไมจิ(งต์%องเปล)*ยนแปลงกระบุวนการพั�ฒนา
ซอฟต์�แวร�• กระบุวนการพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล• หัล�กการของ PSP• แนวทางการเร)ยนร, % PSP
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 3
ความท%าทายของการพั�ฒนาซอฟต์�แวร�
• ขอบุเขต์ของงานไม�ช�ดเจิน หัร-อเปล)*ยนแปลงบุ�อย• ก&าหันดการไม�ส่มเหัต์�ผล หัร-อวางแผนไม�ด)• ขาดการควบุค�ม หัร-อควบุค�มมากเก�นไป• ขาดบุ�คลากร ท)มงานท)*ด)• ค�ณภาพัของงานหัร-อซอฟต์�แวร�ไม�ด)
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 4
ส่�*งท)*ท%าทายในการพั�ฒนาซอฟต์�แวร�• การคาดการณ์�: ประมาณการว�าจิะต์%องใช%เวลาท&า
เท�าไรก�อนท)*จิะร, %ว�าจิะท&าอะไร• ความไม�แน�นอน: ขอบุเขต์ของงานเปล)*ยน
บุ�คลากรเปล)*ยน ส่ถานการณ�เปล)*ยน ฯลฯ• ค�ณ์ภาพ: ไม�ม)เวลาพัอท)*จิะต์รวจิทานหัร-อทดส่อบุ
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 5
อะไรท&าใหั%ค�ณด)กว�า
ทำ�าไมค�ณ์ถึ�งด�กว�าน�กศึ�กษาปร�ญญาตร�ป� 1?ทำ�าไมค�ณ์ถึ�งด�กว�าน�กศึ�กษาปร�ญญาตร�ป� 1?
สิ่�"งทำ�"ค�ณ์ทำ�าได#ด�ในระด�บบ�คคลใช้#ได#ก�บระด�บองค�กรหร*อไม�?สิ่�"งทำ�"ค�ณ์ทำ�าได#ด�ในระด�บบ�คคลใช้#ได#ก�บระด�บองค�กรหร*อไม�?
Source: DAAD Project
ทำ�าไมองค�กรบางแห�งถึ�งทำ�าได#ด�กว�าทำ�"อ*"น?
(สิ่�งมอบงานตามก�าหนด
งานทำ�"สิ่�งมอบม�ค�ณ์ภาพสิ่+ง
ม�ข้#อบกพร�องน#อย)
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 6
ส่�*งท)*ท%าทายส่&าหัร�บุม-ออาช)พั• ท&าอย�างไรเราถ(งจิะผล�ต์ซอฟต์�แวร�ท)*ม�ค�ณ์ภาพใน
ก�าหนดการทำ�"คาดการณ์�ได%ภายใต#งบประมาณ์ได%อย�างคงเสิ่#นคงวา
• ท&าอย�างไรเราจิ(งจิะส่ามารถปร�บปร�งว�ธิ์)ปฏิ�บุ�ต์�ของเราในป5จิจิ�บุ�นได%
• ท&าอย�างไรเราจิ(งจิะเผยแพร�ว�ธิ์)ปฏิ�บุ�ต์�ของเราส่,�ส่�งคมส่�วนใหัญ่�ได%
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 7
ม*ออาช้�พ ส่ามารถท&าต์ามข%อต์กลงได%
ผล�ต์งานค�ณภาพัอย�างส่ม&*าเส่มอ
ต์กลงในส่�*งท)*เป7นไปได%จิร�ง
ใช%ข%อม,ลในการท&าข%อต์กลง
ว�ดและจิ�ดการค�ณภาพั
เก8บุข%อม,ลเก)*ยวก�บุงานของต์น
ร, %ว�าอย,�ท)*ไหันแล%ว
ใช%ข%อม,ลต์�ดต์ามความก%าวหัน%า
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 8
องค�ประกอบุหัล�กของความส่&าเร8จิ• ม��งเน%นท)*ท)มและบุ�คคล• เน%นค�ณภาพั• ส่ร%างแรงจิ,งใจิ• เน%นความเร)ยบุง�าย• เน%นการใช%ข%อม,ลประกอบุการต์�ดส่�นใจิ• ปร�บุปร�งจิากระด�บุล�างข(9นบุน• ม)โค%ชท)*ด)
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 9
กระบุวนการระด�บุบุ�คคลส่&าหัร�บุการพั�ฒนาซอฟต์�แวร� (1)
• กระบุวนการระด�บุบุ�คคลส่&าหัร�บุการพั�ฒนาซอฟต์�แวร� (Personal Software Process หัร-อ PSP) ค-อร,ปแบุบุของการปร�บุปร�งกระบุวนการท)*ออกแบุบุมาเพั-*อใช%ในระด�บุบุ�คคลโดยม)พั-9นฐานมาจิากว�ธิ์)ปฏิ�บุ�ต์�ส่&าหัร�บุพั�ฒนาซอฟต์�แวร�เช�งอ�ต์ส่าหักรรม– ม)ข�9นต์อนท)*ก&าหันดไว%อย�างช�ดเจิน– ม)เกณฑ์�การเร�*มงานและส่�9นส่�ดงานส่&าหัร�บุแต์�ละข�9นต์อน– ม)ต์�วว�ดและมาต์รฐานท)*ก&าหันดไว%อย�างช�ดเจิน– ม)แนวทางใหั%เราว�เคราะหั�และปร�บุปร�งกระบุวนการ
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 10
กระบุวนการระด�บุบุ�คคลส่&าหัร�บุการพั�ฒนาซอฟต์�แวร� (2)
• PSP ช�วยใหั%เข%าใจิกระบุวนการของต์นเอง– เวลาท)*ใช%ในแต์�ละส่�วนของกระบุวนการ– เก�ดข%อบุกพัร�องข(9น ณ จิ�ดไหัน ขจิ�ดไป ณ จิ�ดไหัน– ประส่�ทธิ์�ภาพัในการท&างานเป7นอย�างไร
• เราเร)ยนร, %ว�ธิ์)การว�ดและจิ�ดการค�ณภาพัระหัว�างการพั�ฒนา• PSP ค-อกระบุวนการระด�บุบุ�คคลท)*ม)ว�ฒ�ภาวะความ
ส่ามารถระด�บุ 5 ต์ามแบุบุจิ&าลองว�ฒ�ภาวะความส่ามารถ (Capability Maturity Model; CMM)
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 11
กระบุวนการระด�บุบุ�คคลส่&าหัร�บุการพั�ฒนาซอฟต์�แวร� (3)
• PSP ส่ามารถใช%ได%ก�บุเก-อบุท�กงาน เช�น– การเข)ยนโปรแกรม– การจิ�ดท&าความต์%องการ (requirements)
กระบุวนการ (process) หัร-อเอกส่าร (document)– การต์รวจิทาน (review) หัร-อการทดส่อบุ (test)– การด,แลร�กษาระบุบุ (maintain systems)– การปร�บุเปล)*ยนระบุบุซอฟต์�แวร�ขนาดใหัญ่�– ฯลฯ
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 12
กระบุวนการระด�บุบุ�คคลส่&าหัร�บุการพั�ฒนาซอฟต์�แวร� (4)
• ใน PSP เรา– เป7นท�9งเจิ%าของและผ,%ใช%กระบุวนการ– ประมาณการและวางแผนอย�างเป7นก�จิว�ต์ร– รวบุรวมข%อม,ลส่&าหัร�บุต์�ดต์ามและปร�บุปร�งการท&างาน– จิ�ดการก�บุค�ณภาพัท�กข�9นต์อนของกระบุวนการ
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 13
ประโยชน�ของ PSP
กระบุวนการ PSP ท)*เส่ถ)ยรจิะช�วยใหั%เรา• ร, %จิ�กต์�วเอง (Self-awareness)
– เข%าใจิท�กษะ ความส่ามารถ และส่มรรถนะของต์นเอง– ส่ามารถปร�บุปร�งการท&างานของเราใหั%ด)ข(9น
• ต์�ดส่�นใจิโดยใช%ข%อเท8จิจิร�ง (Fact-based Decision Making)– ใช%ข%อม,ลในการประมาณการ วางแผน ปร�บุปร�ง ฯลฯ– ส่ามารถร�บุม-อก�บุการเปล)*ยนแปลงได%ด)ข(9น
• เป7นนายของงาน (Ownership & Accountability)– ด,แลเอาใจิใส่�แผนท)*ท&าข(9นมาเอง– ม�*นใจิว�าจิะด&าเน�นการใหั%บุรรล�ข%อต์กลงหัร-อพั�นธิ์ส่�ญ่ญ่าต์�างๆ ได%
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 14
จิ�ดประส่งค�ของ PSP
• เพั-*อพั�ฒนาท�กษะท)*จิ&าเป7นส่&าหัร�บุ– การวางแผนการท&างาน– การต์�ดต์ามการด&าเน�นงานต์ามแผน– การควบุค�มค�ณภาพัของการท&างาน– การว�ด ว�เคราะหั� และปร�บุปร�งประส่�ทธิ์�ภาพัในการ
ท&างาน
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 15
กระบุวนการทางว�ศวกรรมเป?าหัมาย
ข%อจิ&าก�ด
กระบุวนการความต์%องการ
ผล�ต์ภ�ณฑ์�
ทร�พัยากร
ควบุค�ม
ต์�วว�ด ด&าเน�นการ
ท)*มา James W. Moore, The Road Map to Software Engineering: A Standard-Based Guide, IEEE Computer Society Press, 2006
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 16
หัล�กการของ PSP
ค�ณ์ภาพข้องซอฟต�แวร�
ค�ณ์ภาพข้องแต�ละช้�2นสิ่�วน
ผ+#พ�ฒนา ซอฟต�แวร�
กระบวนการพ�ฒนาซอฟต�แวร�
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 17
หัล�กการของ PSP
• เราต์%องร�บุผ�ดชอบุต์�อกระบุวนการพั�ฒนาซอฟต์�แวร�ของต์นเอง
• เราควรท)*จิะว�ด ต์�ดต์าม และว�เคราะหั�การท&างานของเรา
• เราควรท)*จิะเร)ยนร, %ว�าส่มรรถนะของเราเป7นอย�างไร ต์�างจิากท)*ควรจิะเป7นอย�างไร
• เราควรท)*จิะน&าส่�*งท)*เร)ยนร, %มาปร�บุปร�งว�ธิ์)การท&างานของเรา
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 18
แนวทางการเร)ยนร, % PSP
• PSP จิะแบุ�งออกเป7น 6+2 ข�9น• เร�*มจิากรวบุรวมข%อม,ลเก)*ยวก�บุกระบุวนการท&างานของเรา
ในป5จิจิ�บุ�น• ค�อยๆ เพั�*มว�ธิ์)การในแต์�ละข�9น• ฝึAกฝึนว�ธิ์)การเหัล�าน)9ด%วยการพั�ฒนา 1 – 2 โปรแกรมเพั-*อ
ใหั%เก�ดความค�%นเคย• รวบุรวมและว�เคราะหั�ข%อม,ลท)*เก)*ยวข%องก�บุกระบุวนการ• น&าผลท)*ได%มาปร�บุปร�งส่มรรถนะและกระบุวนการท&างาน
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 19
บุ�นได 6 + 2 ข�9นของ PSP
PSP 0กระบุวนการในป5จิจิ�บุ�นต์�วช)9ว�ดเบุ-9องต์%น
PSP 0.1มาต์รฐานการเข)ยนโปรแกรมข%อเส่นอการปร�บุปร�งกระบุวนการการว�ดขนาด
PSP 1การประมาณขนาดรายงานการทดส่อบุ
PSP 1.1การวางแผนก�จิกรรมการวางก&าหันดการ
PSP 2การทบุทวน Designการทบุทวน Code
PSP 2.1แผนแบุบุการออกแบุบุ
PSP 3การใช%เป7นว�ฏิจิ�กร
TSP (Team Software Process)กระบุวนการพั�ฒนาเป7นท)ม
ด�ดแปลงมาจิาก SEI
เก8บุข%อม,ลอ%างอ�งระด�บุบุ�คคล
การวางแผนระด�บุบุ�คคล
การจิ�ดการค�ณภาพัระด�บุบุ�คคล
การพั�ฒนาระบุบุขนาดใหัญ่�
การท&างานเป7นท)ม
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 20
การเร)ยนร, % PSP
• PSP 0 : เร)ยนร, %ส่มรรถะของต์นเอง• PSP 1 : วางแผนการท&างาน• PSP 2 : จิ�ดการก�บุค�ณภาพั• PSP 3 : ขยาย PSP ใช%ก�บุงานขนาดใหัญ่�• TSP : ขยาย PSP ใช%ก�บุท)ม
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 21
องค�ประกอบุของ PSP
• ค,�ม-อการปฏิ�บุ�ต์�งาน (Process Script)– ค&าบุรรยายการใช%กระบุวนการ
• ต์�วว�ด (Measure)– ข%อม,ลเช�งปร�มาณท)*ช�วยใหั%ร, %ความเป7นไปของงานและ
กระบุวนการ• แบุบุฟอร�ม (Form)
– เคร-*องม-อส่&าหัร�บุรวบุรวมและเก8บุร�กษาข%อม,ล• มาต์รฐาน (Standard)
– แนวทางในการท&างาน
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 22
องค�ประกอบุของ PSP
วางแผนออกแบุบุ
เข)ยนโปรแกรมคอมไพัล�ทดส่อบุส่ร�ปจิบุ
แบุบุฟอร�ม
ผลส่ร�ปโครงการ(ต์�วว�ดต์�างๆ)
ความต์%องการ
ซอฟต์�แวร�
ค,�ม-อการปฏิ�บุ�ต์�งาน
ใช%เป7น
แนวทาง
ด�ดแปลงมาจิาก Introduction to PSP and TSP, Software Engineering Institute, 2006
มาต์รฐาน
ใช%เป7น
แนวทาง
กระบุวนการ
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 23
ค,�ม-อการปฏิ�บุ�ต์�งาน• ระบุ�ข� 9นต์อนต์�างๆในกระบุวนการ ต์ลอดจินแบุบุฟอร�ม
มาต์รฐาน และต์�วว�ดท)*เก)*ยวข%อง• โดยปกต์�แล%วในค,�ม-อการปฏิ�บุ�ต์�งานจิะม)
– จิ�ดประส่งค� (purpose)– เกณฑ์�การเร�*มงาน (entry criteria)– ค&าแนะน&าการใช%งาน (general guidelines, usage
considerations, or constraints)– เฟส่หัร-อข�9นต์อนการปฏิ�บุ�ต์� (phases or steps to be
performed)– ต์�วว�ดและเกณฑ์�ค�ณภาพั (measures and quality
criteria)– เกณฑ์�การส่�9นส่�ดงาน (exit criteria)
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 24
ล�าด�บ ก�จกรรม รายละเอ�ยด1 วางแผน จิ�ดท&าหัร-อจิ�ดหัารายการความต์%องการ
ประมาณเวลาท)*จิะใช%ในการพั�ฒนาแล%วป?อนลงในแบุบุฟอร�มส่ร�ปแผนโครงการ บุ�นท(กเวลาลงในแบุบุฟอร�มบุ�นท(กเวลา
2 พั�ฒนา ออกแบุบุโปรแกรมเข)ยนโปรแกรมคอมไพัล�โปรแกรม และแก%ไขข%อบุกพัร�องท)*พับุทดส่อบุโปรแกรม และแก%ไขข%อบุกพัร�องท)*พับุบุ�นท(กเวลาลงในแบุบุฟอร�มบุ�นท(กเวลา
3 ส่ร�ปจิบุ ป?อนข%อม,ลเวลา ข%อบุกพัร�องลงในแบุบุฟอร�มส่ร�ปแผนโครงการใหั%ส่มบุ,รณ�เกณ์ฑ์�การสิ่�2นสิ่�ด โปรแกรมผ�านการทดส่อบุอย�างถ)*ถ%วน
แบุบุฟอร�มส่ร�ปแผนโครงการม)ข%อม,ลครบุถ%วนส่มบุ,รณ�แบุบุฟอร�มบุ�นท(กเวลาและแบุบุฟอร�มบุ�นท(กข%อบุกพัร�องม)ข%อม,ลครบุถ%วนส่มบุ,รณ�
จ�ดประสิ่งค� เพั-*อเป7นแนวทางการพั�ฒนาโปรแกรมระด�บุโมด,ล
เกณ์ฑ์�การเร�"มต#น โจิทย�หัร-อความต์%องการแบุบุฟอร�มส่ร�ปแผนโครงการ PSP0แบุบุฟอร�มบุ�นท(กเวลาและแบุบุฟอร�มบุ�นท(กข%อบุกพัร�องมาต์รฐานข%อบุกพัร�องนาฬิ�กาจิ�บุเวลา (ถ%าจิ&าเป7น)
ค,�ม-อการปฏิ�บุ�ต์�งานกระบุวนการ PSP0
ท)*มา: Watts S. Humphrey, PSP: A Self-Improvement Process for Engineers, Addison-Wesley 2005
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 25
ต์�วว�ด• ข%อม,ลเช�งปร�มาณท)*ช�วยใหั%ร, %ความเป7นไปของงาน
และกระบุวนการ โดยม) 2 ชน�ดค-อ• ต์�วว�ดพั-9นฐาน (Base Measures)
– ข%อม,ลปฐมภ,ม�ท)*เก8บุรวบุรวมโดยต์รงจิากการท&างาน เช�น เวลาท)*ใช%
• ต์�วว�ดจิากการว�เคราะหั� (Derived Measures)– ข%อม,ลท�ต์�ยภ,ม�ท)*ได%จิาการว�เคราะหั�ต์�วว�ดพั-9นฐานหัร-อต์�ว
ว�ดจิากการว�เคราะหั�ต์�วอ-*น เช�น ความหันาแน�นของข%อบุกพัร�อง (Defect density)
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 26
ต์�วว�ดพั-9นฐานPSP ม)ต์�วว�ดพั-9นฐานอย,� 4 ชน�ดค-อ• แรงงาน (Effort)
– โดยว�ดจิากเวลาท)*ใช%• ค�ณภาพั (Quality)
– โดยว�ดจิากจิ&านวนข%อบุกพัร�องท)*พับุและขจิ�ด• ขนาด (Size)
– ขนาดของงานท)*ท&า• ก&าหันดการ (Schedule)
– เวลาท)*คาดว�าบุางส่�*งบุางอย�างจิะเก�ดข(9น
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 27
ต์�วว�ดจิากการว�เคราะหั�• ต์�วว�ดส่&าหัร�บุการบุร�หัารโครงการ
– ใช%ในการประมาณการ การวางแผน การต์�ดต์ามแผน การว�ดประส่�ทธิ์�ภาพัในการท&างาน ฯลฯ
• ต์�วว�ดส่&าหัร�บุการบุร�หัารค�ณภาพั– ใช%ในการว�ด ประเม�น ควบุค�ม และปร�บุปร�งค�ณภาพั
ของกระบุวนการและผล�ต์ภ�ณฑ์� ฯลฯ
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 28
แบุบุฟอร�ม• ช�วยในการเก8บุรวบุรวมข%อม,ล• ใน PSP ม)แบุบุฟอร�ม 3 กล��มค-อ
– แบุบุฟอร�มส่&าหัร�บุเก8บุข%อม,ลพั-9นฐาน– แบุบุฟอร�มส่&าหัร�บุประมวลผลข%อม,ล– แบุบุฟอร�มส่&าหัร�บุว�เคราะหั�ข%อม,ล
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)
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 30
มาต์รฐาน• ใน PSP ก&าหันดมาต์รฐานไว% 4 อย�างด�งน)9
– มาต์รฐานชน�ดข%อบุกพัร�อง (Defect Type Standard)
– มาต์รฐานการเข)ยนโค%ด (Coding Standard)– มาต์รฐานการว�ดขนาด (Size Counting
Standard)– มาต์รฐานการออกแบุบุ (Design Standard)
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 31
ก�อนการใช% PSP
ความต#องการ
พ�ฒนา ซอฟต�แวร�
ไม�เห6น
ค�ณ์ภาพ ค�ณ์ภาพค�ณ์ภาพ
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 32
ใช% PSP แล%วได%อะไร• เราได%ฝึAกฝึนองค�ประกอบุส่&าค�ญ่ของกระบุวนการ
พั�ฒนาซอฟต์�แวร�เช�งอ�ต์ส่าหักรรม (เท)ยบุได%ก�บุ CMM ระด�บุ 5 ส่&าหัร�บุบุ�คคล)
• เราเข%าใจิว�ธิ์)การท)*ด)ท)*ส่�ดส่&าหัร�บุต์�วเรา• เราท&างานได%ด)ข(9น• เราม)เป?าหัมายการปร�บุปร�งระยะยาว
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 33
รายงานผลการศ(กษาประโยชน�ของ PSP
• Alexis Ocampo, PSP Data Study, F Fraunhofer Institute for Experimental Software Engineering, May 2008
• ท&าการต์รวจิส่อบุประโยชน�ของการจิ�ดการกระบุวนการอย�างม)ว�น�ยโดยใช%ข%อม,ลของว�ศวกรจิ&านวน 3090 คนท)*ผ�านการอบุรม PSP โดยพั�จิารณาในเร-*อง– ความแม�นย&าของการประมาณขนาด– ความแม�นย&าของการประมาณแรงงาน– ความแม�นย&าของการประมาณข%อบุกพัร�อง– ผล�ต์ภาพั (productivity)– ความหันาแน�นและอ�ต์ราการขจิ�ดข%อบุกพัร�อง
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 34
การประมาณขนาด
From Alexis Ocampo, PSP Data Study, F Fraunhofer Institute for Experimental Software Engineering, May 2008
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 35
ความหันาแน�นของข%อบุกพัร�อง
Alexis Ocampo, PSP Data Study, F Fraunhofer Institute for Experimental Software Engineering, May 2008
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 36
ผล�ต์ภาพั (Productivity)
Alexis Ocampo, PSP Data Study, F Fraunhofer Institute for Experimental Software Engineering, May 2008
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 37
อ�ต์ราการขจิ�ดข%อบุกพัร�อง
Alexis Ocampo, PSP Data Study, F Fraunhofer Institute for Experimental Software Engineering, May 2008
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 38
ผลการใช% PSP ท)*บุร�ษ�ทอ�นเด)ยแหั�งหัน(*ง
ก�อนใช% หัล�งการใช% CMM
หัล�งการใช% PSP
ความแปรปรวนของก&าหันดการ 112% 37% 5%
ความแปรปรวนของแรงงานท)*ใช% 85% 20% 1%
ข%อบุกพัร�องก�อนการทดส่อบุ
0.6 per KLOC
N/A0.09 per
KLOC
เวลาในการทดส่อบุระบุบุ
2 days per
KLOC N/A
0.5 days per KLOC
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.2per KLOC
0.0 - 0.1 per KLOC
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 40
ผลการใช% PSP/TSP จิากหัลายบุร�ษ�ท
7.5
6.24
4.73
2.28
1.05
0.0280
1
2
3
4
5
6
7
8
Level 1 Level 2 Level 3 Level 4 Level 5 TSP
Defects/KLOC
Source: SEI, Softek
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
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 42
ผลการใช% PSP/TSP จิาก US NAVAIR
ขนาดของงาน(KLOC
)
ความหันาแน�นของข%อบุกพัร�อง(defects/KLOC)
จิ&านวนข%อ บุกพัร�อง
ค�าใช%จิ�ายในการขจิ�ดข%อบุกพัร�อง 1
ข%อ
ค�าใช%จิ�ายท�9งหัมดในการขจิ�ดข%อบุกพัร�อง
ไม�ใช% 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
ค�าใช%จิ�ายท�9งหัมดท)*ประหัย�ดได%จิากการท)*ข%อบุกพัร�องลดลง $ 1,773,900
ท)*มา: US NAVAIR Software/Systems Support Center (NSSC)
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 43
ป5จิจิ�ยส่,�ความส่&าเร8จิของ PSP
• ความม)ว�น�ยในต์นเอง• ข%อม,ลท)*ถ,กต์%องส่มบุ,รณ�• การปฏิ�บุ�ต์�ต์ามข�9นต์อนท)*ก&าหันดไว%• การปร�บุปร�งต์�วเองอย�างไม�หัย�ดย�9ง
ปฏิ�บ�ต�ตามข้�2นตอน รวบรวมข้#อม+ลว�เคราะห�และปร�บปร�ง
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 44
ข%อควรค&าน(ง• ถ(งแม%ว�าในการเร)ยน PSP จิะม)การเข)ยนโปรแกรม แต์�
PSP ไม�ใช�ว�ชาการเข)ยนโปรแกรม• PSP เป7นเร-*องของการปร�บุปร�งกระบุวนการ• ถ%าเราไม�ปฏิ�บุ�ต์�ต์ามข�9นต์อนท)*ก&าหันดไว%เราก8จิะไม�ได%เร)ยนร, %
PSP• ไม�ควรใช%โปรแกรมท)*ต์%องท&าในงานในการเร)ยน PSP
เพัราะส่�วนใหัญ่�แล%วเราม�กจิะหัล)กเล)*ยงท)*จิะใช%ว�ธิ์)การท)*ไม�ค�%นเคยเม-*อเราก&าล�งท&างาน
• ว�ธิ์)ท)*เร)ยน PSP ท)*ด)ท)*ส่�ดค-อการปฏิ�บุ�ต์�ต์ามข�9นต์อนท)*ก&าหันด (Learning-by-doing)
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 45
ร, % PSP แล%วเราจิะท&าอะไรต์�อ• ท)ม
– กระบุวนการพั�ฒนาซอฟต์�แวร�เป7นท)ม (Team Software Process หัร-อ TSP)
• องค�กร– แบุบุจิ&าลองว�ฒ�ภาวะความส่ามารถเช�งบุ,รณาการ
(Capability Maturity Model Integration หัร-อ CMMI)
• ประย�กต์�ใช% PSP ก�บุงานประเภทอ-*นๆ– ท&ารายงาน
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 46
PSP, TSP และ CMMI
CMMI - ส่ร%างความส่ามารถของ
องค�กรTSP – ส่ร%าง
ผล�ต์ภ�ณฑ์�ท)*ม)ค�ณภาพัภายใต์%
งบุประมาณและเวลา
PSP - ส่ร%างท�กษะและว�น�ยส่�วนบุ�คคล
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 47
หัล�กการของกระบุวนการการว�ดส่มรรถนะ
ท�กษะการประมาณและการวางแผนท�กษะการจิ�ดการค�ณภาพั
ทำ�กษะข้องสิ่มาช้�กในทำ�ม
การต์�9งเป?าหัมายการมอบุหัมายหัน%าท)*กระบุวนการของท)ม
แผนงานท)*ส่มด�ล
สิ่ร#างทำ�ม
PS
P
TS
P
การส่-*อส่ารการประส่านงาน
การต์�ดต์ามโครงการการจิ�ดการความเส่)*ยง
บร�หารทำ�ม
การใหั%การส่น�บุส่น�นการด,แลร�กษาว�น�ย
การด,แลความเป7นไปของโครงการผ+#บร�หาร
Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 48
ส่ร�ป• PSP เป7นกระบุวนการท)*ช�วยใหั%เราท&างานได%ด)ข(9น• หัล�งเร)ยนจิบุแล%ว เราจิะร, %ว�ธิ์)การประย�กต์� PSP ใหั%
เหัมาะก�บุความต์%องการของเรา• เราจิะม)ความร, %และท�กษะเพั)ยงพัอท)*จิะเข%าร�วมท)ม
TSP