32
The Personal Software Process Alan Kelon Oliveira de Moraes [email protected] May 15, 2006 - Recife

The Personal Software Process Alan Kelon Oliveira de Moraes [email protected] May 15, 2006 - Recife

Embed Size (px)

Citation preview

Page 1: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

The Personal Software Process

Alan Kelon Oliveira de [email protected]

May 15, 2006 - Recife

Page 2: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

To do an effective job, you need to...

● Plan your work● Do your work according to this plan● Strive to produce the highest quality products

Page 3: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

Personal Software Process (PSP)● It is a disciplined way of writing software which

can lead to dramatic improvements in– the quality of the software you write

– your productivity

– the quality of your plans and estimates.● Following a discipline like this can lead to greater

self-knowledge, a valuable thing in itself

Page 4: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

Personal Software Process (PSP)● It shows how to apply advanced engineering

methods to their daily tasks● Provides detailed estimating and planning methods● Shows how to track sw engineers' performance

against these plans● Explains how defined process can guide their work● Will lead you away from random hacking and

towards professional software engineering

Page 5: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

Keywords

● Responsible● Repeatable● Informed● Rational● Aware● Mature

Page 6: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

PSP is not...

● a Silver Bullet solution● a radically different approach to development

Page 7: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

PSP is

● a framework that allows detailed planning and tracking of project status

● a vehicle to collect “in process” metrics to provide insight and opportunities to improvement

● a way to protect development steps needed to “build in” quality

Page 8: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

Benefits

● PSP has the potential to increase your effectiveness as a programmer dramatically

● The data you collect and the conclusions you infer from them can empower you in negotiations with your boss

● Deeper benefits are possible too. Any self-knowledge has the potential to lead to personal growth

Page 9: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

Best practices

● Task breakdown (detailed planning)● Time alloted to Design● Size estimation methods● Time alloted to Review/Inspection● Time tracking● Defect tracking● Metric analysis● Coding standards

Page 10: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

What does PSP provide?

● Measurements– Size

– Time

– Defects

Page 11: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

Time estimating error

Page 12: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

Defect Level Improvement

Page 13: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

Productivity Results

Page 14: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

PSP processes

Page 15: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

PSP Process Flow

Page 16: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

Time management

● You will likely spend your time this week much the way you spent time last week

● To make realistic plans, you have to track way you spend time

● To check the accuracy of your time estimates and plans, you must document them and latter compare them with what you actually do

Page 17: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

Time management

● To make more accurate plans, determine where your previous plans where in error and what you could have done better

● To manage your time, plan your time and them follow the plan

Page 18: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

Tracking time

● Categorize your major activities● Record the time spent on each major activity● Record time in a standard way● Keep the time data in a convenient place● Hint:

– When you occasionally forget to record the start time, stop time, or interrupt duration, make an estimate as soon as you remember

Page 19: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife
Page 20: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife
Page 21: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

Period planning

● A period plan concerns the way you plan to spend time during the period (day, week, month)

● The weekly Activity Summary

Page 22: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife
Page 23: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife
Page 24: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

Product planning

● The product planning is based on an activity, like developing a program or writing a report

● The Job Number Log

Page 25: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

Program size

Page 26: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

Managing your time

● Decide how you want to spend your time● Make a time budget● Track the way you spend time against this budget● Decide what changes to make to bring your

actions into agreement with the budget● Prioritize your time

Page 27: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

Managing commitments

● A true commitment requires an explicit agreement between two or more parties on:– what will be done

– the criteria for determining that it is done

– who will do it

– when it will be done

– the compensation or other consideration to be given in return

– and who will provide this compensation or consideration

Page 28: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

Managing commitments

● Analyze the job before agreeing to the commitment

● Support the commitment with a plan● Document the agreement● If unable to meet the commitment, promptly tell

the other part and try to minimize the impact on the that person

Page 29: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

Managing commitments

● The consequences of not managing commitments– work required exceeds time available

– Failure to meet commitments

– Misplaced priorities

– Poor quality of work

– Loss of trust

– Loss of respect for your judgment

Page 30: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife

Managing schedules

● Make a project schedule● Checkpoints● Track project plan

Page 31: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife
Page 32: The Personal Software Process Alan Kelon Oliveira de Moraes alan@kelon.org May 15, 2006 - Recife