320 likes | 454 Views
Personal Software Process Lecture 1. Introduction to PSP. Liubo Ouyang ouyangliubo@126.com http://ss.hnu.cn/oylb/psp/. Plan of the lecture. Introduction SPI CMM PSP Organisation of the course Summary. About Ireland. Population: ~ 4.0 million Second largest exporter of software
E N D
Personal Software Process Lecture 1 Introduction to PSP Liubo Ouyang ouyangliubo@126.com http://ss.hnu.cn/oylb/psp/
Plan of the lecture • Introduction • SPI • CMM • PSP • Organisation of the course • Summary
About Ireland • Population: ~ 4.0 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
Plan of the lecture • Introduction • SPI • CMM • PSP • Organisation of the course • Summary
Software crisis OOP symptoms: Over time Over budget Poor quality Beginning: late 60’s Examples: OS 360, POLTAX, KSI ZUS ...
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
Plan of the lecture • Introduction • SPI • CMM • PSP • Organisation of the course • Summary
What is CMM ? CMM = Capability Maturity Model CMM: a “way for organizations to determine the capabilities of their current processes and to establish priorities for improvement.” Software Engineering Institute (SEI), 1989-1993
Levels of CMM 5. Optimising 3. Defined 4. Managed 2. Repeatable CMM 1. Initial
Level 1 - Initial • Jazz and mess • A group of individuals instead of a team • Can be bad, can be great - depends on the fate CMM
Level 2 - Repeatable • Requirements management • Software configuration management • Software quality assurance • Software project planning and oversight • Software project tracking • Software subcontract management CMM
Level 3 - Defined • Peer reviews • Inter-group co-ordination • Software product eng. • Integrated software management • Training program • Software process definition • Software process focus CMM
Level 4 - Managed • Quality management • Quantitative process management CMM
Level 5 - Optimising • Process change management • Technology change management • Defect prevention CMM
Plan of the lecture • Introduction • SPI • CMM • PSP • Organisation of the course • Summary
What is PSP about ? PSP = PersonalSoftware Process PSP: self-improvement PSP: how to make and meet commitments PSP: forms + guidelines + procedures Watts Humphrey, SEI, 1995
Levels of PSP 3. Cyclic personal process 2. Personal Quality Mgmnt 1. Personal Planning Process PSP 0. Baseline Personal Process
Baseline Personal Process PSP0 • Current process • Time recording • Defect recording • Defect type standard PSP
Baseline Personal Process PSP0.1 • Size measurement • Coding standard • Process improvement proposal PSP
Personal Planning Process PSP1: • Size estimating • Test report PSP1.1: • Task planning • Schedule planning PSP
Personal Quality Management PSP2: • Code reviews • Design reviews PSP2.1: • Design templates PSP
Cyclic Personal Process Large projects (10 KLOC) Divide an conquer An incremental approach: 1. A base module 2. Enhancements (iterative cycles) Each iteration is a PSP2 PSP
CMM and PSP PSP CMM
What is PSP not about ? • Risk management? • Requirements analysis and specification? • Software configuration management? • Software modelling?
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)
Plan of the lecture • Introduction • SPI • CMM • PSP • Organisation of the course • Summary
Organization of the course The goal: to create a software organization (SDS) of CMM level 2. Requirements management Configuration management Quality assurance Project planning Project tracking & oversight
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)
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
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
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 ?