What is a Golden Master (GM)?
In software development, golden master (GM) is the historical name for the final version of a software build in a waterfall software development project. The label signified which build would be used for mass production and distribution on physical storage media.
Key Takeaways
- In everyday speech, a golden master is the final, approved version of a product.
- In software development, the label “golden master” described the final, approved build that would be used for mass production and distribution.
- The term golden master had its heyday back when software was distributed on CDs and DVDs.
- The concept of a final build that has been rigorously tested and approved by all stakeholders is still important, but it is known by different names in different industries.
- Today, in software development environments, the concept of a golden master is often referred to as a “release candidate.”
History of Golden Masters
The term “golden master” has its roots in the audio recording industry. In the early days of sound recording, masters were cut directly onto lacquer discs. These discs were fragile and could only be played a limited number of times before they degraded.
To address this issue, master discs were electroplated with a thin layer of gold. Because gold is highly resistant to corrosion and wear, it ensured the master could withstand the pressing process.
As the software industry grew, developers adopted terminology and practices from engineering and other fields. The label “golden master” was adopted as a concise way to refer to a final, production-ready build.
Now that software is often purchased as a service (SaaS), and DevOps teams work with CI/CD pipelines that release software code frequently and incrementally, the idea of a single, static “final” build is less relevant, and the terminology has changed.
For example, Apple is the company credited with popularizing the term golden record – but today, Apple calls its final build in Beta a release candidate.
Golden Master Process
To become a golden master, the final software build had to be signed off by all software project management stakeholders.
After that, the build could officially be declared the “golden master” and sent to manufacturing for mass production and distribution.
Key Characteristics of Golden Master
In software engineering projects, the underlying concept of a production-ready build is still an important consideration for release management, even though the terminology has changed.
Key characteristics include:
Golden Master Importance
In the past, when software was developed using waterfall methodologies and distributed on CD-ROMs and DVDs, it was important to make sure the final version of a software product was as perfect as possible because that’s what would be mass-produced.
Manufacturing and shipping physical copies of a software application was expensive, and updating the software after its release was not easy or cost-effective. Once the software was distributed, any changes would require a new golden record, a new manufacturing run, and new packaging before distribution.
Waterfall vs. Agile Software Development
Feature | Waterfall Software Development | Agile Software Development |
---|---|---|
End goal | A final build that can be used in production | Incremental improvements and updates to builds |
Development approach | Linear with clearly defined phases | Iterative with short development cycles |
Change management | Difficult and costly once the golden master is declared; usually requires a new production cycle | Designed to accommodate change throughout the development process |
Testing | Precedes the declaration of the golden master | Throughout the development process |
Release frequency | Infrequent | Frequent |
Golden Master Use Cases
While golden masters are not as relevant today in Agile project management, a wide variety of use cases still need a label for production-ready builds that can be released to production or submitted for regulatory certification.
Here are some alternative labels:
- In aviation, software submitted for certification might be referred to as a DO-178C-compliant build (based on the specific aviation software certification standard).
- In manufacturing, this type of golden master may also be referred to as an RTM, which stands for Release to Manufacturing.
- In the automotive industry, a software build that’s ready for deployment in vehicles might be referred to as a validated release.
- For software embedded in medical devices, the final build might be called an FDA-approved build or a locked build.
- In the telecommunications sector, a final software build deployed to network infrastructure might be referred to as an RTN or release-to-network build.
- In the gaming industry, a final build ready for release might be called a master build or a gold build.
Golden Master Pros and Cons
Golden masters have both advantages and disadvantages.
- The label “golden” indicates a high level of quality
- In waterfall development environments, the designation “golden master” signified the end of product development
- The concept of a production-ready build is still important, but the terminology has evolved to reflect current development and distribution practices
- Once a golden master is declared and shared, it can’t be changed
- The concept of a single, unchanging “golden master” doesn’t fit well with Agile methodologies
- Today, the concept of a production-ready build is known by a variety of industry-specific names, so the terminology can be confusing
The Bottom Line
While the historical definition of a golden master is less relevant today because of Agile development practices that promote continuous integration and continuous delivery, the underlying characteristics of quality assurance (QA) and stakeholder approval are still important, regardless of the specific terminology used to describe a final, production-ready build.
FAQs
What is the golden master in simple terms?
Why is the golden master important?
How is a golden master created?
Can the golden master be updated after release?
References
- CI/CD Pipeline: A Gentle Introduction – Semaphore (Semaphoreci)
- Golden Master – The Apple Wiki (Theapplewiki)