TBH, I think was somehow your fault. Before writing even a single line of code I make sure that "I" understood what is needed.
Then, if nothing is written down anywhere, I'd just sum up what I am going to implement (email, wiki, internal docs, readme whatever) and send it to anyone involved.
Check mate for for control-freak-undecided-colleagues. :)