psp ppt sppm

51
8/01/2006 1 A PSP Commercial Project Rob Tonneberger

Upload: ashwini

Post on 02-Dec-2015

235 views

Category:

Documents


0 download

DESCRIPTION

Software process and project management.

TRANSCRIPT

Page 1: Psp Ppt SPPM

8/01/2006 1

A PSP Commercial Project

Rob Tonneberger

Page 2: Psp Ppt SPPM

8/01/2006 2

Some material in this presentation is © Carnegie Mellon University, used with permission.All other material is © 2006 Northern Horizons Inc., Brookline, NH 03033

The Software Engineering Institute (SEI) of Carnegie Mellon University is a federally funded researchand development center sponsored by the U.S. Department of Defense through the Office of the UnderSecretary of Defense for Acquisition, Technology, and Logistics.

® Capability Maturity Model, Carnegie Mellon, CMM, CMMI, are registered in the U.S. Patent andTrademark Office by Carnegie Mellon University.SM CMM Integration, Personal Software Process, PSP, SEI, SEPG, Team Software Process, and TSP areservice marks of Carnegie Mellon University.

This presentation is in cooperation with

Page 3: Psp Ppt SPPM

8/01/2006 3

Present State of Software Development

Now, let’s test this bridge . . . .

Page 4: Psp Ppt SPPM

8/01/2006 4

Present State of Software Development

Oops !

Page 5: Psp Ppt SPPM

8/01/2006 5

Personal Software Process

• PSP is a self-improvement process that helps you tocontrol, manage and improve the way you work. Apersonally developed process that guides your work.

• It is a structured framework of forms, guidelines andprocedures for developing software.

• Properly used, the PSP provides the data you need to makeand meet commitments, and it makes the routine elementsof your job more predictable and efficient.

• The PSP’s sole purpose is to help you improve yoursoftware engineering skills.

A Self-Improvement Process for Software Engineers by Watts Humphrey

Page 6: Psp Ppt SPPM

8/01/2006 6

PSP Principles

• Engineers must plan their work and they must base theirplans on personal data.

• Engineers must measure their work and use their results toimprove.

• Engineers must feel personally responsible for the qualityof their work. Superior products are not produced byaccident; engineers must strive to do quality work.

• It costs less to find and fix defects earlier in a process thanlater.

• It is more efficient to prevent defects than to find and fixthem.

• The right way is always the fastest and cheapest way to doa job.

A Discipline for Software Engineering by Watts Humphrey

Page 7: Psp Ppt SPPM

8/01/2006 7

TOPICS

• Project Description

• Development

• PSP Results

• Summary

Page 8: Psp Ppt SPPM

8/01/2006 8

PROJECT DESCRIPTION

• Product

• Organization

• F/W Developer Selection

Page 9: Psp Ppt SPPM

8/01/2006 9

The Product

A small air temperature and pressure monitor that isinstalled into HVAC ductwork.

Page 10: Psp Ppt SPPM

8/01/2006 10

The Product

uC

Pressure

Sensor

Temp

Sensor

Configuration

Zero

Voltage Output

Current Loop

±1.888

Test Port

NV Data

Page 11: Psp Ppt SPPM

8/01/2006 11

Project Organization

Project Lead

Firmware Dev. Calibration Dev.

Page 12: Psp Ppt SPPM

8/01/2006 12

F/W Developer Selection

• Contract firmware developer– PSP and TSP trained by the SEI

– Personal productivity and defect densities

• Project lead researched PSP/TSP beforearriving at decision to hire

• Project lead mandates PSP use on project

Page 13: Psp Ppt SPPM

8/01/2006 13

DEVELOPMENT

• Planning– Estimating

– Tracking

– Status

• Requirements

• Implementation

• System Test

• Postmortem

Page 14: Psp Ppt SPPM

8/01/2006 14

Planning Estimating

Planning Tool for estimating• User enters estimated document and code sizes

• User enters work rates (i.e., 25 LOC/hr.)

• User enters estimated defects injected per phase

• User enters his workdays

• Tools estimates defects removed per phase

• Tool prepares a schedule

Page 15: Psp Ppt SPPM

8/01/2006 15

Planning Tracking

Planning Tool for tracking• User enters time on each task

• User enters defects found by phase

• User enters date task is completed and its actualsize

Page 16: Psp Ppt SPPM

