Pretty much every CPU has some internal code name before it is released to the public (and even after it hangs on). But what about software projects? Are those usually code named? Do you code name your projects?

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
If this question can be reworded to fit the rules in the help center, please edit the question.

16 Answers
16

We are not sure what we are going to call the project/app we are working on at the mimute so we came up with a quick code name so we didn't waste time thinking about a name when it isn't strictly relevant.

I agree with the above. Also the codename is useful for distinguishing between versions. We have a lot of sites some on the "codename1" framework and some on the "codename2" framework. Both are essentially the same product but it is helpful to distinguish between the codebase. This is a lot like microsoft using the codename "longhorn" before they had an official name for the product. I have found it to be helpful.
–
EvanMar 9 '11 at 22:51

If you don't have one think long and hard about the name before choosing one.

For software projects that produce a product the early name can and will live on in the code base long after it's been replaced by the real name. The name affects so many things - executable name, namespaces, class names even methods and variables - so if you change the name it will have all sorts of knock on effects in the code base.

I would add that if it doesn't have a name then I think you should pick one. We have a project now semi-officially called the 'MVC Project' because some of the business users picked up on some of the terms being banded around and there was no short and catchy official name for it at the beginning. This is despite it only having the use of the MVC pattern as a minor technical detail.
–
FinnNkOct 30 '10 at 17:35

3

Yep, avoid being clever with them too. I once saw the project manager on "Boiler" come unstuck when the project sponsor asked why that name (it was because she was seen as a right old boiler - English slang for not being very attractive). Cue much spluttering as he tried to come up with an alternative reason.
–
Jon HopkinsNov 11 '10 at 16:33

Codenames are useful as a level of abstraction between the source code and the product. Your code repository needs a name. Classes or configurations will need a name. Once set in code these are quite cumbersome to change.

Unless your product is well established, its public marketing name is likely to change. If your product is well established, then the public-facing product might split into multiple products which rely on the same source base. Having a codename avoids confusion in all these cases because the codename refers to the source, not the product.

That said, I avoid codenames that are difficult to remember. I prefer names which include some plain descriptive element that make it clear what part of the product they refer to. Unless you're working on something so super secret that even the name is valuable IP (let's be honest, very few of us really are) then having an obscure name just puts up a wall between those who understand what it means and everybody else in the company.

No, but I did try to persuade my Boss that we should start such a practice based on woodland creatures.
Mainly due to wanting to have conversations with the Directors about project Badger and Squirrel... or if it was a project we didn't like... Woodlouse. :)

We used code names at Sun Microsystems, for both software and hardware projects. The justification was that you can go have lunch with coworkers and talk about different projects, and someone listening in wouldn't have an idea of what you were talking about.

Code names are also nicer because they are shorter. It's easier to say "Hammerhead" than "the next generation unnamed Sun Enterprise E10000 server" (not the real code name).

For ClusterTools, we used a shark name theme for each release, and at each release we'd have t-shirts or hats or beer labels with a picture of the shark. It was a nice way to do some team bonding. Also, coming up with the list of names and themes is fun for the group too.

As a researcher now, I probably should use code names for projects. Instead, I refer to each unit of research by the name of the target conference. But saying "that ICSE paper" isn't good if you need to submit to a different conference (upon rejection or if you think it's not yet ready), and then you have to rename your latex files and directories.

For some reason I find it fairly easy and logical to come up with a completely dumb name for my projects. Apeman and it's successor HomoSapiens are my sanest examples for this...but I have to say that I might be overdoing it...somebody who's looking into my code base will find latin-named folders and rather strange project names.

Our main products (the ones that are sold to customers) have an internal code name which is never exposed out. For customers, the product name fits a series like Product1000 Product5000 indicating relative capability.

I didn't want to figure a name for my last project since I was new around and didn't want to impose anything on anyone. I named it "ProjectX" until someone figures a new name. Now it has been 4 - 5 months and it's still projectX.

Next time I'll name it something offensive so people will try to figure a new name fast.

We used a code name for a larger project, mostly because it was totally unclear what the name would be when we started it and you definitely need something to call what you're working on. We also used code names for release versions, although these never got out to the customer, unlike Android's and Apple's code names used to these days.

My last company had a habit of naming projects with something more or less arbitrary. Maybe there was some meaning behind the code name choice, but if there were I hardly ever got it.