views:

60

answers:

3

I call this a flash meeting, but maybe there is another more appropriate name.

Once in a while (and sometimes more often) one of my developers comes to my desk and asks how he should code a particular piece of code.

The code itself is not directly answering a feature, meaning that it hasn't been designed during requirements, but it is part of the feature's internal behavior.

After discussing for 5 minutes, we settle on a solution. My question is how should I record that discussion so that in the future, when someone else looks at that piece of code, that person will understand why it was developed this way and not that way?

Should I ask the developer to write directly in the code the summary of the discussion, or should I open up a Word template and write down the discussion as if it was a 2 hour meeting? Any suggestions?

A: 

I'd do it with the code, as long as its not an essay. a brief paragraph and you're done.

There's nothing that would bother me more than viewing a piece of code and then having to go down to some share to look for a word document that explains it.

As long as its a small feature related discussion. big design stuff should go into its own meta document, most likely.

Oren Mazor
A: 

History information can go into version control checkin comments

In the information can be captured briefly, then one option is for the developer to describe the discussion in the comment when s/he checks the file(s) into version control. If you don't trust developers to look in source control if they have questions, then add "See checkin comments for this file on mm/dd/yy" in a comment in the source before checking it in.

JeffH
Nice idea (15 chars)
Pierre-Alain Vigeant
+3  A: 

This is where having a development wiki really pays off. You can just create a wiki page for the flash meeting, and link it to relevant other pages. Write up what was discussed, then ask the other programmers to check it and update as they see fit. There is one place to record everything and you can link it to whatever else you need, for instance SVN urls to a code branch or link to other wiki pages for the other people involved, the codebase being worked on. Later on, if you need to look it up, you can also search for keywords which you put into the wiki page specifically to make it easy to find later.

Michael Dillon
Interesting, we don't have a development wiki here but the idea please me. What tool should I look into?
Pierre-Alain Vigeant
Judging by the question tags in your profile, you mostly use C#, so first I suggest that you pick one from this list http://csharp-source.net/open-source/wiki-enginesNote that there are lots and lots of wiki implementations so don't try to find the best one. A couple of others to consider is the Mediwiki written in PHP to build Wikipedia because people may be familiar with it http://www.mediawiki.org/wiki/MediaWiki or Confluence which is a commercial wiki from Atlassian that is extensible through a large set of add-ons and can be integrated with other tools such as the JIRA bug tracking tool.
Michael Dillon
After searching on Stackoverflow about development wiki, I installed ScrewTurn Wiki and we will start to use this one. Thank you.
Pierre-Alain Vigeant