02 intro to psp

Post on 03-Jul-2015

1.007 views 3 download

description

Lecture 2 Introduction to Personal Software Process

Transcript of 02 intro to psp

02 การพฒนาซอฟตแวรสวนบคคล

สงวนลขสทธ 2551 – 2555สรเดช จตประไพกลศาล

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 2

หวขอ

• ทำาไมจงตองปรบปรงกระบวนการ• กระบวนการพฒนาซอฟตแวรสวนบคคล (PSP)• หลกการของ PSP• แนวทางการเรยนร PSP• องคประกอบของ PSP• ประโยชนของ PSP• ปจจยสความสำาเรจของ PSP• สรป

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 3

สงททาทายในการพฒนาซอฟตแวร

• การคาดการณ: ประมาณการวาจะตองใชเวลาทำาเทาไรก อนทจะรวาจะทำาอะไร

• ความไมแน นอน: ขอบเขตของงานเปลยน บคลากรเปลยน สถานการณเปลยน ฯลฯ

• ค ณภาพ: ไมมเวลาพอทจะตรวจทานหรอทดสอบ

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 4

อะไรทำาใหคณดกวา

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

ส งท ค ณทำาได ด ในระด บบ คคลใชได ก บระด บองค กรหร อไม ?

Source: DAAD Project

ทำาไมองค กรบางแหงถ งท ำาได ด

กว าท อ น?

(ส งมอบงานตามก ำาหนด

งานท ส งมอบม ค ณภาพสง

ม ข อบกพรองน อย)

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 5

สงททาทายสำาหรบมออาชพ

• ทำาอยางไรเราถงจะผลตซอฟตแวรทม ค ณภาพในกำาหนดการท วางแผน ภายใต งบประมาณไดอยางคงเส นคงวา

• ทำาอยางไรเราจงจะสามารถปร บปร งวธปฏบตของเราในปจจบนได

• ทำาอยางไรเราจงจะเผยแพรวธปฏบตของเราสสงคมโดยรวมได

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 6

มออาชพ สามารถทำาตามไดตามสญญา

ผลตงานคณภาพอยางสมำาเสมอ

สญญาในสงทเปนไปได

ใชขอมลในการใหคำาสญญา

ใชขอมลในการจดการคณภาพ

เกบขอมลเกยวกบงานของตน

รวางานคบหนาไปถงไหนแลว

ใชขอมลตดตามความกาวหนา

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 7

กอนการใช PSP

ความตองการ พฒนา ซอฟตแวร

คณภาพ

?

คณภาพ

?

คณภาพ

?

ไมเห น

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 8

กระบวนการระดบบคคลสำาหรบการพฒนาซอฟตแวร (1)

• กระบวนการระดบบคคลสำาหรบการพฒนาซอฟตแวร (Personal Software Process หรอ PSP) คอร ปแบบของการปร บปร งกระบวนการทออกแบบมาเพอใชในระดบบคคลโดยมพนฐานมาจากวธปฏบตสำาหรบพฒนาซอฟตแวรเชงอตสาหกรรม

• PSP เปนกระบวนการระดบบคคลทมวฒภาวะความสามารถระดบ 5 ตามแบบจำาลองวฒภาวะความสามารถ (Capability Maturity Model; CMM)

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 9

กระบวนการระดบบคคลสำาหรบการพฒนาซอฟตแวร (2)

• PSP สามารถใชไดกบเกอบทกงาน เชน– การเขยนโปรแกรม– การจดทำาความตองการ (requirements)

กระบวนการ (process) หรอเอกสาร (document)– การตรวจทาน (review) หรอการทดสอบ (test)– การดแลรกษาระบบ (maintain systems)– การปรบเปลยนระบบซอฟตแวรขนาดใหญ– ฯลฯ

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 10

ประโยชนของ PSPกระบวนการ PSP ทเสถยรจะชวยใหเรา• รจกตวเอง (Self-awareness)

– เขาใจทกษะ ความสามารถ และสมรรถนะของตนเอง– สามารถปรบปรงการทำางานของเราใหดขน

• ตดสนใจจากขอเทจจรง (Fact-based Decision Making)– ใชขอมลในการประมาณการ วางแผน ปรบปรง ฯลฯ– สามารถรบมอกบการเปลยนแปลงไดดขน

• เปนนายของงาน (Ownership & Accountability)– ดแลเอาใจใสแผนททำาขนมาเอง– มนใจวาจะดำาเนนการใหบรรลขอตกลงหรอพนธสญญาตางๆ ได

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 11

