Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

30
Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn

Transcript of Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Page 1: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Personal Software ProcessOverview

CIS 376

Bruce R. Maxim

UM-Dearborn

Page 2: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Process Improvement

1. Define the quality goal

2. Measure product quality

3. Understand the process

4. Adjust the process

5. Use the adjusted process

6. Measure the results

7. Compare results to goal

8.Go to step 4 and continue improvements

Page 3: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

These notes are based on:

Introduction to the

Personal Software Process

Watts S. Humphrey

Addison-Wesley Longman (1997)

Page 4: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Logic of Time Management

• You will likely spend your time this week the same way you did last week

• You have to track the way you spend time to allow for planning

• You must compare your time estimates and plans to what you actually did

• You need to determine where your previous plans were in error and correct future planning

• To mange your time, you need to make a plan and follow your plan

Page 5: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Understanding How You Spend Time

• Categorize your major activities

• Record time spent in each major activity

• Record time in a standard way

• Keep the time data in a convenient place– engineering notebook– include a table of contents– used for planning and recording time

Page 6: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Tabular Time Recording Log Pages

• Date• Start Time• Stop Time• Interruption Time• Delta Time (interruption time removed)• Activity Name• Comments• Completed Task (check box)• Units of Work Completed

Page 7: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Hints on Logging Time

• Keep the engineering notebook with you at all times

• When you forget to record a time, make an estimate and write it down as soon as possible

• Use a stop watch to time interruptions

• Summarize your time promptly

Page 8: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Period and Product Planning

• Period Planning– based on period of time (e.g. week)– details how time is spent during this period

• Product Planning– based on an activity (e.g. writing a program)– products may be things like programs,

documents, knowledge, or service provided

• Both are important

Page 9: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Period Planning Using the Weekly Activity Summary

• Table with task names as column headings and days/dates as the row labels

• Table cells contain total time on that task for a given date

• Totals are computed for each row and column• Summary table is computed for current week and

compared to summary table for previous week

Page 10: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Weekly Summary Table

Task1 Task2 Task3 Task4 Total

TotalTime

AverageTime

MaximumTime

MinimumTime

Page 11: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Product Plan Components

• Estimated size of the product

• Important features of product

• Time estimates for the required work

• Projected schedule

Note: Small jobs do not require plans that are as sophisticated as large jobs

Page 12: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Job Number Log

• Rows are organized for each project task (not by date)

• Columns– Date

– Process

– Estimated: Time and Units (based on past experience)

– Actual: Time, Units, and Production Rate

– To Date: Time, Units, Production Rate, Minimum Production Rate, and Maximum Production Rate

Page 13: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Elements of Time Management

• Decide how you want to spend your time

• Make a time budget

• Track the way you spend your time

• Decide what changes to make in your time budget

• Make your actions agree with your time budget

Page 14: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Managing Variable Time

• Determine your highest priority items

• Determine the deadlines for specific tasks

• Identify activities that you want to do as soon as you have time to do them

Page 15: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Managing Commitments

• Personal commitments are viewed as being voluntary

• Contractual commitments involve two parties agreeing on an action and a time frame

• True commitments involve explicit and voluntary agreement between two or more parties

Page 16: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Agreements Required

• What will be done

• Who will do it

• When it will be done

• Compensation or other consideration to be given upon completion

• Who is to provide the compensation

Page 17: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Managing Commitments

• Analyze the job before agreeing to the commitment

• Support the commitment with a plan

• Document the agreement

• If you are unable to complete your commitment, notify all affected parties promptly and try to minimize the impact of your failure to complete your obligation

Page 18: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Handling Missed Commitments

• Don’t just give up trying

• Check with an independent expert for alternative strategies to meet the commitment

• Consider adding resources to project

• Look for smarter ways to do the design

• Waiting until the last minute to recognize the problem always leads to disaster

Page 19: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Consequences of Failing to Manage Commitments

• Work required exceeds time available

• Failure to meet commitments

• Misplaced priorities

• Poor quality work

• Loss of trust

• Loss of respect for your judgement

Page 20: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Project Management

• If you are falling behind, your schedule will continue to slip unless you do something different

• Simply trying harder will not help

• You are in trouble if you do not know how much of a project is completed and how much remains

• When you need luck to meet a commitment you will not get it

• When your estimates are wrong, they are most likely to be too low

• Almost all changes involve more work

Page 21: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Managing Personal Schedules

• Gantt charts based on project check points or milestones (e.g. completed activities)

• Tracking earned value (e.g. line graphs showing estimated, projected, and actual completion times)

• MS Project type tools

Page 22: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Why are we doing all this?

• The quality of a software system is determined by the quality of its worst components.

• The quality of a software components is determined by the quality of its developer’s knowledge, discipline, and commitment.

• As software professionals you should now how to measure, track, and analyze your own performance.

• You should be able to learn from your past failures and improve your personal practices.

Page 23: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

What is Personal Software Process?• PSP0

– You establish a measured performance baseline• PSP1

– You make size, resource, and schedule plans• PSP2

– You practice defect management and yield management

• PSP3– You scale up PSP methods to larger projects

Page 24: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

PSP Overview - 2

PSP0Current processTime recording

Defect recordingDefect type standard

PSP1Size estimating

Test report

PSP2Code reviews

Design reviews

PSP3Cyclic development

PSP2.1Design templates

PSP1.1Task planning

Schedule planning

PSP0.1Coding standard

Size measurementProcess improvement

proposal (PIP)

Page 25: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

The CMM and the PSP - 2

Level 2Software configuration managementSoftware quality assuranceSoftware subcontract managementSoftware project tracking and oversight*Software project planning*Requirements management

*PSP key process areas

Level 3Peer reviews*Intergroup coordinationSoftware product engineering*Integrated software management*Training programOrganization process definition*Organization process focus*

Level 4Quality management*Process measurement and analysis*

Level 5:Process change management*Technology innovation*Defect prevention*

Level 11

2

3

4

5

Page 26: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

PSP0 Process

• A simple defined personal process

• Uses your current design and development methods

• You need to gather data on:– time spent by phase– defects found in by compile and test

• Prepare a summary report

Page 27: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

PSP0 Process Elements

• Process script

• Project plan summary form

• Time recording log

• Defect reporting log

• Defect type standard

Page 28: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

Defect Recording Log

• Defect type

• Phase in which defect was injected (best guess)

• Phase in which defect was found and repaired

• Time to fix defect

• If defect was injected during repair of another defect (e.g. fix defect) what fix was it (best guess)

Note: A defect is any thing that must be changed for the program to be properly developed, enhanced, or used

Page 29: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

PSP Standard Defect Types

• Documentation• Syntax• Build or package• Assignment• Interface

• Checking• Data• Function• System• Environment

Page 30: Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.

PSP Higher Level Processes

• You must be operating at PSP0 to begin to move up

• We discussed the most project planning issues for PSP1 in CIS 375

• PSP2 is concerned with defect and yield management (our focus for the next 3 weeks from Sommerville)