Personal Software Process

advertisement
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
These notes are based on:
Introduction to the
Personal Software Process
Watts S. Humphrey
Addison-Wesley Longman (1997)
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
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
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
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
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
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
Weekly Summary Table
Task1 Task2 Task3 Task4
Total
Time
Average
Time
Maximum
Time
Minimum
Time
Total
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
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
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
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
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
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
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
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
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
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
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
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.
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
PSP Overview - 2
PSP3
Cyclic development
PSP2
PSP2.1
Code reviews
Design reviews
Design templates
PSP1
Size estimating
Test report
PSP0
Current process
Time recording
Defect recording
Defect type standard
PSP1.1
Task planning
Schedule planning
PSP0.1
Coding standard
Size measurement
Process improvement
proposal (PIP)
The CMM and the PSP - 2
5
4
3
2
1
Level 1
Level 5:
Process change management*
Technology innovation*
Defect prevention*
Level 4
Quality management*
Process measurement and analysis*
Level 3
Peer reviews*
Intergroup coordination
Software product engineering*
Integrated software management*
Training program
Organization process definition*
Organization process focus*
Level 2
Software configuration management
Software quality assurance
Software subcontract management
Software project tracking and oversight*
Software project planning*
Requirements management
*PSP key process areas
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
PSP0 Process Elements
•
•
•
•
•
Process script
Project plan summary form
Time recording log
Defect reporting log
Defect type standard
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
PSP Standard Defect Types
•
•
•
•
•
Documentation
Syntax
Build or package
Assignment
Interface
•
•
•
•
•
Checking
Data
Function
System
Environment
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)
Download