จดประสงคของ PSP

• เพอพฒนาทกษะทจำาเปนสำาหรบ– การวางแผนการทำางาน– การตดตามการดำาเนนงานตามแผน– การควบคมคณภาพของการทำางาน– การวด วเคราะห และปรบปรงประสทธภาพในการ

ทำางาน

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 12

กระบวนการทางวศวกรรมเปาหมาย

ขอจำากด

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

ผลตภณฑบรการ

ทรพยากร

ควบคม

ปรบปรง ตววด

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

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 13

หลกการของ PSP

คณภาพของ

ซอฟตแวร

ค ณภาพของ

แตละช นส วน

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

กระบวนการพฒนา

ซอฟตแวร

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 14

หลกการของ PSP

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

• เราควรทจะวด ตดตาม และวเคราะหการทำางานของเรา

• เราควรทจะเรยนรวาสมรรถนะของเราเปนอยางไร ตางจากทควรจะเปนอยางไร

• เราควรทจะนำาสงทเรยนรมาปรบปรงวธการทำางานของเรา

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 15

แนวทางการเรยนร PSP• เรมจากการสำารวจกระบวนการทำางานของเราใน

ปจจบน• คอยๆ ปรบปรงกระบวนการโดยการเพมทกษะและวธ

การครงละไมมาก• ฝกฝนกระบวนการและวธการเหลาน 2 – 3 ครงเพอให

เกดความคนเคย• รวบรวมและวเคราะหขอมลทเกยวของกบกระบวนการ• นำาผลทไดมาปรบปรงสมรรถนะและกระบวนการทำางาน

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 16

รปแบบการเรยน PSP

• แบบคอยเปนคอยไป– PSP for Engineers I & II– เหมาะกบนสตนกศกษา

• แบบพรอมทำางาน– PSP Fundamentals & PSP Advanced– เหมาะกบผทำางานแลว– พรอมทจะเรม TSP ไดหลง PSP Fundamentals

แตจะไดประโยชนสงสดหลงเรยนร PSP Advanced แลว

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 17

แบบคอยเปนคอยไป

PSP 0กระบวนการในปจจบนตวชวดเบองตน

PSP 0.1มาตรฐานการเขยนโปรแกรมขอเสนอการปรบปรงกระบวนการการวดขนาด

PSP 1การประมาณขนาดรายงานการทดสอบ

PSP 1.1การวางแผนภารกจการวางกำาหนดการ

PSP 2การทบทวน Designการทบทวน Code

PSP 2.1แผนแบบการออกแบบ

PSP 3การใชเปนวฏจกร

TSP (Team Software Process)การสรางทมการจดการทม

ดดแปลงมาจาก SEI

เกบขอมลอางองระดบบคคล

การวางแผนระดบบคคล

การจดการคณภาพระดบบคคล

การพฒนาระบบขนาดใหญ

การทำางานเปนทม

PSP for Engineers I

PSP for Engineers II

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 18

แบบพรอมทำางาน

PSP 0กระบวนการในปจจบนตวชวดเบองตน

PSP 1การวดขนาด มาตรฐานของโคดการประมาณขนาด ขอเสนอการปรบปรงรายงานการทดสอบ กระบวนการ

เกบขอมลอางองระดบบคคล

การประมาณ การวางแผน และการปรบปรงเชงคณภาพ

Adapted from SEI

PSP 2ทบทวน Code วางแผนภารกจและกำาหนดการ

PSP 2.1 + Statist icPROBE A & B

TSP (Team Software Process)การสรางทมการจดการทม

PSP 3การใชเปนวฏจกร

เครองมอทางสถตและการจดการสมรรถนะ

การทำางานเปนทมการพฒนาระบบ

ขนาดใหญ

PSP 2.1แผนแบบการออกแบบการทบทวน Design

PSP Fundamentals

PSP Advanced

การจดการคณภาพและการตดตามโครงการ

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 19

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

• คมอการปฏบตงาน (Process Script)– คำาบรรยายการใชกระบวนการ

• ตววด (Measure)– ขอมลเชงปรมาณทชวยใหรความเปนไปของงาน

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

– เครองมอสำาหรบรวบรวมและเกบรกษาขอมล• มาตรฐาน (Standard)

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

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 20

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

วางแผน

ออกแบบ

เขยนโปรแกรม

คอมไพล

ทดสอบ

สรปจบ

แบบฟอรม

สรปโครงการ(ตววดตางๆ)

ความตองการ

ซอฟตแวร

คมอการปฏบตงาน

