Development Diary

As part of an effort to make you aware of your own software process, you will be required to keep a small development diary for each machine problem.

In this report, you are to keep track of the time you spend on each problem. Please also keep track of interruptions in your work (e.g., someone came over to talk to you, telephone call, stopped to read email, etc.).

The example shown below has a "who" column for group work; for individual assignments, this column can be omitted.

For each assignment, please fill out a table like the following:

Date  Who       Start Stop  Inter  	Time On Task	Comments
3/23  MW,IS     1:02  1:47  10+5 	30              Analysis of Q1
                1:47  2:19  10          22
		2:33  2:48              15         	Got boundary condition wrong. 
							Hmm, misunderstood what Q1 wanted
                2:48  3:11  5           23

3/24  MW,LF	10:03 10:10              7
		10:10 10:22		12         	regression testing (oops, new version didn't 
							quite work on previous test cases)
      MW,IS,LF  10:20 11:00 10+5+5      20	   	**Q1 finished**

//etc.//

Total Time On Task                     129
Total Lines of Code                     27
Total Lines of Tests                    67

Notice in the in the example above that Time on Task is equal to (Stop-Start)-Interruptions.

At the end of the summary, please total up the time spent on the assignment, and also give me an estimate of the total number of new/changed lines of code you contributed. Keep track separately of the number of lines of code and number of lines of tests. You can use the Unix tools diff and wc to help you make these line counts.

You need keep track of time only to the nearest 10 or 15 minutes.

Put in as many comments as you find useful. The goal is that you should be able to look at these notes a week or two later, and say "oh, I remember what went wrong on that problem." (So hopefully you'll solve the same problem more quickly if it comes up again.) We are particularly interested in finding out what portions of the problems you found difficult, what are typical bugs and errors, etc., and anything you can do to help will be appreciated.

The above diary separates out regression testing as a separate activity. Do that if it is significant. (Regression testing is always a good idea).

Evaluation

The Development Diary will be graded. If they are missing or unsatisfactory, you will be penalized approximately 10% of the value of the assignment. You will be penalized if you do not include total Time on Task, Lines of Code, and Lines of Tests.

Last modified: 7 January 2008