I call it Namestorming (play on Brainstorming). I'll come up with some key words that convey what the product does in 1 word. These will be the root words. Then I'll look up all the synonyms, and any related prefixes or suffixes. I'll put them all in a spreadsheet and try them in different combinations until I come up with some cool ones. Then I'll do a trademark search on the USPTO to make sure it's not already trademarked. Then I'll do a Google search on the name, and see if anything comes up. Then I'll search for the Domain and see if it's available. If it's a Web based product, a service, or something tangible, then I consider the .com is essential. If it's an App based product, then I'm ok with other domains, especially ones that play into the word (for example, one of my unbuilt projects is named infostre.am). Then I'll do a search in the App Store(s) and make sure it's not in use (previous example is in use in the UK, but not in the US). The last test I do is to ask 10 people if they can spell it just based on saying the word verbally. If more than 75% of the people spell it wrong, or everyone spells it different, then that's no good. About 99% of the time, one of the above will fail, and I'll toss the name and start over (usually its the .com domain squatters that ruin it).