Saturday, 7 June 2008

FIXME and TODO

Part of our development process is the need to show your code - by the mean of patch/diff files - on a daily (aka frequent) basis. Doing so, you are more often than not showcasing work in progress.

There are several benefits in enquiring frequent feedback on your implementation:
  • optimizes design quality
  • reduces potential waste caused by misunderstanding sooner than later
  • promotes top-down software development
However, the team need to pay attention to the various TODOs and FIXMEs that are creeping into the code base. Unmanaged TODOs and FIXMEs will come and bite you at one point in the project if you are not managing them - this is stating the obvious - they can be evil to your project.

If you do not want to create tasks and estimates for each of these you have to keep them visible to all team members at all time. Some IDEs offer the meachanism to create warning in the build log when they encounters certain keywords, this does the trick nicely.

When this is not possible a simple: cat logfile | grep 'TODO' part of your build process will do the trick.

It also appears to be a good idea to ask your developpers to put their name beside their TODOs this way you will know who to talk to in two months when you will be wondering how to get rid of the TODOs.