views:

299

answers:

13
+8  Q: 

Developer's Log

Possible Duplicates:
Do you keep a programming journal?
What do you use to keep notes as a developer?

I am interested in the benefits of keeping a daily log of my development activities.

  • I was wondering how common this practice is in software development (i.e. Do YOU keep a log of your development activities?)
  • What sorts of benefits do you think you have gained from keeping such a log?
  • What method do you use to keep this log? (written, blogging software, copious amounts of .txt's)
  • Is it a formalized requirement with your company, or is it more of a personal endeavour?
  • What sorts of things do you write about ? (Just a brain dump, or some more concrete design plans, or bugs/conditions to work out)
+3  A: 

I do keep a daily log for certain projects that I am working on. I use it to keep notes regarding feature ideas, potential problems, known bugs, links to open source code that I have used or web pages that contained useful information. Ideally, I like to record enough information about the project that if I suffered amnesia from a blow to the head -- or a superb night at the pub -- that I could pick right up where I left off.

I like to use TiddlyWiki for both keeping a journal as well as documenting the project for myself and all who come after. It is a self-contained Wiki that does not have a server component; it all lives in one HTML file. It's brilliant.

Adam Crossland
I used to use tiddlywiki but I had a couple of bad experiences with it crashing on me and losing all my work. I was much happier when I set up a dokuwiki system which isolated all of my data into explicit text files.
Peter M
A: 

We do track time with breakdown to customer/project/component, so it is possible later to bill a client, and calculate payments to freelancers.

To do this, i think best tool is www.actitime.com which offers free version up to 20 or so users. Main advantage - it is extremely easy to use, and it is very informative, hase a good reports for any taste.

Sergey Osypchuk
+1  A: 

I don't keep a daily log, but a ticket-based issue tracking system like Redmine, combined with Subversion check-in comments, comes pretty close.

Pekka
A: 

One comment method that I've come across is a brief overview of daily activity in the comment block header of your files. For example:

/*  2010-7-01: Added global variable to maintain state of program
 *  
 *  2010-7-06: Removed global variable, turns out that was a bad idea
 */

It's not all that formal like a journal, but can give some insight into your thought process over time.

wshato
Source-control comments work pretty well for this, and don't clutter the source, but require you to go a bit out of the way to read them.
Dean J
+2  A: 

It's occasionally useful to write down where/how/why bugs bit me.

On the flipside, it's also occasionally useful to note when (and if) unit testing has saved me headaches recently, to judge if I'm doing too little - or too much - automated testing.

The really poignant ones stay as post it notes on the bottom of my monitor.

Dean J
+1 for unit testing saving headaches.
James
The notes also help justify to management *why* you're doing the unit testing. It's absolutely alright to admit you made mistakes, and even better to point out that developers make mistakes and the testing is catching them before they leave development.
Dean J
+2  A: 

I use One Note to record a daily Journal; I write the Test Track Pro numbers at the start of the paragraph I'm writing of what I'm doing. It helps a hell of a lot when I get back after the weekend and wonder what I did on the Friday!

In companies where I didn't have One Note, I just used a paper notebook and did a similar thing, although I didn't write as much (I type faster than I write). Having it in electronic form is also a lot easier to search!

JLWarlow
One Note is very cool.
Adam Crossland
I just wish it was available on the Mac!
JLWarlow
A: 

I scribble thoughts and quick designs down on a notepad but this is informal and some days it will have no entries etc. I used to email interesting code or whatever to some team members but after watching this presentation from Scott Hanselman http://bit.ly/bWf4EZ where he makes the point about emails only been seen by a small group and then staying hidden in a .pst file forever. He recommends every developer maintain a blog and write a new blog post instead of recording things in emails.

Peter Kelly
A: 

Having a "lessons learned" blog is always fun to go back to and reminisce on all the bumps in the road.

  • Lessons Learned Blog
  • If you ever re encounter an issue you can go back and take your own advice
  • wordpress myself
  • personal endeavor
  • communication emphasis, requirements gathering suggestions, who to go to for what(chance to give team members funny nicknames), technology comparisons that validate a choice that was made, that sort of stuff

I guess thats more project management oriented then actual development but still fun/useful

jumpdart
A: 

I admire my coworkers who keep a daily log of activities. I tried to copy them by using a wiki but I couldn't keep it up to date.

I started a new system this year that seems to work.

I use simple excel worksheet to keep track of tasks (I learned this from I coworker of mine). A new worksheet tab per week with the following columns.

| Date | Completed | Tasks | Priority | Notes |

And before the day ends or starts I copy the outstanding tasks to the next day.

This system helps me figure out what I need to do at the current moment (Priority) and what I did last week for filling in time sheets.

This does not replace work requirements notes. Those go to the story in the wiki or in the bug system.

David
A: 

Yes I keep a log. I haven't always. What got me started was keeping track of my debugging work; before I kept a log I sometimes lost track of what I had already tried when trying to find and fix a bug and thus would re-try the same thing. Now, I note in my log what I've done so I don't repeat the exact same thing. I also use it to keep track of research, daily progress in development, testing results, etc.

Not directly relevant to programming, but my log also helps me keep track of what I've been working on. That way when management wants a progress report (monthly in most of the jobs I've had) I've got something to refresh my memory. As someone who has been required to put together reports from several workers to be passed up to management, I appreciated those who kept logs - it was easy to tell that those who didn't were either just recycling what they'd said before or making things up. Also, before keeping a log I would too often forget to report something that I should have been trumpeting as a success.

For a while I kept my log in a paper notebook, then I went to a text file, and then quickly switched to a word processor document (for better formatting). My latest is a blog on a private server, which was motivated by working in a job with multiple work locations, firewalls which prevented connections between the locations, and a prohibition on connecting external storage devices to the computers I used. I'm not in that situation anymore, but this allows me to access my stuff from anywhere - work, home, or travel.

GreenMatt
A: 

Since most of my work is on command line; I save my command history in a log file with the following command in my .bashrc in linux system:

export PROMPT_COMMAND='echo `tty``date``pwd` `history |tail -1` >> /home/deepank/backup/cmdlog'
Deepank Gupta
A: 

I don't keep a log per se, but I do make copious notes in a paper notebook. Every day, I draw a line across the page and put the date under it. I'd like to use a word processor or spreadsheet, but a lot of my notes involve UML or free-form block diagrams, and I haven't found a tool that allows me to sketch those out as quickly as I can on paper. Whenever I fill a notebook, I write the start and end dates on the cover and file it. I rarely have to go back and dig one out, but You Never Know.

TMN
A: 

I create a private blog where I can store all the "how-to" for the task that I know I'll do again, but not for now.

Simple, usefull, and easily customizable.

I recommand it for everyone.

esylvestre