Introduction to PSP

Download Report

Transcript Introduction to PSP

Personal Software Process Lecture 1 Introduction to PSP

[email protected]

www.cs.put.poznan.pl/~nawrocki/mse/psp/ Copyright, 1999 © Jerzy R. Nawrocki

Plan of the lecture

Introduction

• SPI • CMM • PSP • Organisation of the course • Summary J. Nawrocki, PSP, Lecture 1

About Ireland

• Population: ~ 3.5 million • Second largest exporter of software • ~every global IT company has its branch in Dublin area • Revenue per IT worker: ~120 000 USD • Profit per IT worker: ~13 000 USD • Advantages of Ireland: English, cheap work force, on the edge of Europe, taxes J. Nawrocki, PSP, Lecture 1

IT education in Ireland

• Post Graduate Diploma in Computer Applications for Education (evening courses) • Centre for Software Eng., DCU • PSP course, DCU, 1996 J. Nawrocki, PSP, Lecture 1

Plan of the lecture

• Introduction •

SPI

• CMM • PSP • Organisation of the course • Summary J. Nawrocki, PSP, Lecture 1

Software crisis

OOP symptoms:

O

ver time

O

ver budget

P

oor quality Beginning: late 60’s Examples: OS 360, POLTAX, KSI ZUS ...

J. Nawrocki, PSP, Lecture 1

Software Process Improvement

• Structure vs. process • Business process improvement • ISO 9000, BPI  SPI • SPI: identify processes, define them, and improve them • Processes are like habits: difficult to introduce and even harder to break J. Nawrocki, PSP, Lecture 1

Plan of the lecture

• Introduction • SPI •

CMM

• PSP • Organisation of the course • Summary J. Nawrocki, PSP, Lecture 1

What is CMM ?

CMM = C apability M aturity M odel CMM: a “way for organisations to determine the capabilities of their current processes and to establish priorities for improvement .” Software Engineering Institute (SEI), 1989-1993 J. Nawrocki, PSP, Lecture 1

CMM

Levels of CMM

5. Optimising 4. Managed 3. Defined 2. Repeatable 1. Initial J. Nawrocki, PSP, Lecture 1

Level 1 - Initial

CMM • Jazz and mess • A group of individuals instead of a team • Can be bad, can be great - depends on the fate J. Nawrocki, PSP, Lecture 1

Level 2 - Repeatable

CMM • Requirements management • Software configuration management • Software quality assurance • Software project planning and oversight • Software project tracking • Software subcontract management J. Nawrocki, PSP, Lecture 1

Level 3 - Defined

CMM • Peer reviews • Inter-group co-ordination • Software product eng.

• Integrated software management • Training program • Software process definition • Software process focus J. Nawrocki, PSP, Lecture 1

Level 4 - Managed

CMM J. Nawrocki, PSP, Lecture 1 • Quality management • Quantitative process management

Level 5 - Optimising

CMM J. Nawrocki, PSP, Lecture 1 • Process change management • Technology change management • Defect prevention

Plan of the lecture

• Introduction • SPI • CMM •

PSP

• Organisation of the course • Summary J. Nawrocki, PSP, Lecture 1

What is PSP about ?

PSP = Personal S oftware P rocess PSP : self-improvement PSP : how to make and meet commitments PSP : forms + guidelines + procedures Watts Humphrey, SEI, 1995 J. Nawrocki, PSP, Lecture 1

PSP

Levels of PSP

3. Cyclic personal process 2. Personal Quality Mgmnt 1. Personal Planning Process 0. Baseline Personal Process J. Nawrocki, PSP, Lecture 1

Baseline Personal Process PSP0

PSP J. Nawrocki, PSP, Lecture 1 • Current process • Time recording • Defect recording • Defect type standard

Baseline Personal Process PSP0.1

PSP J. Nawrocki, PSP, Lecture 1 • Size measurement • Coding standard • Process improvement proposal

Personal Planning Process

PSP1: • Size estimating • Test report PSP PSP1.1: • Task planning • Schedule planning J. Nawrocki, PSP, Lecture 1

Personal Quality Management

PSP2: • Code reviews • Design reviews PSP PSP2.1: • Design templates J. Nawrocki, PSP, Lecture 1

Cyclic Personal Process

PSP Large projects (10 KLOC) Divide an conquer An incremental approach: 1. A base module 2. Enhancements (iterative cycles) Each iteration is a PSP2 J. Nawrocki, PSP, Lecture 1

CMM and PSP CMM PSP

J. Nawrocki, PSP, Lecture 1

What is PSP not about ?

• Risk management?

• Requirements analysis and specification?

• Software configuration management?

• Software modelling?

J. Nawrocki, PSP, Lecture 1

Team Software Process (TSP)

Large software and short time Too many details and interrelationships The habituation problem TSP: support from your peers (e.g. reviews) J. Nawrocki, PSP, Lecture 1

Plan of the lecture

• Introduction • SPI • CMM • PSP •

Organisation of the course

• Summary J. Nawrocki, PSP, Lecture 1

Organisation of the course

The goal: to create a software organisation (SDS) of CMM level 2 .

Requirements management Configuration management Quality assurance Project planning Project tracking & oversight J. Nawrocki, PSP, Lecture 1

Scope of the course (1)

• Introduction to PSP • Developing an effective personality • Risk management • Software quality assurance (-) • Requirements management • Software configuration management • The baseline PSP (PSP 0 & 0.1) • Estimating software size (PSP 1) J. Nawrocki, PSP, Lecture 1

Scope of the course (2)

• Time and schedule estimating (PSP 1.1) • Function points and COCOMO II • Project tracking and oversight • Software design (PSP 2.1) • Design and code reviews (PSP 2) • Software testing • Quality management and SPI J. Nawrocki, PSP, Lecture 1

J. Nawrocki, PSP, Lecture 1

Summary

PSP is a self-improvement method PSP deals with: • Project planning • Software quality

Further readings

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

• J.Nawrocki, M.Płażewski, A.Trendowicz, F.Woźniak, Doskonalenie ... metodą PSP, Pro Dialog, 1998 J. Nawrocki, PSP, Lecture 1

Quality assessment

• What is your general impression ? (1 - 6) • Was it too slow or too fast ?

• Did you learn something important to you ?

• What to improve and how ?

J. Nawrocki, PSP, Lecture 1