Sunday 5 May 2013

Future Work

It seems customary for computer science research papers to list directions for future work at the end. This custom is immensely strange. If your idea for future work is really good, the last thing you want to do is tell everyone about it. Literally the last thing: right after you've done the research and written it up! On other hand, if the idea for future work is bad, why do you want other people to see it?

My belief is that the "future work" discussions are not in fact lists of future work. In fact, it is perhaps safest if beginning students ignore these sections altogether. But they do serve a purpose, or rather, one of several:

1 Delimit the scope of current work. You have to stop somewhere, so listing an obvious idea for future work is a way of saying, "Yes, we know that this is an obvious extension, but we didn't have time for it, and its not as interesting as the stuff we did do." These are the research ideas that you want to stay far away from; if they were that interesting, the authors would have written that paper instead.

2 Stake an early claim. You've written a good, coherent paper, but there's another idea that's an obvious but still exciting follow on from what you did. It's a bad idea to put too much in one paper, so you mention the follow on to acknowledge that it's obvious, in case somebody else gets to the follow on first.

As an aside, if someone else does the follow on, don't feel bad. They'll be citing your paper prominently, which is very good both for your career, but more important intellectually: the point of you doing the work was for other people to use it. 

3 Convince readers that the work is useful. If you've built machinery (whether code or a proof technique) that you want other people to use, you might give some potential directions to encourage people to build on your work.