02 intro to psp

48
02 กกกกกกกกกกกกกกกกก กกกกกกกกก กกกกกกกกกกกกก 2551, 2552, 2553 กกกกกก กกกกกกกกกกกกกก

Upload: luktalja

Post on 04-Dec-2014

2.375 views

Category:

Education


5 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 02 intro to psp

02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล

ส่งวนล�ขส่�ทธิ์�� 2551, 2552, 2553ส่�รเดช จิ�ต์ประไพัก�ลศาล

Page 2: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 2

หั�วข%อ• ท&าไมจิ(งต์%องเปล)*ยนแปลงกระบุวนการพั�ฒนา

ซอฟต์�แวร�• กระบุวนการพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล• หัล�กการของ PSP• แนวทางการเร)ยนร, % PSP

Page 3: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 3

ความท%าทายของการพั�ฒนาซอฟต์�แวร�

• ขอบุเขต์ของงานไม�ช�ดเจิน หัร-อเปล)*ยนแปลงบุ�อย• ก&าหันดการไม�ส่มเหัต์�ผล หัร-อวางแผนไม�ด)• ขาดการควบุค�ม หัร-อควบุค�มมากเก�นไป• ขาดบุ�คลากร ท)มงานท)*ด)• ค�ณภาพัของงานหัร-อซอฟต์�แวร�ไม�ด)

Page 4: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 4

ส่�*งท)*ท%าทายในการพั�ฒนาซอฟต์�แวร�• การคาดการณ์�: ประมาณการว�าจิะต์%องใช%เวลาท&า

เท�าไรก�อนท)*จิะร, %ว�าจิะท&าอะไร• ความไม�แน�นอน: ขอบุเขต์ของงานเปล)*ยน

บุ�คลากรเปล)*ยน ส่ถานการณ�เปล)*ยน ฯลฯ• ค�ณ์ภาพ: ไม�ม)เวลาพัอท)*จิะต์รวจิทานหัร-อทดส่อบุ

Page 5: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 5

อะไรท&าใหั%ค�ณด)กว�า

ทำ�าไมค�ณ์ถึ�งด�กว�าน�กศึ�กษาปร�ญญาตร�ป� 1?ทำ�าไมค�ณ์ถึ�งด�กว�าน�กศึ�กษาปร�ญญาตร�ป� 1?

สิ่�"งทำ�"ค�ณ์ทำ�าได#ด�ในระด�บบ�คคลใช้#ได#ก�บระด�บองค�กรหร*อไม�?สิ่�"งทำ�"ค�ณ์ทำ�าได#ด�ในระด�บบ�คคลใช้#ได#ก�บระด�บองค�กรหร*อไม�?

Source: DAAD Project

ทำ�าไมองค�กรบางแห�งถึ�งทำ�าได#ด�กว�าทำ�"อ*"น?

(สิ่�งมอบงานตามก�าหนด

งานทำ�"สิ่�งมอบม�ค�ณ์ภาพสิ่+ง

ม�ข้#อบกพร�องน#อย)

Page 6: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 6

ส่�*งท)*ท%าทายส่&าหัร�บุม-ออาช)พั• ท&าอย�างไรเราถ(งจิะผล�ต์ซอฟต์�แวร�ท)*ม�ค�ณ์ภาพใน

ก�าหนดการทำ�"คาดการณ์�ได%ภายใต#งบประมาณ์ได%อย�างคงเสิ่#นคงวา

• ท&าอย�างไรเราจิ(งจิะส่ามารถปร�บปร�งว�ธิ์)ปฏิ�บุ�ต์�ของเราในป5จิจิ�บุ�นได%

• ท&าอย�างไรเราจิ(งจิะเผยแพร�ว�ธิ์)ปฏิ�บุ�ต์�ของเราส่,�ส่�งคมส่�วนใหัญ่�ได%

Page 7: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 7

ม*ออาช้�พ ส่ามารถท&าต์ามข%อต์กลงได%

