I am a big fan of naming things1. By this, I am referring to spending time on naming an idea, a problem, a solution, a team, or anything that could be named.
At work, I often find people arguing against the names I pick—which I admit, can get ornate at times—but I still stand by the importance of it. You would usually adopt different approaches for naming different classes of name-ables, and this would result in different types of names. In any case, they all help in three ways.
- Naming fences out the scope,
- it lets you compose with past and future work better, and
- it helps you market the idea well.
I have written a milder note on this earlier here but want to extend the thought. The time you spend in naming helps in clarifying what the thing is supposed to be and what it's not. It makes you think about the project specification, not unlike Readme Driven Development. Once you name something, you position that thing on a map with related things and get a better sense of boundaries.
In many of my personal and work related projects, I have tried building vague things and failed. Whenever I have tried to identify and name them before, I have been more successful. The time spent in naming lets you identify components and structures within and without.
Once you name something appropriately, you unlock a whole world of adjacent ideas that can compose with yours.
Before I knew it, I would struggle with ideas that match with what we in Machine Learning call imitation learning (IL). I would try to retrofit my thoughts with Reinforcement Learning and use weird descriptions that didn't give me or others any clarity. Once I tried naming it, and found the right name of imitation learning2, I got access to all other symbols around IL and have deeper understanding of the fundamental components like rewards, demonstrations, guidance, etc. My thoughts on the original problem have progressed drastically.
In fact, that's what names are for. You name things so they can be reused and referred to by others. Good names command strong referential power.
Finally, naming helps in marketing the idea. Both to the outer world and inner, if such a concept is relevant. At work, among all the projects, ones with better names have more engagement than ones that are nebulously named. Poorly named systems live solely based on their utility, but the better named items form their own identities and attract guardians and caretakers.
If you know about the Winston Star, you can connect this with how Prof. Patrick Winston talks about packaging ideas. The star covers 5 aspects to focus on, Symbol, Slogan, Surprise, Salient, and Story. Good naming helps you to get the first two right.