Personal Measures Self Examination • How can you measure yourself? • One example of a personal process that is published, defined is PSP • PSP stands for Personal Software Process • Information available on SEI website • It’s not the only possible process!
Personal Measures: PSP PSP Practices and Measures • Engineers plan their work before they do it • They estimate size and effort on each program • They track the time they spend on each job step to the minute • They track their own defects and build a personal review checklist based on their own defect data • They track actual time, defect and size data
Personal Measures: PSP Practices and Measures continued • They review (by themselves) each design and their code before compile • The goal is to find 100% of the inserted defects before compile • With practice they find 60-70%
Personal Measures: PSP Disadvantages • PSP is a very structured process! • Lots of forms, lots of data gathering, to the minute • You have to be very disciplined to follow it • It takes a lot of effort to do • But you improve!
Personal Measures: PSP Results • Estimation accuracy (in lines of code) improved 2.5 times, i.e. 50% of the engineers reduced the error in their size estimates by 2.5 or greater • Effort estimation accuracy improved by 1.75x • Defects showed a median reduction in total defect density by a factor of 1.5 • Compile phase defects declined by 3.7x • Test phase defects declined by 2.5 x • Productivity (in lines of code/hour) did not change even though much more documentation and tracking was being done
Project C (not PSP) D (not PSP) B (PSP) Acceptance Test 11 defects 6 defects 0 defects Use 1 defect 14 defects 0 defects Schedule Scheduled for 2 months, took 5 Scheduled for 10 months, took 19 Scheduled for 7 months, took 5 Personal Measures: PSP PSP results in industry • Slight increase in productivity; much shorter acceptance test time: 2 months to a few days • Another comparison: From Girish Seshagiri, “Making Quality Happen: The Manager’s Role”, CrossTalk, June 2000
Team Software Process • PSP folks formed into teams • Teams estimate their own work and plan the project in a week long effort • Management can’t arbitrarily change schedule • Track using Earned Value and figure out how to get back on track if won’t meet agreed deadlines • Teams do Inspections of all documents • And plan how much inspection time to spend based on injection rate of defects and removal rate during inspections
TSP Results From Noopur Davis and Julia Mullaney, “The Team Software ProcessSM (TSPSM) InPractice: A Summary of Recent Results”
References • [Davis03] Noopur Davis and Julia Mullaney, “The Team Software ProcessSM (TSPSM) In Practice: A Summary of Recent Results”, SEI Technical Report CMU/SEI-2003-TR-014, September 2003, available at http://www.sei.cmu.edu/pub/documents/03.reports/pdf/03tr014.pdf