Sunday, March 23, 2008

introduction to the personal software process

I have just finished reading "introduction to the personal software process" by Watts Humphrey. I have owned this book for a long time, but since I have not read a book on software development for a while, so this weekend was a good time to read it. My understanding is that Humphrey was a manager at IBM when they first produced mainframes. When he started his job, many of the projects he inherited were not completing on time, so he introduced processes to improve that. In the book he is very big on timing the amount of time people spend doing things during the week. This provides data that can be used to estimate the amount of time it would take to complete a task in the future. He also likes programmers to review their code before they even try to compile it. There was a lot of discussion about "defect" (known as bugs) removal. This is an old fashioned book. It used software metrics such as LOC (lines of code), but he talked about the c++ language. Also his discussion of diagrams involved flow charts, with no mention of UML. However, I think the book was clearer for not introducing more modern terms. Some of the basic ideas, such as using measurements to estimate time to do things are basically sound.