The Development Diary

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

In this report, you are to keep track of the time you spend on each project. 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.). For each project, 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 part 1, writing test cases, Design of solution
                1:47  2:19  10          22              Learning inter-type declarations
		2:33  2:48              15         	Got boundary condition wrong. 
							Hmm, misunderstood what part 1 wanted
                2:48  3:11  5           23              Find bug in my AspectJ code

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	   	**part 1 finished**

//etc.//

Total Time On Task                     129
Total Lines of Code                     27
Total Lines of Tests                    67
Total Pages of Design                   20

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.

The design document may be any text with pictures that you produce as an abstraction of your code. We use programming languages that facilitate making our programs look like designs and therefore we have less of a need for elaboarte design documents. Our programs are already fairly abstract.

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.


Adapted from notes of Mitchell Wand for the PPL course.

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