I find it very hard to answer question like : "why did you implemented it this way?" or "what's the reason of using that instead of that?" usually because the implementation is the result of a long thought process and trials and errors. By the time i'm finished i can't recall every specific details.
I wanted to know if you have some tips to keep track of your thought process and answer those question easily.