ผล�ต์งานค�ณภาพัอย�างส่ม&*าเส่มอ

ต์กลงในส่�*งท)*เป7นไปได%จิร�ง

ใช%ข%อม,ลในการท&าข%อต์กลง

ว�ดและจิ�ดการค�ณภาพั

เก8บุข%อม,ลเก)*ยวก�บุงานของต์น

ร, %ว�าอย,�ท)*ไหันแล%ว

ใช%ข%อม,ลต์�ดต์ามความก%าวหัน%า

Page 8: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 8

องค�ประกอบุหัล�กของความส่&าเร8จิ• ม��งเน%นท)*ท)มและบุ�คคล• เน%นค�ณภาพั• ส่ร%างแรงจิ,งใจิ• เน%นความเร)ยบุง�าย• เน%นการใช%ข%อม,ลประกอบุการต์�ดส่�นใจิ• ปร�บุปร�งจิากระด�บุล�างข(9นบุน• ม)โค%ชท)*ด)

Page 9: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 9

กระบุวนการระด�บุบุ�คคลส่&าหัร�บุการพั�ฒนาซอฟต์�แวร� (1)

• กระบุวนการระด�บุบุ�คคลส่&าหัร�บุการพั�ฒนาซอฟต์�แวร� (Personal Software Process หัร-อ PSP) ค-อร,ปแบุบุของการปร�บุปร�งกระบุวนการท)*ออกแบุบุมาเพั-*อใช%ในระด�บุบุ�คคลโดยม)พั-9นฐานมาจิากว�ธิ์)ปฏิ�บุ�ต์�ส่&าหัร�บุพั�ฒนาซอฟต์�แวร�เช�งอ�ต์ส่าหักรรม– ม)ข�9นต์อนท)*ก&าหันดไว%อย�างช�ดเจิน– ม)เกณฑ์�การเร�*มงานและส่�9นส่�ดงานส่&าหัร�บุแต์�ละข�9นต์อน– ม)ต์�วว�ดและมาต์รฐานท)*ก&าหันดไว%อย�างช�ดเจิน– ม)แนวทางใหั%เราว�เคราะหั�และปร�บุปร�งกระบุวนการ

Page 10: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 10

กระบุวนการระด�บุบุ�คคลส่&าหัร�บุการพั�ฒนาซอฟต์�แวร� (2)

• PSP ช�วยใหั%เข%าใจิกระบุวนการของต์นเอง– เวลาท)*ใช%ในแต์�ละส่�วนของกระบุวนการ– เก�ดข%อบุกพัร�องข(9น ณ จิ�ดไหัน ขจิ�ดไป ณ จิ�ดไหัน– ประส่�ทธิ์�ภาพัในการท&างานเป7นอย�างไร

• เราเร)ยนร, %ว�ธิ์)การว�ดและจิ�ดการค�ณภาพัระหัว�างการพั�ฒนา• PSP ค-อกระบุวนการระด�บุบุ�คคลท)*ม)ว�ฒ�ภาวะความ

ส่ามารถระด�บุ 5 ต์ามแบุบุจิ&าลองว�ฒ�ภาวะความส่ามารถ (Capability Maturity Model; CMM)

Page 11: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 11

กระบุวนการระด�บุบุ�คคลส่&าหัร�บุการพั�ฒนาซอฟต์�แวร� (3)

• PSP ส่ามารถใช%ได%ก�บุเก-อบุท�กงาน เช�น– การเข)ยนโปรแกรม– การจิ�ดท&าความต์%องการ (requirements)

กระบุวนการ (process) หัร-อเอกส่าร (document)– การต์รวจิทาน (review) หัร-อการทดส่อบุ (test)– การด,แลร�กษาระบุบุ (maintain systems)– การปร�บุเปล)*ยนระบุบุซอฟต์�แวร�ขนาดใหัญ่�– ฯลฯ

Page 12: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 12

กระบุวนการระด�บุบุ�คคลส่&าหัร�บุการพั�ฒนาซอฟต์�แวร� (4)

