the personal software process alan kelon oliveira de moraes alan@kelon.org may 15, 2006 - recife

Post on 17-Jan-2016

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

The Personal Software Process

Alan Kelon Oliveira de Moraesalan@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

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

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

Keywords

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

PSP is not...

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

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

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

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

What does PSP provide?

● Measurements– Size

– Time

– Defects

Time estimating error

Defect Level Improvement

Productivity Results

PSP processes

PSP Process Flow

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

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

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

Period planning

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

● The weekly Activity Summary

Product planning

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

● The Job Number Log

Program size

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

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

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

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

Managing schedules

● Make a project schedule● Checkpoints● Track project plan

top related