What are the most widely accepted trends for naming applications from the first to final deployment?

Sorry for the simplicity of this question but I was just trying to learn what developers name applications in general in the real world.

Obviously there is the full development life cycle a piece of software undergoes and various names will be given in order to keep track of what version is what. So my question is what are the most widely accepted trends for naming applications from the first to final deployment?

The best response I could hope for is from someone who has worked far and wide in a lot of different companies and can give a good general indication of what developers use in general across the board.

I know this is really simple but it is something that I would like to understand better if possible.

Who is Participating?
Carl TawnConnect With a Mentor Systems and Integration DeveloperCommented:
Personally I would use a postfix or suffix to differentiate them, something like:
OurProduct             -- live database
OurProduct_Test    -- test database
OurProduct_Dev     -- dev database

Open in new window

If you wanted to you could even employ database-level, or server-level, scripts to reject connections based on who was connecting or what application was connecting.

If you need to go a step further you can tag a build number onto the database as well. For example, a place i used to work would host multiple UAT versions for databases on the same server, so they would be named something like:

Open in new window


From my experience, your naming of application is generally consistent with what the application does.

In my case, I have developed several applications for different uses.

The recent one is for Training Poll Workers.

So, I named it PollworkerTraining app.

There was one for a project hope. I named it projectHope.

There was one for scheduling Court Hearings. So, I named it courtHearingSchedule app.

So, there is no written rule for naming apps ( that I am aware of).

You give your app a name that is closely related to what the app is supposed to be used for and you stay with that name till deployment.

You can add versioning. ProjectHope release 1, or ver. 1, etc.

Hope this helps.
Carl TawnSystems and Integration DeveloperCommented:
If you're referring to code names for products like Microsoft et al use then they just use them so they can bandy about the name without outsiders knowing what they're referring to until it is announced officially - same way the police/military use code names for missions so they don't giveaway the actual purpose.

In the more mundane real world, most projects are just named for what they do - as mentioned above.
7 new features that'll make your work life better

It’s our mission to create a product that solves the huge challenges you face at work every day. In case you missed it, here are 7 delightful things we've added recently to monday to make it even more awesome.

jazz__manAuthor Commented:
Well suppose you want to make sure other developers don't accidentally edit the wrong database? You surely can't just have one name for all the different life cycle stages?
jazz__manAuthor Commented:
"You give your app a name that is closely related to what the app is supposed to be used for and you stay with that name till deployment."

Then after deployment, what would you name it? Assuming we are in an intranet environment.
Carl TawnSystems and Integration DeveloperCommented:
It depends how your environment is setup. We run dedicated SQL instances for development, staging and production - so the instance dictates what environment you are on, rather than the database name. Rights are restricted on staging and production servers so only select people have access - hence limited opportunity for someone to edit the wrong database.
Maybe, I worded that incorrectly.

Whatever you name it, you stay with unless the users decide otherwise.

Take for instance the project hope project I alluded to, I (the developer), named it projectHope and that's the name it was deployed with and that's the name the app currently uses.

Again, based on my experience, most, if not all clients don't really care about that.

You go out of your way to name it something closely related what it is used for as mentioned.

The client wants to know if the app is doing what it is intended to do.

Hardly do they object the app name.
jazz__manAuthor Commented:
Carl Tawn,

I understand. What you have described is what I would call a safe way of working, but what if you were working for a company without such luxuries as having different environments and therefore naming became important. Assuming all developers had access, what names would you apply to prevent someone editing the wrong database?
jazz__manAuthor Commented:


Thanks for this, I am not really concerned about client perspective here, it is more about safety within a development team, and communication to prevent editing the wrong database. As you said clients don't care, but developers need to care.
If that's really what you meant, then in our environment, we don't even have the test/staging database on same server as production database.

These days, most, if not all physical servers have been virtualized making it easier to have multiple development environments.

As a result, there is staging database, test database and production database and the production database is on a separate server from staging and test databases.

All you would need to do is make sure that test database mirrors production database.

Your question though isn't that clear cut from the get go but hopefully you are getting the answers you needed.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.