• ใน PSP เรา– เป7นท�9งเจิ%าของและผ,%ใช%กระบุวนการ– ประมาณการและวางแผนอย�างเป7นก�จิว�ต์ร– รวบุรวมข%อม,ลส่&าหัร�บุต์�ดต์ามและปร�บุปร�งการท&างาน– จิ�ดการก�บุค�ณภาพัท�กข�9นต์อนของกระบุวนการ

Page 13: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 13

ประโยชน�ของ PSP

กระบุวนการ PSP ท)*เส่ถ)ยรจิะช�วยใหั%เรา• ร, %จิ�กต์�วเอง (Self-awareness)

– เข%าใจิท�กษะ ความส่ามารถ และส่มรรถนะของต์นเอง– ส่ามารถปร�บุปร�งการท&างานของเราใหั%ด)ข(9น

• ต์�ดส่�นใจิโดยใช%ข%อเท8จิจิร�ง (Fact-based Decision Making)– ใช%ข%อม,ลในการประมาณการ วางแผน ปร�บุปร�ง ฯลฯ– ส่ามารถร�บุม-อก�บุการเปล)*ยนแปลงได%ด)ข(9น

• เป7นนายของงาน (Ownership & Accountability)– ด,แลเอาใจิใส่�แผนท)*ท&าข(9นมาเอง– ม�*นใจิว�าจิะด&าเน�นการใหั%บุรรล�ข%อต์กลงหัร-อพั�นธิ์ส่�ญ่ญ่าต์�างๆ ได%

Page 14: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 14

จิ�ดประส่งค�ของ PSP

• เพั-*อพั�ฒนาท�กษะท)*จิ&าเป7นส่&าหัร�บุ– การวางแผนการท&างาน– การต์�ดต์ามการด&าเน�นงานต์ามแผน– การควบุค�มค�ณภาพัของการท&างาน– การว�ด ว�เคราะหั� และปร�บุปร�งประส่�ทธิ์�ภาพัในการ

ท&างาน

Page 15: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 15

กระบุวนการทางว�ศวกรรมเป?าหัมาย

ข%อจิ&าก�ด

กระบุวนการความต์%องการ

ผล�ต์ภ�ณฑ์�

ทร�พัยากร

ควบุค�ม

ต์�วว�ด ด&าเน�นการ

ท)*มา James W. Moore, The Road Map to Software Engineering: A Standard-Based Guide, IEEE Computer Society Press, 2006

Page 16: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 16

หัล�กการของ PSP

ค�ณ์ภาพข้องซอฟต�แวร�

ค�ณ์ภาพข้องแต�ละช้�2นสิ่�วน

ผ+#พ�ฒนา ซอฟต�แวร�

กระบวนการพ�ฒนาซอฟต�แวร�

Page 17: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 17

หัล�กการของ PSP

• เราต์%องร�บุผ�ดชอบุต์�อกระบุวนการพั�ฒนาซอฟต์�แวร�ของต์นเอง

• เราควรท)*จิะว�ด ต์�ดต์าม และว�เคราะหั�การท&างานของเรา

• เราควรท)*จิะเร)ยนร, %ว�าส่มรรถนะของเราเป7นอย�างไร ต์�างจิากท)*ควรจิะเป7นอย�างไร

• เราควรท)*จิะน&าส่�*งท)*เร)ยนร, %มาปร�บุปร�งว�ธิ์)การท&างานของเรา

Page 18: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 18

แนวทางการเร)ยนร, % PSP

• PSP จิะแบุ�งออกเป7น 6+2 ข�9น• เร�*มจิากรวบุรวมข%อม,ลเก)*ยวก�บุกระบุวนการท&างานของเรา

ในป5จิจิ�บุ�น• ค�อยๆ เพั�*มว�ธิ์)การในแต์�ละข�9น• ฝึAกฝึนว�ธิ์)การเหัล�าน)9ด%วยการพั�ฒนา 1 – 2 โปรแกรมเพั-*อ

