Right now, I'm extremely frustrated because I was in the process of developing some cool mechanism to optimize a calculation system by reducing the number of calculations from around half a million to just a few thousands. It took a lot of time examining and analyzing data, writing things down, doing a few tests and in general just doing my work. Then we had a project meeting. I've explained what I wanted to do, how much time it would take and how much it could improve the project and even make it possible to create new features. Then it was decided that it was just too much time to do this all before the next deadline. (A deadline which would have to be extended if I was allowed to continue.) A quick brainstorm made it clear that there is an easy work-around that could be used instead, which would delay the optimization for a few more months.
Well, tough!
Okay... I've just written the frustration away. Now the question... I now have this whole design in my head. Much of it are just schematics and pieces of papers with handwritten text on it, some printouts and even a few questions here at SO. These ideas will be frozen for a while, but I will need to remember them in the future again. I can get a day, maybe two to clean up the notes and start documenting things.
So I need advice on how to best remember my design in e.g. 4 months from now. Or maybe even a year from now... What would be the most important to write down? Or document? (Considering the short amount of time I have...) Any suggestions?
Why? Else I'll just be frustrated again four months from now. :-)
It depends what works for you -- and how you like to learn. I like to use diagrams, so in the situation where I've designed a cool algorithm (albeit nothing as complex as this!) I do the following:
1) Draw the algorithm out on paper, or write it out whatever.
2) Add annotations to it so that it makes complete sense to you.
3) Describe the algorithm to someone else from only what you've drawn. This stops you from filling in blanks from your own knowledge of the algorithm.
4) If there are gaps in your description, add extra detail as you go, so that the document becomes a comprehensive record of your description.
5) Put the drawing away for a week and see if it still makes sense. At this point it should still be familiar enough to add missing detail.
Whether it will be clear enough in a year's time -- or whether you'll even want to use it -- remains to be seen.
Hope that helps!