Project Naming Guide
Introduction
This is a guide about how to name software development projects.
Basics
One of the very first things to do before even starting a software
development project, is to give the project a name!
If we don't, we'll later find that it's very hard to find initial
documentation about it, in emails, word documents, source code, legal
contracts and so on.
Finding a good name for a project isn't easy. The following text tells
why, and gives some hints.
Naming Considerations
- Pick the project name very early, before even discussing it
further. Even if the project is never launched, it is good to know
later what it was that you didn't launch!
- Make sure the project name is easy to find when using free text
search! You will use this method many times to search for the
project in emails, documents, source files, revision control
systems etc.
- Never use a person name as project name! It's not nice or
efficient to be confused with a project name.
- Avoid using a location, such as city or room name!
- If you make the project for a customer, don't use the customer's
name or company as part of the project name. Perhaps this would
make it easy for you to reference to the project this way, but you'll
also communicate the project with the customer. To the customer it
certainly won't be a very unique name! And what if the customer asks
you to make another project for him/her? Then the first name will
appear quite strange!
- Don't use a project name consisting of more than one word!
First - it might cause technical problems with data base names, file
names etc. Secondly, a free text search might fail if a system puts
a line break between the words. Third: There will always be someone
who violates the project name by either concatenating the words,
CamelCase it or insert two or even three blanks between them.
- Pick a neutral name. The project name should not be related
to what the project actually does. It's very likely the project will
grow beyond the initial plan later.
- Don't make the project name Case Sensitive, so that you
get problems if anyone shifts the casing.
- Avoid typos by using a name that isn't difficult to spell.
- Companies have a tendency to be sold or change name. This is
another reason for not using a company name as part of the project name.
- Don't use a long project name! The more letters, the more likely
it is that someone will make a typo.
- It's likely that the project name will make up some part of
the development entities, like a file name, database entry etc.
This is another reason to keep the project name short.
- A hint: If you keep developing several projects, define a
method for nameing projects, and stick to that method.
- Notice that there's a difference between internal project names
that you use for the project development, compared to the product's
model name. The latter is of no concern to you as project manager
or developer!
- Never use the word new as part of the project name
(to indicate that this is a remake, or new version, of another
project). What would you call the next version or remake?
- Always think in terms of new versions, special variants,
restricted versions and so on, so you know how to name those
later.
- Discuss the project name with customer, they may have another
opinion, or might already use this name.
Project Name Usage
Once a project name is picked, here is how it can be used.
- In source code. Declare the project name in the header comment
of each source file.
- In emails, preferrably as part of the mail subject.
- Keep the project name intact!
- Tell your customer to refer to the chosen project name
in all discussions and emails etc.
- Label documentation, media etc. with the project name.
- Use the project name in project management systems such as Trac,
Doxygen, Subversion, GIT, backups etc.
Project Name Examples
- You can use a fixed length sequence such as AAA, AAB, ... ABA as
project name, as long as you skip names that can be mixed up with
other ordinary words such as CAR, TOM, OLD, FAT, BIG etc.
- If you really have to associate the project name with the customer's
name, make an abbreviation of the customer name and add sequence
numbers of at least three digits. For example, if your customer is
Transmeta, you can use project names such as TRME001, TRME002 etc.
- Chose from a list of known entities, such as names of mountains.
But be very careful, it's very likely that some mountains are the
same as for individuals. Some series are already used too commonly
such as Greek gods, country names, sound tracks, movie names,
month names etc.
Rein's Howtos
Project List