ใหั%เก�ดความค�%นเคย• รวบุรวมและว�เคราะหั�ข%อม,ลท)*เก)*ยวข%องก�บุกระบุวนการ• น&าผลท)*ได%มาปร�บุปร�งส่มรรถนะและกระบุวนการท&างาน

Page 19: 02 intro to psp

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นท)ม

Page 20: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 20

การเร)ยนร, % PSP

• PSP 0 : เร)ยนร, %ส่มรรถะของต์นเอง• PSP 1 : วางแผนการท&างาน• PSP 2 : จิ�ดการก�บุค�ณภาพั• PSP 3 : ขยาย PSP ใช%ก�บุงานขนาดใหัญ่�• TSP : ขยาย PSP ใช%ก�บุท)ม

Page 21: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 21

องค�ประกอบุของ PSP

• ค,�ม-อการปฏิ�บุ�ต์�งาน (Process Script)– ค&าบุรรยายการใช%กระบุวนการ

• ต์�วว�ด (Measure)– ข%อม,ลเช�งปร�มาณท)*ช�วยใหั%ร, %ความเป7นไปของงานและ

กระบุวนการ• แบุบุฟอร�ม (Form)

– เคร-*องม-อส่&าหัร�บุรวบุรวมและเก8บุร�กษาข%อม,ล• มาต์รฐาน (Standard)

– แนวทางในการท&างาน

Page 22: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 22

องค�ประกอบุของ PSP

วางแผนออกแบุบุ

เข)ยนโปรแกรมคอมไพัล�ทดส่อบุส่ร�ปจิบุ

แบุบุฟอร�ม

ผลส่ร�ปโครงการ(ต์�วว�ดต์�างๆ)

ความต์%องการ

ซอฟต์�แวร�

ค,�ม-อการปฏิ�บุ�ต์�งาน

ใช%เป7น

แนวทาง

ด�ดแปลงมาจิาก Introduction to PSP and TSP, Software Engineering Institute, 2006

มาต์รฐาน

ใช%เป7น

แนวทาง

กระบุวนการ

Page 23: 02 intro to psp

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)

Page 24: 02 intro to psp

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

Page 25: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 25

ต์�วว�ด• ข%อม,ลเช�งปร�มาณท)*ช�วยใหั%ร, %ความเป7นไปของงาน

และกระบุวนการ โดยม) 2 ชน�ดค-อ• ต์�วว�ดพั-9นฐาน (Base Measures)

– ข%อม,ลปฐมภ,ม�ท)*เก8บุรวบุรวมโดยต์รงจิากการท&างาน เช�น เวลาท)*ใช%

• ต์�วว�ดจิากการว�เคราะหั� (Derived Measures)– ข%อม,ลท�ต์�ยภ,ม�ท)*ได%จิาการว�เคราะหั�ต์�วว�ดพั-9นฐานหัร-อต์�ว

ว�ดจิากการว�เคราะหั�ต์�วอ-*น เช�น ความหันาแน�นของข%อบุกพัร�อง (Defect density)

Page 26: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 26

ต์�วว�ดพั-9นฐานPSP ม)ต์�วว�ดพั-9นฐานอย,� 4 ชน�ดค-อ• แรงงาน (Effort)

– โดยว�ดจิากเวลาท)*ใช%• ค�ณภาพั (Quality)

– โดยว�ดจิากจิ&านวนข%อบุกพัร�องท)*พับุและขจิ�ด• ขนาด (Size)

– ขนาดของงานท)*ท&า• ก&าหันดการ (Schedule)