ใชเปนแนวทาง

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

มาตรฐานใชเปน

แนวทาง

กระบวนการ

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 21

คมอการปฏบตงาน• ระบขนตอนตางๆในกระบวนการ ตลอดจนแบบฟอรม

มาตรฐาน และตววดทเกยวของ• โดยปกตแลวในคมอการปฏบตงานจะม

– จดประสงค (purpose)– เกณฑการเรมงาน (entry criteria)– คำาแนะนำาการใชงาน (general guidelines, usage

considerations, or constraints)– เฟสหรอขนตอนการปฏบต (phases or steps to be

performed)– ตววดและเกณฑคณภาพ (measures and quality criteria)– เกณฑการสนสดงาน (exit criteria)

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 22

ลำาด บ

ก จกรรม รายละเอ ยด1 วางแผน จดทำาหรอจดหารายการความตองการ

ประมาณเวลาทจะใชในการพฒนาแลวปอนลงในแบบฟอรมสรปแผนโครงการ บนทกเวลาลงในแบบฟอรมบนทกเวลา

2 พฒนา ออกแบบโปรแกรมเขยนโปรแกรมคอมไพลโปรแกรม และแกไขขอบกพรองทพบทดสอบโปรแกรม และแกไขขอบกพรองทพบบนทกเวลาลงในแบบฟอรมบนทกเวลา

3 สรปจบ ปอนขอมลเวลา ขอบกพรองลงในแบบฟอรมสรปแผนโครงการใหสมบรณเกณฑการส นส ด โปรแกรมผานการทดสอบอยางถถวน

แบบฟอรมสรปแผนโครงการมขอมลครบถวนสมบรณแบบฟอรมบนทกเวลาและแบบฟอรมบนทกขอบกพรองมขอมลครบถวนสมบรณ

โจทยหรอความตองการแบบฟอรมสรปแผนโครงการ PSP0แบบฟอรมบนทกเวลาและแบบฟอรมบนทกขอบกพรองมาตรฐานขอบกพรองนาฬกาจบเวลา (ถาจำาเปน)

เกณฑการเร มต น

เพอเปนแนวทางการพฒนาโปรแกรมระดบโมดลจ ดประสงค

คมอการปฏบตงานกระบวนการ PSP0

ทมา: Watts S. Humphrey, PSP: A Self-Improvement Process for Engineers, Addison-Wesley 2005

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 23

ตววด

• ขอมลเชงปรมาณทชวยใหรความเปนไปของงานและกระบวนการ โดยม 2 ชนดคอ

• ตววดพนฐาน (Base Measures)– ขอมลปฐมภมทเกบรวบรวมโดยตรงจากการทำางาน

เชน เวลาทใช• ตววดจากการวเคราะห (Derived Measures)

– ขอมลทตยภมทไดจาการวเคราะหตววดพนฐานหรอตววดจากการวเคราะหตวอน เชน ความหนาแนนของขอบกพรอง (Defect density)

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 24

ตววดพนฐานPSP มตววดพนฐานอย 4 ชนดคอ• แรงงาน (Effort)

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

– โดยวดจากจำานวนขอบกพรองทพบและขจด• ขนาด (Size)

– ขนาดของงานททำา• กำาหนดการ (Schedule)

– เวลาทคาดวาบางสงบางอยางจะเกดขน

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 25

ตววดจากการวเคราะห

• ตววดสำาหรบการบรหารโครงการ– ใชในการประมาณการ การวางแผน การตดตาม

แผน การวดประสทธภาพในการทำางาน ฯลฯ• ตววดสำาหรบการบรหารคณภาพ

– ใชในการวด ประเมน ควบคม และปรบปรงคณภาพของกระบวนการและผลตภณฑ ฯลฯ

• ตววดสำาหรบการบรหารสมรรถนะ– ใชในการปรบปรงสมรรถนะสวนบคคล

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 26

แบบฟอรม

• ชวยในการเกบรวบรวมขอมล• ใน PSP มแบบฟอรม 3 กลมคอ

– แบบฟอรมสำาหรบเกบขอมลพนฐาน– แบบฟอรมสำาหรบประมวลผลขอมล– แบบฟอรมสำาหรบวเคราะหขอมล

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 27

