You can’t remember every detail, so stop trying

There are more details involved in writing an application that anyone can remember. You can’t hope to retain everything you’re told: it’s easy to slip and forget something important.

What can you do so you don’t feel overwhelmed when you’re sitting down alone at your computer? You don’t want to ask your clients or colleagues for help too often since they have their own tasks, and they’re not always available to answer. If you’re working on an existing feature you can always get an idea by looking at the code, but knowing what was done won’t help you figure out why it was done. Besides, if you’re working on a brand-new feature, you won’t have any code base to guide you.

What can you do in the future so you don’t put yourself in this situation again? You should take copious notes about the project when you get new information, using a pen and paper. Some people have the impression that they’re rude if they’re taking note instead of staring at the person who’s talking. You must stop worrying about this: it’s a lot more annoying to make people repeat because you didn’t bother to take a few seconds to jolt something down.

When you’re back at your desk and you start doubting your memory, you can pull your notes and validate if you were right. Seeing your notes will help you remember better what was discussed, even if your writing and diagrams are crappy. Taking notes on a laptop is not the same thing as writing on paper: the action of writing down what you wish to retain will help you, and chances are that you won’t even need your notes.

But, didn’t the Agile Manifesto say that any form of documentation was useless and evil? Can’t we just improve iteratively? It says that unnecessary or outdated documentation should be avoided, not that you should give up on writing things down. You can’t keep all this information in your head and hope to remember everything over the course of a large project. Having to remake a feature that took a few days or weeks to code just because you didn’t make sure to remember the information you received is an expensive mistake.

You will never be perfect: you will always have questions, and you’ll most likely need clarification about a few key points even if you listened perfectly. When you get to this point, you’ll now be ready to ask those questions without feeling dumb that you missed something obvious.