– เวลาท)*คาดว�าบุางส่�*งบุางอย�างจิะเก�ดข(9น

Page 27: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 27

ต์�วว�ดจิากการว�เคราะหั�• ต์�วว�ดส่&าหัร�บุการบุร�หัารโครงการ

– ใช%ในการประมาณการ การวางแผน การต์�ดต์ามแผน การว�ดประส่�ทธิ์�ภาพัในการท&างาน ฯลฯ

• ต์�วว�ดส่&าหัร�บุการบุร�หัารค�ณภาพั– ใช%ในการว�ด ประเม�น ควบุค�ม และปร�บุปร�งค�ณภาพั

ของกระบุวนการและผล�ต์ภ�ณฑ์� ฯลฯ

Page 28: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 28

แบุบุฟอร�ม• ช�วยในการเก8บุรวบุรวมข%อม,ล• ใน PSP ม)แบุบุฟอร�ม 3 กล��มค-อ

– แบุบุฟอร�มส่&าหัร�บุเก8บุข%อม,ลพั-9นฐาน– แบุบุฟอร�มส่&าหัร�บุประมวลผลข%อม,ล– แบุบุฟอร�มส่&าหัร�บุว�เคราะหั�ข%อม,ล

Page 29: 02 intro to psp

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)

Page 30: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 30

มาต์รฐาน• ใน PSP ก&าหันดมาต์รฐานไว% 4 อย�างด�งน)9

– มาต์รฐานชน�ดข%อบุกพัร�อง (Defect Type Standard)

– มาต์รฐานการเข)ยนโค%ด (Coding Standard)– มาต์รฐานการว�ดขนาด (Size Counting

Standard)– มาต์รฐานการออกแบุบุ (Design Standard)

Page 31: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 31

ก�อนการใช% PSP

ความต#องการ

พ�ฒนา ซอฟต�แวร�

ไม�เห6น

ค�ณ์ภาพ ค�ณ์ภาพค�ณ์ภาพ

Page 32: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 32

ใช% PSP แล%วได%อะไร• เราได%ฝึAกฝึนองค�ประกอบุส่&าค�ญ่ของกระบุวนการ

พั�ฒนาซอฟต์�แวร�เช�งอ�ต์ส่าหักรรม (เท)ยบุได%ก�บุ CMM ระด�บุ 5 ส่&าหัร�บุบุ�คคล)

• เราเข%าใจิว�ธิ์)การท)*ด)ท)*ส่�ดส่&าหัร�บุต์�วเรา• เราท&างานได%ด)ข(9น• เราม)เป?าหัมายการปร�บุปร�งระยะยาว

Page 33: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 33

รายงานผลการศ(กษาประโยชน�ของ PSP

• Alexis Ocampo, PSP Data Study, F Fraunhofer Institute for Experimental Software Engineering, May 2008

• ท&าการต์รวจิส่อบุประโยชน�ของการจิ�ดการกระบุวนการอย�างม)ว�น�ยโดยใช%ข%อม,ลของว�ศวกรจิ&านวน 3090 คนท)*ผ�านการอบุรม PSP โดยพั�จิารณาในเร-*อง– ความแม�นย&าของการประมาณขนาด– ความแม�นย&าของการประมาณแรงงาน– ความแม�นย&าของการประมาณข%อบุกพัร�อง– ผล�ต์ภาพั (productivity)– ความหันาแน�นและอ�ต์ราการขจิ�ดข%อบุกพัร�อง

Page 34: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 34

การประมาณขนาด

From Alexis Ocampo, PSP Data Study, F Fraunhofer Institute for Experimental Software Engineering, May 2008

Page 35: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 35

ความหันาแน�นของข%อบุกพัร�อง

Alexis Ocampo, PSP Data Study, F Fraunhofer Institute for Experimental Software Engineering, May 2008

Page 36: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 36

ผล�ต์ภาพั (Productivity)

Alexis Ocampo, PSP Data Study, F Fraunhofer Institute for Experimental Software Engineering, May 2008

Page 37: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 37

อ�ต์ราการขจิ�ดข%อบุกพัร�อง

Alexis Ocampo, PSP Data Study, F Fraunhofer Institute for Experimental Software Engineering, May 2008

Page 38: 02 intro to psp

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

Page 39: 02 intro to psp

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

Page 40: 02 intro to psp

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

Page 41: 02 intro to psp

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

Page 42: 02 intro to psp

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)

Page 43: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 43

