Title: Personal Software Process Overview
1Personal Software ProcessOverview
- CIS 376
- Bruce R. Maxim
- UM-Dearborn
2Process 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
3- These notes are based on
- Introduction to the
- Personal Software Process
- Watts S. Humphrey
- Addison-Wesley Longman (1997)
4Logic 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
5Understanding 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
6Tabular 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
7Hints 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
8Period 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
9Period 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
10Weekly Summary Table
11Product 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
12Job 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
13Elements 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
14Managing 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
15Managing 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
16Agreements 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
17Managing 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
18Handling Missed Commitments
- Dont 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
19Consequences 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
20Project 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
21Managing 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
22Why 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 developers
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.
23What 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
24PSP Overview - 2
PSP3 Cyclic development
PSP2.1 Design templates
PSP2 Code reviews Design reviews
PSP1.1 Task planning Schedule planning
PSP1 Size estimating Test report
PSP0.1 Coding standard Size measurement Process
improvement proposal (PIP)
PSP0 Current process Time recording Defect
recording Defect type standard
25The CMM and the PSP - 2
5
Level 5 Process change management Technology
innovation Defect prevention
4
Level 4 Quality management Process measurement
and analysis
3
Level 3 Peer reviews Intergroup
coordination Software product engineering Integra
ted software management Training
program Organization process definition Organizat
ion process focus
2
Level 2 Software configuration management Software
quality assurance Software subcontract
management Software project tracking and
oversight Software project planning Requirements
management
1
Level 1
PSP key process areas
26PSP0 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
27PSP0 Process Elements
- Process script
- Project plan summary form
- Time recording log
- Defect reporting log
- Defect type standard
28Defect 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
29PSP Standard Defect Types
- Documentation
- Syntax
- Build or package
- Assignment
- Interface
- Checking
- Data
- Function
- System
- Environment
30PSP 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)