1 / 17

Introduction to the Personal Software Process

Introduction to the Personal Software Process. Watts Humphrey Addison Wesley Longman c1997. Humphrey on PSP. “a guide to using disciplined personal practices to do superior software engineering”

Download Presentation

Introduction to the Personal Software Process

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to the Personal Software Process Watts Humphrey Addison Wesley Longman c1997

  2. Humphrey on PSP • “a guide to using disciplined personal practices to do superior software engineering” • “The PSP will show you how to plan and track your work and how to consistently produce high-quality software.”

  3. Software Development • Do you know how many lines of code you write per day? (or function points? or modules?) • Do you know how many errors you make? • Watts Humphrey knows how many LOC/day he writes and how many errors/KLOC he makes!

  4. Measurement • Could a person train for running an olympic event without timing their performance? • Would an archer train by shooting at a target but not seeing if the arrows hit the target?

  5. Time Log

  6. Time Log Entries • Date • Start - time in hours:minutes • Stop - time in hours:minutes • Interrupt - time of each interruption in minutes • Delta - start - stop - interrupt • Activity - category

  7. Engineering Notebook • Record all activities related to class • Post on web page – update semi-weekly

  8. Class Discussion • What can we learn from a programming time log? • What are different uses of any knowledge gained from a time log?

  9. Possible Categories • Drawing and revising object model • Writing code • Compiling and correcting syntax errors • Testing code (no currently known errors) • Debugging logic errors (that is, there is an error and you are trying to locate and correct the error - note)

  10. C2 time log • This is a time log that I kept while design a programming problem and producing a solution • My values

  11. Class Discussion • Where my categories good? • What would have been better categories? • Any knowledge from this time log?

  12. Process Improvement • 1. Measure • 2. Evaluate • 3. Modify • Repeat steps 1-3

  13. Planning is essential • You can estimate the effort required for your next project • Accurate estimation comes only with practice. • Estimate the next and then keep log to evaluate and improve estimates

  14. Personal Estimation • The past is the best estimate of the future • Find some size measure of the product • e.g. loc, number of classes, number of functions • determine your productivity based on size • estimate size of next task • calculate effort estimate

  15. Group Discussion • How can we manage our time more effectively? • How can we manage our team members’ time more effectively? • How can we use PSP to improve our team members’ performance?

  16. Class Discussion • What can we learn from a time log of our studying? • What categories would be good for studying?

  17. L4aS17 time log • Keep a time log of your class work for the next week – 6/19 to 6/26 • Develop an extensive set of categories • Summary including pie charts and productivity • Turn in your log and an evaluation, summary on 6/27 (on and off)

More Related