320 likes | 479 Views
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. Personal Software Process (PSP).
E N D
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
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 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
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