Top Banner
02 กกกกกกกกกกกกกกกกก กกกกกกกกก กกกกกกกกกกกกก 2551, 2552, 2553 กกกกกก กกกกกกกกกกกกกก
48

02 intro to psp

Dec 04, 2014

Download

Education

Luktalja

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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