32
Copyright, 2006 © L. Ouyang Introduction to PSP Introduction to PSP Liubo Ouyang Liubo Ouyang [email protected] [email protected] http://ss.hnu.cn/oylb/psp/ http://ss.hnu.cn/oylb/psp/ Personal Software Personal Software Process Process Lecture 1 Lecture 1

Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang [email protected] Personal Software Process Lecture 1

Embed Size (px)

Citation preview

Page 1: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

Copyright, 2006 © L. Ouyang

Introduction to PSPIntroduction to PSP

Liubo OuyangLiubo Ouyang

[email protected]@126.com

http://ss.hnu.cn/oylb/psp/http://ss.hnu.cn/oylb/psp/

Personal Software Process Personal Software Process

Lecture 1Lecture 1

Page 2: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Plan of the lecturePlan of the lecture

• IntroductionIntroduction• SPISPI• CMMCMM• PSPPSP• Organisation of the courseOrganisation of the course• SummarySummary

Page 3: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

About IrelandAbout Ireland

• Population: ~ 4.0 millionPopulation: ~ 4.0 million

• Second largest exporter of softwareSecond largest exporter of software

• ~every global IT company has its branch ~every global IT company has its branch in Dublin area in Dublin area

• Revenue per IT worker: ~120 000 USDRevenue per IT worker: ~120 000 USD

• Profit per IT worker: ~13 000 USDProfit per IT worker: ~13 000 USD

• Advantages of Ireland: English, cheap Advantages of Ireland: English, cheap work force, on the edge of Europe, taxeswork force, on the edge of Europe, taxes

Page 4: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Plan of the lecturePlan of the lecture

• IntroductionIntroduction

• SPISPI• CMMCMM• PSPPSP• Organisation of the courseOrganisation of the course• SummarySummary

Page 5: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Software crisisSoftware crisis

OOP symptoms:OOP symptoms:

OOver timever time

OOver budgetver budget

PPoor qualityoor quality

Beginning: late 60’sBeginning: late 60’s

Examples:Examples:

OS 360, POLTAX, OS 360, POLTAX, KSI ZUS ...KSI ZUS ...

Page 6: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Software Process ImprovementSoftware Process Improvement• Structure vs. processStructure vs. process• Business process improvement Business process improvement • ISO 9000, BPI ISO 9000, BPI SPI SPI• SPI: identify processes, define SPI: identify processes, define

them, and improve themthem, and improve them• Processes are like habits:Processes are like habits:

difficult to introducedifficult to introduce

and even harder to breakand even harder to break

Page 7: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Plan of the lecturePlan of the lecture

• IntroductionIntroduction• SPISPI

• CMMCMM• PSPPSP• Organisation of the courseOrganisation of the course• SummarySummary

Page 8: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

What is CMM ?What is CMM ?

CMM = CMM = CCapability apability MMaturity aturity MModelodel

CMM: a “way for organizations to CMM: a “way for organizations to determine the determine the capabilitiescapabilities of their of their current processes and to establish current processes and to establish priorities for priorities for improvementimprovement.”.”

Software Engineering Institute (SEI), Software Engineering Institute (SEI), 1989-19931989-1993

Page 9: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Levels of CMMLevels of CMM

3. Defined3. Defined

4. Managed4. Managed

5. Optimising5. Optimising

2. Repeatable2. Repeatable

1. Initial1. InitialCMMCMM

Page 10: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Level 1 - InitialLevel 1 - Initial

CMMCMM

• Jazz and messJazz and mess

• A group of individuals A group of individuals instead of a teaminstead of a team

• Can be bad, can be Can be bad, can be great - depends on the great - depends on the fatefate

Page 11: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Level 2 - RepeatableLevel 2 - Repeatable

CMMCMM

• Requirements managementRequirements management• Software configuration Software configuration

managementmanagement• Software quality assuranceSoftware quality assurance• Software project planning and Software project planning and

oversightoversight• Software project trackingSoftware project tracking• Software subcontract Software subcontract

managementmanagement

Page 12: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Level 3 - DefinedLevel 3 - Defined

CMMCMM

• Peer reviewsPeer reviews• Inter-group co-ordinationInter-group co-ordination• Software product eng.Software product eng.• Integrated software Integrated software

managementmanagement• Training programTraining program• Software process definitionSoftware process definition• Software process focusSoftware process focus

Page 13: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Level 4 - ManagedLevel 4 - Managed

CMMCMM

• Quality managementQuality management

• Quantitative process Quantitative process managementmanagement

Page 14: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Level 5 - OptimisingLevel 5 - Optimising

CMMCMM

• Process change Process change managementmanagement

• Technology change Technology change managementmanagement

• Defect preventionDefect prevention

Page 15: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Plan of the lecturePlan of the lecture

• IntroductionIntroduction• SPISPI• CMMCMM

• PSPPSP• Organisation of the courseOrganisation of the course• SummarySummary

Page 16: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

What is PSP about ?What is PSP about ?

PSP = PSP = PersonalPersonal SSoftware oftware PProcessrocess

