pencil and paper is best. you shouldn't plan down to the last detail though,just the basic way your program will work. What classes will use what methods,etc.