Lecture Software process improvement: Lesson 21 provide students with knowledge about: implementing personal software process; managing time; managing commitments; logic of time management; product planning; tracking time in PSP; managing your time;... Please refer to the detailed content of the lecture!
Implementing PSP Lecture # 21 PSP • The Personal Software Process (PSP) provides engineers with a disciplined personal framework for doing software work • The PSP process consists of a set of methods, forms, and scripts that show software engineers how to plan, measure, and manage their work PSP • The PSP extends the improvement process to the people who actually do the work— the practicing engineers • The PSP concentrates on the work practices of the individual engineers • The principle behind the PSP is that to produce quality software systems, every engineer who works on the system must do quality work PSP • The PSP is designed to help software professionals consistently use sound engineering practices • It shows them how to plan and track their work, use a defined and measured process, establish measurable goals, and track performance against these goals PSP • The PSP shows engineers how to manage quality from the beginning of the job, how to analyze the results of each job, and how to use the results to improve the process for the next project Implementing Personal Software Process • Managing time • Managing commitments Implementing Personal Software Process • Key part of implementing personal software process is managing time accurately • Let’s talk about time management issues and learn ways to record and store time Logic of Time Management 1 • You will likely spend your time this week much the way you spent it last week • To make realistic plans, you have to track the way you spend time • To check the accuracy of your time estimates and plans, you must document them and later compare them with what you actually do Logic of Time Management 2 • To make more accurate plans, determine where your plans were in error and what you could have done better • To manage your time, plan your time and then follow the plan Product Planning • The size and important features of the product to be produced • An estimate of the time required to do the work • A projection of the schedule • Relationship between product and period planning 10 PSP Measures • There are three basic measures in the PSP: – Development time – Defects – Size • All other PSP measures are derived from these three basic measures 51 Development Time Measure • Minutes are the unit of measure for development time • Engineers track the number of minutes they spend in each PSP phase, less time for any interruptions such as phone calls, coffee breaks, etc 52 Development Time Measure • Using minutes is precise and simplifies calculations involving development time • Recording interruptions to work reduces the number of time log entries, provides a more accurate measure of the actual time spent, and a more accurate basis for estimating actual development time 53 Development Time Measure • Tracking interruption time separately can help engineers deal objectively with issues that affect time management, such as a noisy work environment or inappropriate mix of responsibilities (e.g., software development and help desk support) 54 Development Time Measure • Time log entries take substantially less than a minute to record, but provide a wealth of detailed historical data for planning, tracking, and process improvement 55 Defect Measure • A defect is defined as any change that must be made to the design or code in order to get the program to compile or test correctly. Defects are recorded on the Defect Recording Log as they are found and fixed 56 Defect Measure • The example Defect Recording Log shows the information that is recorded for each defect: the date, sequence number, defect type, phase in which the defect was injected, phase in which it was removed, fix time,3 and a description of the problem and fix 57 Defect Measure • When an engineer injects a new defect while trying to fix an existing defect, proper accounting of fix time becomes more complicated • A common mistake is to include the fix time for the new defect twice 58 Defect Measure • Each defect is classified according to a defect type standard • A standard and easy to use classification scheme should be used 59 Size Measure • The primary purpose of size measurement in the PSP is to provide a basis for estimating development time • Lines of code or function points can be used 60 Size Measure • Size is also used to normalize other data, such as productivity (LOC per hour) and defect density (defects per KLOC) 61 PSP Derived Measures • PSP introduces new measures to help engineers manage and improve their performance • These measures are derived from the three basic PSP measures: development time, defects, and size 62 Why PSP? • When you trust your life to someone, you want them to behave professionally. Now consider your professional life. Should you entrust it to someone who is out of date? If you are looking for career guidance, would you ask someone who has not cracked a technical book since college? Probably not. The skill, knowledge, and ability you bring to your job will determine your future. Your future is in your hands – Watts Humphrey 63 References • SEI website: www.sei.cmu.edu • Introduction to the Personal Software Process by Watts Humphrey • The Personal Software Process (PSPSM): An Empirical Study of the Impact of PSP on Individual Engineers (efile), 1997 TR • The Personal Software Process by Watts Humphrey, SEI TR 0022, November 2000 64 PSP Process Levels 65 ... to use the results to improve the? ?process? ?for the next project Implementing Personal? ?Software? ?Process • Managing time • Managing commitments Implementing Personal? ?Software? ?Process • Key part of implementing personal? ?software? ?... The Personal? ?Software? ?Process? ?(PSP) provides engineers with a disciplined personal framework for doing? ?software? ? work • The PSP? ?process? ?consists of a set of methods, forms, and scripts that show software? ?engineers how to plan, measure, ... PSP? ?Process? ?Levels 27 PSP? ?Process? ?Levels • • • • The Baseline Personal? ?Process Personal Project Management Personal Quality Management The Cyclic Personal? ?Process 28 The Baseline Personal Process