Before a project I get a few boxes of different size ziplock bags. I go for "cheap", but they still need to be on the sturdy side. As I disassemble components, I bag everything I took off for that component in the number of bags necessary to hold it (most often one bag suffices), whether I intend to reuse the part or not. I won't get rid of a part until I'm sure I won't need it. (Being just as cheap as the bags), I'll label them using a marker on masking tape so I can reuse the bag until it won't hold anything. I put all parts for whatever project in one place. If I rearrange the shop for whatever reason, I keep the parts groups together, even if there's more room for part X "over there". I'm good for a few years remembering where I put something, but I don't leave it to chance that I'll finish a project within that time span, so I try to keep everything in that one place. I've got a few tote boxes just for keeping such parts in, too. If I'm not going to get into a particular tote for a while, I'll put a list in the tote of what's in it. I may not be able to tell you down to the square inch where a part is, but I can tell you which shelf in which part of the shop it's on. Not quite as thorough as some, but it's worked for me so far.