Top Banner
Introduction to PSP Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki [email protected] [email protected] www.cs.put.poznan.pl/~nawrocki/ www.cs.put.poznan.pl/~nawrocki/ mse/psp/ mse/psp/ Personal Software Personal Software Process Process Lecture 1 Lecture 1
33

Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki [email protected]/mse/psp/ Personal Software Process Lecture.

Mar 30, 2015

Download

Documents

Javion Gamby
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: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

Introduction to PSPIntroduction to PSP

Copyright, 1999 © Jerzy R. Nawrocki

[email protected]@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

Page 2: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

J. Nawrocki, PSP, Lecture 1

Plan of the lecturePlan of the lecture

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

Page 3: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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

Page 4: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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

Page 5: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

J. Nawrocki, PSP, Lecture 1

Plan of the lecturePlan of the lecture

• IntroductionIntroduction

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

Page 6: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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 ...

Page 7: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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

Page 8: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

J. Nawrocki, PSP, Lecture 1

Plan of the lecturePlan of the lecture

• IntroductionIntroduction• SPISPI

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

Page 9: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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

Page 10: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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

Page 11: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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

Page 12: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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

Page 13: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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

Page 14: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

J. Nawrocki, PSP, Lecture 1

Level 4 - ManagedLevel 4 - Managed

CMMCMM

• Quality managementQuality management

• Quantitative process Quantitative process managementmanagement

Page 15: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

J. Nawrocki, PSP, Lecture 1

Level 5 - OptimisingLevel 5 - Optimising

CMMCMM

• Process change Process change managementmanagement

• Technology change Technology change managementmanagement

• Defect preventionDefect prevention

Page 16: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

J. Nawrocki, PSP, Lecture 1

Plan of the lecturePlan of the lecture

• IntroductionIntroduction• SPISPI• CMMCMM

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

Page 17: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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

Page 18: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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

Page 19: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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

Page 20: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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

Page 21: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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

Page 22: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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

Page 23: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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

Page 24: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

J. Nawrocki, PSP, Lecture 1

CMM and PSPCMM and PSP

CMMCMM PSPPSP

Page 25: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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?

Page 26: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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)

Page 27: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

J. Nawrocki, PSP, Lecture 1

Plan of the lecturePlan of the lecture

• IntroductionIntroduction• SPISPI• CMMCMM• PSPPSP

• Organisation of the courseOrganisation of the course• SummarySummary

Page 28: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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

Page 29: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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)

Page 30: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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

Page 31: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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

Page 32: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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

Page 33: Introduction to PSP Copyright, 1999 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.plnawrocki/mse/psp/ Personal Software Process Lecture.

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 ?