8/01/2006 16

Planning Status

Planning Tool for weekly status:• Planned vs. Earned value*

• Planned vs. Actual hours per week**

• Defect Density by phase (defects/KLOC)

• Review Rates (pages/hour or LOC/hour)

• etc.

* Each task is estimated to take a percentage of the total estimated projecthours (PV). You receive the EV when the task is completed. A completedprogram has 100 EV.

** On task hours do not include emailing, phone, meetings, breaks, etc.

Page 17: Psp Ppt SPPM

8/01/2006 17

DEVELOPMENT

• Planning

• Requirements– Software Design Specification* (SDS)

– Software Development Process (SDP)

• Implementation

• System Test

• Postmortem

* Typically this information is in a separate requirements document

Page 18: Psp Ppt SPPM

8/01/2006 18

Requirements SDS

Software Design Specification• Interfaces

• Communication

• Architectural requirements– Operating Modes

– Data Flow

– Timing

– Exception Handling

Page 19: Psp Ppt SPPM

8/01/2006 19

Requirements SDP

Software Development Process• Best practices

• Development process

• Development procedures & forms

• Defect removal phases

Page 20: Psp Ppt SPPM

8/01/2006 20

Requirements SDP

Some Best Practices• Estimates based on personal history

• Designing software before coding

• Coding Standard

• Personal review of work products

• Peer inspection of work products

• Checklists for reviews and inspections

• Unit testing of each component

Page 21: Psp Ppt SPPM

8/01/2006 21

Requirements SDP

Development Process• Planning

• Requirements

• High-level design

• Low-level designs

• Reviews and Inspections

• Unit, Integration & System tests

• Customer acceptance

Page 22: Psp Ppt SPPM

8/01/2006 22

Requirements SDP

Process Procedures• Planning Script• Code Review Script• etc.

•Review design by following Design Review Checklist

•Fix all defects found

•Record defects in Defect Recording Log

•Record time in Time Recording Log

Design

Review

2

•. . .Design1

•Requirements

•. . .

•Defect Type Standard

Entry

Criteria

To guide the development of small programsPurposeStep

Page 23: Psp Ppt SPPM

8/01/2006 23

Requirements SDP

Process Forms• Project Plan Summary• Code Review Checklist• etc.

Check function call formats:

•pointers

•parameters

•use of “*” and “&”

Calls

Check variable & parameter initialization

•at program initiation

•at start of every loop

•at function entry

Initialization

--- Functions ---T

imer

Lcd

Uart

v vv vv v

v vvv

Page 24: Psp Ppt SPPM

8/01/2006 24

Requirements SDP

Requirements

HLD

DLD

Code Code Review

Compile

Peer Inspection*

Unit Test

Integration & Test

Review Inspect

Review Inspect

Review Inspect*

System Test

DeveloperResponsibilities

* Not performed on this project

Page 25: Psp Ppt SPPM

8/01/2006 25

DEVELOPMENT

• Planning

• Requirements

• Implementation

• System Test

• Postmortem

Page 26: Psp Ppt SPPM

8/01/2006 26

Implementation

High-Level Design (SDS)

Detailed Design (PDL)

DLD Review/Inspection

HLD Review/Inspection

• Architecture• Module descriptions

Coding

Requirements*

* Initial SDS

Page 27: Psp Ppt SPPM

8/01/2006 27

Implementation

Compiling

Code Inspection*

Re-used Code Unit Test

Integration & Test

System Test

Code Reviews

* Not performed as only one developer

Page 28: Psp Ppt SPPM

8/01/2006 28

DEVELOPMENT

• Planning

• Requirements

• Implementation

• System Test

• Postmortem

Page 29: Psp Ppt SPPM

8/01/2006 29

System Test

• Validate product– Against requirements

– Against design documents

– Environmental

– Calibration

• In-system testing

With his own thorough reviews, inspections and testing,the PSP developer enters system test confident that hissoftware is virtually defect free.

Page 30: Psp Ppt SPPM

8/01/2006 30

DEVELOPMENT

• Planning

• Requirements

• Implementation

• System Test

• Postmortem

The PSP developer asks himself, “From the collected dataand my experience in this project, how can I improve?”

Page 31: Psp Ppt SPPM

8/01/2006 31

Postmortem

• Ensure all time and defect data are collected

• Print summaries and graphs from planning tool

