Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki...

Preview:

Citation preview

Introduction to PSPIntroduction to PSP

Copyright, 1999 © Jerzy R. Nawrocki

Jerzy.Nawrocki@put.poznan.plJerzy.Nawrocki@put.poznan.pl

www.cs.put.poznan.pl/~nawrocki/www.cs.put.poznan.pl/~nawrocki/mse/psp/mse/psp/

Personal Software Process Personal Software Process

Lecture 1Lecture 1

J. Nawrocki, PSP, Lecture 1

Plan of the lecturePlan of the lecture

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

J. Nawrocki, PSP, Lecture 1

About IrelandAbout Ireland

• Population: ~ 3.5 millionPopulation: ~ 3.5 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

J. Nawrocki, PSP, Lecture 1

IT education in IrelandIT education in Ireland

• Post Graduate Diploma in Computer Post Graduate Diploma in Computer Applications for Education (evening Applications for Education (evening courses)courses)

• Centre for Software Eng., DCUCentre for Software Eng., DCU

• PSP course, DCU, 1996PSP course, DCU, 1996

J. Nawrocki, PSP, Lecture 1

Plan of the lecturePlan of the lecture

• IntroductionIntroduction

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

J. Nawrocki, 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 ...

J. Nawrocki, 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

J. Nawrocki, PSP, Lecture 1

Plan of the lecturePlan of the lecture

• IntroductionIntroduction• SPISPI

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

J. Nawrocki, PSP, Lecture 1

What is CMM ?What is CMM ?

CMM = CMM = CCapability apability MMaturity aturity MModelodel

CMM: a “way for organisations to CMM: a “way for organisations 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

J. Nawrocki, PSP, Lecture 1

Levels of CMMLevels of CMM

3. Defined3. Defined

4. Managed4. Managed

5. Optimising5. Optimising

2. Repeatable2. Repeatable

1. Initial1. InitialCMMCMM

J. Nawrocki, 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

J. Nawrocki, 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

J. Nawrocki, 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

J. Nawrocki, PSP, Lecture 1

Level 4 - ManagedLevel 4 - Managed

CMMCMM

• Quality managementQuality management

• Quantitative process Quantitative process managementmanagement

J. Nawrocki, PSP, Lecture 1

Level 5 - OptimisingLevel 5 - Optimising

CMMCMM

• Process change Process change managementmanagement

• Technology change Technology change managementmanagement

• Defect preventionDefect prevention

J. Nawrocki, PSP, Lecture 1

Plan of the lecturePlan of the lecture

• IntroductionIntroduction• SPISPI• CMMCMM

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

J. Nawrocki, 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

J. Nawrocki, 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

J. Nawrocki, 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

J. Nawrocki, PSP, Lecture 1

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

PSPPSP

• Size measurementSize measurement

• Coding standardCoding standard

• Process Process improvement improvement proposalproposal

J. Nawrocki, 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

J. Nawrocki, PSP, Lecture 1

Personal Quality ManagementPersonal Quality Management

PSPPSP

PSP2:PSP2:

• Code reviewsCode reviews

• Design reviewsDesign reviews

PSP2.1:PSP2.1:

• Design templatesDesign templates

J. Nawrocki, 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

J. Nawrocki, PSP, Lecture 1

CMM and PSPCMM and PSP

CMMCMM PSPPSP

J. Nawrocki, 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?

J. Nawrocki, 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)

J. Nawrocki, PSP, Lecture 1

Plan of the lecturePlan of the lecture

• IntroductionIntroduction• SPISPI• CMMCMM• PSPPSP

• Organisation of the courseOrganisation of the course• SummarySummary

J. Nawrocki, PSP, Lecture 1

Organisation of the courseOrganisation of the course

The goal:The goal:

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

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

J. Nawrocki, 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)

J. Nawrocki, 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

J. Nawrocki, 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

J. Nawrocki, 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• J.Nawrocki, M.Płażewski, J.Nawrocki, M.Płażewski,

A.Trendowicz, F.Woźniak,A.Trendowicz, F.Woźniak, Doskonalenie ... metodą PSP, Doskonalenie ... metodą PSP, Pro Dialog, 1998Pro Dialog, 1998

J. Nawrocki, 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 ?

Recommended