What do CTP, RC, RTM, RTW mean?

I always wanted to find the precise meaning of the acronyms Microsoft uses to refer to the stage of a product in the software release life cycle. I found the most comprehensive explanation on Phil Haack's blog and copied it verbatim here for future reference.

Community Technology Preview/CTP
CTP stands for Community Technology Preview. It's generally an incomplete preview of a new technology in progress. These usually come out before beta and are a way to gather feedback from the community during the development of a product. This is similar to an Alpha release per Jeff’s hierarchy, except that at Microsoft, we generally do put CTPs in a public location.
Release Candidate/RC
RC's are pretty much like less buggy BETA releases. These are candidates to become the actual release and there is a very small chance of adding new features between the RC and the RTM. Any changes from an RC to an RTM are usually just bug fixes.
Released to Manufacturing/RTM
RTM stands for "Released to Manufacturing" and is a throwback to the days when software was mostly released as CDs. When a project went "Gold", it was released to manufacturing who then burned a bunch of CDs and packaged them up to be put on store shelves. True, this still goes on today believe it or not, but this mode of delivery is on the decline for certain types of software.
Released to Web/RTW
RTW is a related term that stands for "Released to Web" which is more descriptive of how software is actually shipped these days. For example, while we like to use the term RTM internally out of habit, ASP.NET MVC will actually be RTW.
Fully Supported Out-of-Band release
A Fully Supported Out-of-Band release is a release that is not part of the Framework (i.e. it's not included in an installation of the .NET Framework), but is fully supported as if it were. For example, you can call up PSS (Microsoft's Tech Support) for support on a fully supported OOB release.

One example of this was “Atlas” which later became Microsoft Ajax and was rolled into ASP.NET 3.5. ASP.NET MVC 1.0 will be an example of an OOB release.
Service Pack/SP
A Service Pack (or SP) is simply an RTM (or RTW) release of fixes and/or improvements to some software.
"Futures"
Based on this description of Microsoft ASP.NET Futures, I take it that Futures means a Release containing an early developer preview of features.
The functionality in the Futures release includes early experimental versions of features currently being considered for future versions ...

Escrow
An escrow build means code development has ceased as developers and beta testers hunt for "recall class" (showstopper) bugs; essentially, it is candidate RTM code.

(Update [08-May-09]: More acronyms & jargon)

Hotfixes
Hotfixes are one-off solutions to a specific problem: they are tested briefly, then given directly to customers. A knowledge base article is written to document their existence, but the hotfix itself is not posted publicly; customers must call support to receive them. They are not normally cumulative.
Service packs or SPs
Service packs contain a large number of fixes. They are tested very thoroughly by the entire QA organization across our entire matrix of configurations; they receive a full security review; they are localized into every language we support; and so on. SPs are posted on the main MS download page where anyone can get them instantly. They are always cumulative.
General Distribution Release or GDR
A GDR is somewhere in between (Hotfixes & Service packs). They typically contain one large fix, or several related fixes, and receive a moderate amount of testing. As it turns out, our GDR will contain a lot of fixes -- more than some SPs.
 (Update [10-October-12])

General Availability or GA - GA is what comes after RTW (Release to Web)

A joke goes that RTM could also mean Rushed To Market

Other companies use alternate names for stages in the software release life cycle:
            
Also see:

Comments

  1. Just what I was looking for.. thanks!

    ReplyDelete

Post a Comment