4

Many of us use this term in daily business quite intuitively: "build stage", "test stage" and used long before the rise of DevOps.

But is there a formal and/or well-established definition of this term?

Additional question: Who and where used it for first time?

2 Answers 2

4

Often in technology we co-opt English words and give them alternate meanings. However, in this case it's really just the standard definition:

A level, degree, or period of time in the course of a process

2
  • 1
    thanks - but, if we reference to "test stage" how it can be time or level if we actually mean an environment used for specific purpose?
    – Ta Mu
    Commented Jun 19, 2017 at 9:06
  • 2
    The test environment is not a stage; it is the environment in which the stage happens. The test stage is a part of a defined process, and it's supposed to happen in the test environment, but does not necessarily have to. Commented Jun 24, 2017 at 18:28
2

I would argue that referring to these milestones as "phases" would be preferable to "stages." This is because "staging" is already a more prevalent term in use in the industry.

Staging refers to a specific environment used for walking through testing the deployment process. It is distinct from the QA environment used for bug testing and sanity checking and testing environments used for User Acceptance & integration Testing (UAT). All of these could be considered types of test environments.

The origin of this term comes from theater in which actors will walk through a scene - often stopping to adjust, clarify, and note physical positions on stage. This is often also referred to as "blocking" in theater.

Thus, if you call these milestones "stages" you could end up having a "staging stage" and for the sake of clarity, "staging phase" or "staging milestone" would be preferable and more prevalent. These are the more common and customary terms, driven by the terminology of project management.

I would typically dis-recommend using the term "testing" to refer to an environment, because it can be confusing as to which testing environment you are referring.

10
  • One may argue the term comes from rocket industry, building a program by analogy to a rocket, stage after stage, it's pretty common in the industry also. Re you coud end up having a "staging stage" I disagree, you'd have a deploy stage, the fact it does target a staging environment is irrelevant, as it would be the same stage (process block) used to deploy to QA, rehearsal and then production.
    – Tensibai
    Commented Jun 28, 2017 at 8:16
  • I'm doubtful that rocketry is the origin of the staging environment as the context of doing a mockup, dry run in order to figure out how it is done during the actual deployment. Perhaps that could be true of "stage" as a "phase", but not as a production mirror for practicing deployments. It could also be a military term referent to a "staging area" in which you prepare for deployment and assault of troops - which leads me to my second point - referring to staging as a deploy phase would be inappropriate - deployment comes after staging. Commented Jun 28, 2017 at 14:36
  • Finally, staging is not the same testing environment as QA or UAT, which is why I so heavily cited this sentence - to make that clear. (though to be fair, companies will often consolidate the environments for cost savings) Commented Jun 28, 2017 at 14:38
  • I was saying that rocketry is an origin for the stage term, the staging term is indeed your definition and I didn't say anything else. It's just a counterpoint to your first sentence which is false. A staging phase would be running the deploy stage toward the staging environment. Here phases are build of stages. Stages are construct the same way in each phase and differ from their input only. See the phases as a rocket launch, the staging env as the rocket destination and the deploy stage as one stage of the rocket, and you have a common picture of a deploy pipeline nowaday.
    – Tensibai
    Commented Jun 28, 2017 at 14:50
  • 1
    My googling found similar - referring to phases/milestones as "stages" definitely seems to be terminology that originated from Jenkins (or at least was fueled by). Commented Jun 28, 2017 at 17:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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