The 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, but we will probably not be doing group work this semester. For each assignment, please fill out a table like the following:

```Date  Who       Start Stop  Inter  	Time OnTask	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 wrote. 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.) I'm 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 me out will be appreciated.

Here I've separated out regression testing as a separate activity. Do that if it's 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.

Mitchell Wand
College of Computer and Information Science, Northeastern University
360 Huntington Avenue #202WVH,
Boston, MA 02115
Internet: wand@ccs.neu.edu
Phone: (617) 373-2072 / Fax: (617) 373-5121