แบบฟอรม• แบบฟอรมสรปโครงการ (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.3 02 การพฒนาซอฟตแวรสวนบคคล 28

มาตรฐาน

• ใน PSP กำาหนดมาตรฐานไว 4 อยางดงน– มาตรฐานชนดขอบกพรอง (Defect Type

Standard)– มาตรฐานการเขยนโคด (Coding Standard)– มาตรฐานการวดขนาด (Size Counting Standard)– มาตรฐานการออกแบบ (Design Standard)

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 29

หลงจากเรยนร PSP

ความตองการ กระบวนการ ซอฟตแวร

กระบวนการยอย 1

กระบวนการ ยอย 2

กระบวนการยอย n

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 30

ใช PSP แลวไดอะไร

• เราไดฝกฝนองคประกอบสำาคญของกระบวนการพฒนาซอฟตแวรเชงอตสาหกรรม (เทยบไดกบ CMM ระดบ 5 สำาหรบบคคล)

• เราเขาใจวธการทดทสดสำาหรบตวเรา• เราทำางานไดดขน• เรามเปาหมายการปรบปรงระยะยาว

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 31

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

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

• ทำาการตรวจสอบประโยชนของการจดการกระบวนการอยางมวนยโดยใชขอมลของวศวกรจำานวน 3,090 คนทผานการอบรม PSP โดยพจารณาในเรอง– ความแมนยำาของการประมาณขนาด– ความแมนยำาของการประมาณแรงงาน– ความแมนยำาของการประมาณขอบกพรอง– ผลตภาพ (productivity)– ความหนาแนนและอตราการขจดขอบกพรอง

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 32

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

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

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 33

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

ความหนาแนนของขอบกพรอง(Defect Density)

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 34

ผลตภาพ (Productivity)และ ผลผลต (Yield)

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

Productivity Pre-compile Defect Yield

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 35

ผลตอบแทนการลงทน(วดในหนวยของเวลา)

-600.00

0.00

600.00

1200.00

500

1000

2000

4000

500 -155.09 -35.00 56.50

1000 -211.72 28.67 211.83

2000 -324.89 156.11 524.33

4000 -551.33 411.11 1144.00

PSP0 PSP1 PSP2

From Taek Lee, Dookwon Baik, and Hoh Peter In, Cost Benefit Analysis of Personal Software Process Training Program, IEEE 8th International Conference on Computer and Information Technology Workshops, 2008

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 36

ปจจยสความสำาเรจของ PSP

• ความมวนยในตนเอง• ขอมลทถกตองสมบรณ• การปฏบตตามขนตอนทกำาหนดไว• การปรบปรงตวเองอยางไมหยดยง

ปฏบ ต ตามข นตอน รวบรวมขอม ลว เคราะห และปร บปร ง

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 37

ขอควรคำานง• ถงแมวาในการเรยน PSP จะมการเขยนโปรแกรม แต

PSP ไมใชวชาการเขยนโปรแกรม• PSP เปนเรองของการปรบปรงกระบวนการ• ถาเราไมปฏบตตามขนตอนทกำาหนดไวเรากจะไมได

เรยนร PSP• ไมควรใชโปรแกรมทตองทำาในงานในการเรยน PSP

เพราะสวนใหญแลวเรามกจะหลกเลยงทจะใชวธการทไมคนเคยเมอเรากำาลงทำางาน

• วธทเรยน PSP ทดทสดคอการปฏบตตามขนตอนทกำาหนด (Learning-by-doing)

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 38

ร PSP แลวเราจะทำาอะไรตอ

• บคคล– ประยกต PSP กบงานอน เชน ทำารายงาน ฯลฯ

• ทม– กระบวนการพฒนาซอฟตแวรเปนทม (Team

Software Process หรอ TSP)• องคกร

– แบบจำาลองวฒภาวะความสามารถเชงบรณาการ (Capability Maturity Model Integration หรอ CMMI)

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 39

PSP, TSP และ CMMI

CMMI – สรางความ สามารถขององคกร

TSP – สรางผลตภณฑทมคณภาพภายใตงบประมาณและเวลา

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

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 40

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

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

ทกษะของสมาชกในทม

การตงเปาหมายการมอบหมายหนาทกระบวนการของทม

แผนงานทสมดล

สร างท ม

PS

P

TS

P

การสอสารการประสานงาน

การตดตามโครงการการจดการความเสยง

บร หารทม

การใหการสนบสนนการดแลรกษาวนย

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

CM

MI

Revision 2.3 02 การพฒนาซอฟตแวรสวนบคคล 41

สรป

• PSP เปนกระบวนการทชวยใหเราทำางานไดดขน

• หลงเรยนจบแลว เราจะรวธการประยกต PSP ใหเหมาะกบความตองการของเรา

• เราจะมความรและทกษะเพยงพอทจะเขารวมทม TSP