The authur seems to be so close. Quick sketch. Fill in the details. Implement new features one at a time. If you design the thing well, you shouldn't have to have any idea what these things are going to do and you can add functionality later. And test new features as they're thought up and added.<p>Or you could write the same code over and over. I don't like typing that much.