in reply to Suggestions for working with poor code
Track how long it takes you to fix bugs.
I agree enthusiastically. It will be your only argument when somebody comes and asks you where all the hours have gone. For this kind of job (take responsibility for badly written code, fixing bugs, etc.) this is an absolute must.
For these purposes, two little forms (or spreadsheets, or editor modes/templates, or whatever) will be very helpful (pedantically detailed discussion of these can be found in An Introduction to the Personal Software Process, electronic materials are available at The PSP Resource Page, including time tracking tools, emacs modes, forms, etc.):
- Time recording log
- Defect recording log
These are the essentials of both (header columns, add date, person, project, client, etc. as you need):
Time recording log:
- Start Time
- Stop Time
- Interruption Time
- Delta Time
- Activity Category (coding, testing, reading docs - make up your own)
- Comments (more detailed description of task)
Defect recording log:
- Defect ID (e.g., sequential number)
- Type (one of: documentation, syntax, build/package, assignment, interface, checking, data, function, system, environment - your own are welcome)
- Inject Phase (when was the defect put into the program - estimate - design, coding, testing, linking, etc.)
- Remove Phase (when was the defect found - compile time, testing, etc.)
- Fix Time (how long did it take to fix)
- Description (description of defect)
Contrary to what you may think, it does *not* take much time to use these forms (or similar means to record the information). But it will give you all the data you need to be sure you did the Right Thing, and the confidence and evidence to convince your boss or client that what you did was worth the time and the money.
Brainbench MVP for Perl