• Review process for improvements– Process scripts

– Review/inspection checklists

• Review performance improvements– Estimating

– Productivity

– Defect reductions

• Set goals for next project

Page 32: Psp Ppt SPPM

8/01/2006 32

PSP RESULTS

• Planning– Cumulative Earned value

– Earned value per week

– Cumulative Hours

– Hours per Week

– Time in Phase

• Productivity

• Quality

Page 33: Psp Ppt SPPM

8/01/2006 33

Planning Cumulative Earned Value

Page 34: Psp Ppt SPPM

8/01/2006 34

Planning Earned Value per Week

Page 35: Psp Ppt SPPM

8/01/2006 35

Planning Cumulative Hours

Page 36: Psp Ppt SPPM

8/01/2006 36

Planning Hours per Week

Hours per Week

Page 37: Psp Ppt SPPM

8/01/2006 37

Planning Time in Phase

UT

IT

HLD

Code

DLDP

lann

ing

ST12.5%

Page 38: Psp Ppt SPPM

8/01/2006 38

PSP RESULTS

• Planning

• Productivity

• Quality

8.8/Hr.

0.64/Hr.

Rate

58551376054106Code

94608540Docs

HoursSizeHoursSize

ActualPlan

Page 39: Psp Ppt SPPM

8/01/2006 39

PSP RESULTS

• Planning• Productivity• Quality

– Cumulative Defects Removed by Phase– Defects Removed by Phase– Defect Density by Phase– Inspection & Review Rates– Quality Profile– Process Yield

Page 40: Psp Ppt SPPM

8/01/2006 40

Quality Cumul. Defects Removed by Phase

Page 41: Psp Ppt SPPM

8/01/2006 41

Quality Defects Removed by Phase

Page 42: Psp Ppt SPPM

8/01/2006 42

Quality Defect Density by Phase

0.9 Defects/KLOC

Page 43: Psp Ppt SPPM

8/01/2006 43

Quality Inspection & Review Rates

Page 44: Psp Ppt SPPM

8/01/2006 44

Quality Process Yield

Page 45: Psp Ppt SPPM

8/01/2006 45

Quality Quality Profile

Page 46: Psp Ppt SPPM

8/01/2006 46

SUMMARY

• Project Lead comments

• A Team of One

• Developer Challenges

• Further information

Page 47: Psp Ppt SPPM

8/01/2006 47

Project Lead Comments

“Complex functions … were often completelyspecified, written, reviewed, compiled and testedwith virtually no defects found. The first time ithappened, I was suspicious… 'just lucky' I thought.But by the second, third, and fourth times, I'd justresigned myself to the fact that Rob (and the SEI)had apparently figured out how to do it.”Craig Surprise – Setra Systems

Page 48: Psp Ppt SPPM

8/01/2006 48

A Team of One

Act like a Professional Software Engineer• Plan and manage your personal work• Use effective personal methods• Recognize your strengths and weaknesses• Practice, practice, practice• Learn from history• Find and learn new methods

A Self-Improvement Process for Software Engineers by Watts Humphrey

Page 49: Psp Ppt SPPM

8/01/2006 49

Developer Challenges

Management support• Negotiate commitments

– Make a plan based on “your” performance history– Trade-offs: cost vs. schedule, reducing features

• Maintain project control– Follow and keep your plan updated– Manage change

• Deliver quality products– Low quality impacts cost, schedule and product value– High quality becomes your reputation

A Self-Improvement Process for Software Engineers by Watts Humphrey

Page 50: Psp Ppt SPPM

8/01/2006 50

Further Information

• Read Winning with Software - An ExecutiveStrategy by Watts S. Humphrey

• Read PSP – A Self-Improvement Process forSoftware Engineers by Watts S. Humphrey

• Attend the Software Engineering Process Group(SEPGSM) held each March by the SEI

• Investigate the PSP and TSP course offerings

Page 51: Psp Ppt SPPM

8/01/2006 51

Contact Information

Rob TonnebergerNorthern Horizons Inc.(603) [email protected]

This presentation & other information is available at:www.northhorizons.com

Northern Horizons Inc. is an authorized SEI Partner and is certified to teach PSPand TSP courses and the coaching of TSP projects. Our staff are trained directly atthe Software Engineering Institute of Carnegie Mellon University, Pittsburgh, PA.