Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I hear this term around the office, and know it's relevant to software development lifecycle. What does "promote" mean? Context: e.g. to promote a file.

share|improve this question

3 Answers 3

up vote 14 down vote accepted

In a well set up software development shop you will have various separated environments. "Sandbox", "development", "integration test", "User Acceptance Test", "Performance Test" and finally "Production" (or "beta" and "General Release" if you are selling/distributing software).

This should be a progression of quality and rigorousness of testing. From "gee whiz I can compile it" in the sandbox environment to "I absolutely guarantee this works according to spec, as long as you don't pull the plug".

Moving a piece of software from one environment to the next is known as "promoting" it. Promotion should be preceded by some sort of quality assurance and testing to prove that the component is fit to be promoted.

share|improve this answer
    
Any chance you can give an example of how a file is promoted? i.e. How is a file moved from one environment to another, when it is promoted? –  imagineerThis Aug 8 '13 at 19:01
    
@imagineerThis, if my experience is valid elsewhere, it isn't usually a file which is promoted but either a complete version or just a given modification (which may be changes in several files). The specific about how it is done depend vastly on the internal organization. –  AProgrammer Aug 9 '13 at 6:26
    
+1. But wait: shouldn't some specs say what should happen if someone pulls the plug? :) Transactions, data integrity, failover... –  MarkJ Aug 9 '13 at 11:18
    
@MarkJ -- yep but I would not stand in front of the customer and say "I absolutely guarantee it will work even if you pull the plug!" too much like tempting fate. –  James Anderson Aug 13 '13 at 1:59

The full context is probably "promote a file to production" or something like that. It just means that the file is to be moved to the "more important" or "more critical" system. Presumably this only happens after code-review, testing, Q&A sign-off and so forth.

Analogy: a team leader is "promoted" to a manager.


How is a file moved from one environment to another, when it is promoted?

That is entirely dependent on how you build and deploy stuff to your test and production environments.

But for instance, suppose you use Git for your version control, and you have one branch for your test environment and another for your production environment. In that case, you might promote a file (or more likely a changeset comprising changes to a number of files) by merging the changes in your test branch to your production branch, rebuilding the production code and deploying it. (Or you could do a reset to make the HEAD of the production branch the same as the last commit for the changeset on the test branch. Or you could cherry-pick ...)

share|improve this answer

In the most basic sense, this is just using the associated command from the version control system in common-language "office talk." Occasionally, the command to move a file from a developer's workspace into a higher level of the version control tree ("Test", "QA", etc) is promote.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.