ป5จิจิ�ยส่,�ความส่&าเร8จิของ PSP

• ความม)ว�น�ยในต์นเอง• ข%อม,ลท)*ถ,กต์%องส่มบุ,รณ�• การปฏิ�บุ�ต์�ต์ามข�9นต์อนท)*ก&าหันดไว%• การปร�บุปร�งต์�วเองอย�างไม�หัย�ดย�9ง

ปฏิ�บ�ต�ตามข้�2นตอน รวบรวมข้#อม+ลว�เคราะห�และปร�บปร�ง

Page 44: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 44

ข%อควรค&าน(ง• ถ(งแม%ว�าในการเร)ยน PSP จิะม)การเข)ยนโปรแกรม แต์�

PSP ไม�ใช�ว�ชาการเข)ยนโปรแกรม• PSP เป7นเร-*องของการปร�บุปร�งกระบุวนการ• ถ%าเราไม�ปฏิ�บุ�ต์�ต์ามข�9นต์อนท)*ก&าหันดไว%เราก8จิะไม�ได%เร)ยนร, %

PSP• ไม�ควรใช%โปรแกรมท)*ต์%องท&าในงานในการเร)ยน PSP

เพัราะส่�วนใหัญ่�แล%วเราม�กจิะหัล)กเล)*ยงท)*จิะใช%ว�ธิ์)การท)*ไม�ค�%นเคยเม-*อเราก&าล�งท&างาน

• ว�ธิ์)ท)*เร)ยน PSP ท)*ด)ท)*ส่�ดค-อการปฏิ�บุ�ต์�ต์ามข�9นต์อนท)*ก&าหันด (Learning-by-doing)

Page 45: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 45

ร, % PSP แล%วเราจิะท&าอะไรต์�อ• ท)ม

– กระบุวนการพั�ฒนาซอฟต์�แวร�เป7นท)ม (Team Software Process หัร-อ TSP)

• องค�กร– แบุบุจิ&าลองว�ฒ�ภาวะความส่ามารถเช�งบุ,รณาการ

(Capability Maturity Model Integration หัร-อ CMMI)

• ประย�กต์�ใช% PSP ก�บุงานประเภทอ-*นๆ– ท&ารายงาน

Page 46: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 46

PSP, TSP และ CMMI

CMMI - ส่ร%างความส่ามารถของ

องค�กรTSP – ส่ร%าง

ผล�ต์ภ�ณฑ์�ท)*ม)ค�ณภาพัภายใต์%

งบุประมาณและเวลา

PSP - ส่ร%างท�กษะและว�น�ยส่�วนบุ�คคล

Page 47: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 47

หัล�กการของกระบุวนการการว�ดส่มรรถนะ

ท�กษะการประมาณและการวางแผนท�กษะการจิ�ดการค�ณภาพั

ทำ�กษะข้องสิ่มาช้�กในทำ�ม

การต์�9งเป?าหัมายการมอบุหัมายหัน%าท)*กระบุวนการของท)ม

แผนงานท)*ส่มด�ล

สิ่ร#างทำ�ม

PS

P

TS

P

การส่-*อส่ารการประส่านงาน

การต์�ดต์ามโครงการการจิ�ดการความเส่)*ยง

บร�หารทำ�ม

การใหั%การส่น�บุส่น�นการด,แลร�กษาว�น�ย

การด,แลความเป7นไปของโครงการผ+#บร�หาร

Page 48: 02 intro to psp

Revision 2.1 02 การพั�ฒนาซอฟต์�แวร�ส่�วนบุ�คคล 48

ส่ร�ป• PSP เป7นกระบุวนการท)*ช�วยใหั%เราท&างานได%ด)ข(9น• หัล�งเร)ยนจิบุแล%ว เราจิะร, %ว�ธิ์)การประย�กต์� PSP ใหั%

เหัมาะก�บุความต์%องการของเรา• เราจิะม)ความร, %และท�กษะเพั)ยงพัอท)*จิะเข%าร�วมท)ม

TSP