PSPPSP: self-improvement: self-improvement

PSPPSP: how to make and meet : how to make and meet commitmentscommitments

PSPPSP: forms + guidelines + : forms + guidelines + proceduresprocedures

Watts Humphrey, SEI, 1995Watts Humphrey, SEI, 1995

Page 17: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Levels of PSPLevels of PSP

PSPPSP

3. Cyclic personal process3. Cyclic personal process

2. Personal Quality Mgmnt2. Personal Quality Mgmnt

1. Personal Planning Process1. Personal Planning Process

0. Baseline Personal Process0. Baseline Personal Process

Page 18: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Baseline Personal Process PSP0Baseline Personal Process PSP0

PSPPSP

• Current processCurrent process

• Time recordingTime recording

• Defect recordingDefect recording

• Defect type standardDefect type standard

Page 19: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Baseline Personal Process PSP0.1Baseline Personal Process PSP0.1

PSPPSP

• Size measurementSize measurement

• Coding standardCoding standard

• Process Process improvement improvement proposalproposal

Page 20: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Personal Planning ProcessPersonal Planning Process

PSPPSP

PSP1:PSP1:

• Size estimatingSize estimating

• Test reportTest report

PSP1.1:PSP1.1:

• Task planningTask planning

• Schedule planningSchedule planning

Page 21: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Personal Quality ManagementPersonal Quality Management

PSPPSP

PSP2:PSP2:

• Code reviewsCode reviews

• Design reviewsDesign reviews

PSP2.1:PSP2.1:

• Design templatesDesign templates

Page 22: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Cyclic Personal ProcessCyclic Personal Process

PSPPSP

Large projects (10 KLOC)Large projects (10 KLOC)

Divide an conquerDivide an conquer

An incremental approach:An incremental approach:

1. A base module1. A base module

2. Enhancements (iterative 2. Enhancements (iterative cycles)cycles)

Each iteration is a PSP2Each iteration is a PSP2

Page 23: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

CMM and PSPCMM and PSP

CMMCMM PSPPSP

Page 24: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

What is PSP not about ?What is PSP not about ?

• Risk management?Risk management?

• Requirements analysis Requirements analysis and specification?and specification?

• Software configuration Software configuration management?management?

• Software modelling?Software modelling?

Page 25: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Team Software Process (TSP)Team Software Process (TSP)

Large software and short timeLarge software and short time

Too many details and Too many details and interrelationshipsinterrelationships

The habituation problemThe habituation problem

TSP: support from your peers TSP: support from your peers (e.g. reviews)(e.g. reviews)

Page 26: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Plan of the lecturePlan of the lecture

• IntroductionIntroduction• SPISPI• CMMCMM• PSPPSP

• Organisation of the courseOrganisation of the course• SummarySummary

Page 27: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Organization of the courseOrganization of the course

The goal:The goal:

to create a software to create a software organization (SDS) of organization (SDS) of CMMCMM level level 22..

Requirements managementRequirements managementConfiguration managementConfiguration managementQuality assuranceQuality assuranceProject planningProject planningProject tracking & oversightProject tracking & oversight

Page 28: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Scope of the course (1)Scope of the course (1)

• Introduction to PSPIntroduction to PSP• Developing an effective personalityDeveloping an effective personality• Risk managementRisk management• Software quality assurance (-)Software quality assurance (-)• Requirements managementRequirements management• Software configuration Software configuration

managementmanagement• The baseline PSP (PSP 0 & 0.1)The baseline PSP (PSP 0 & 0.1)• Estimating software size (PSP 1)Estimating software size (PSP 1)

Page 29: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Scope of the course (2)Scope of the course (2)

• Time and schedule estimating Time and schedule estimating (PSP 1.1)(PSP 1.1)

• Function points and COCOMO IIFunction points and COCOMO II• Project tracking and oversightProject tracking and oversight• Software design (PSP 2.1) Software design (PSP 2.1) • Design and code reviews (PSP 2)Design and code reviews (PSP 2)• Software testingSoftware testing• Quality management and SPIQuality management and SPI

Page 30: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

SummarySummary

PSP is a self-improvement PSP is a self-improvement methodmethod

PSP deals with:PSP deals with:

• Project planningProject planning

• Software qualitySoftware quality

Page 31: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Further readingsFurther readings

• W.S. Humphrey, W.S. Humphrey, A Discipline A Discipline for Software Engineering, for Software Engineering, Addison-Wesley, 1995Addison-Wesley, 1995

• www.cmu.eduwww.cmu.edu

Page 32: Copyright, 2006 © L. Ouyang Introduction to PSP Liubo Ouyang ouyangliubo@126.com Personal Software Process Lecture 1

L.Ouyang, PSP, Lecture 1

Quality assessmentQuality assessment

• What is your general What is your general impression ? (1 - 6)impression ? (1 - 6)

• Was it too slow or too fast ?Was it too slow or too fast ?

• Did you learn something Did you learn something important to you ?important to you ?

• What to improve and how ?What to improve and how ?