Release early, release often
"Release early, release often" is a software development mantra that advises publishing new versions of a product frequently and without waiting for completeness, so that real users can run the software, report defects, and shape its direction while development is still underway. The slogan is most closely associated with the early history of the Linux kernel, whose creator, Linus Torvalds, made a habit of pushing out new kernels – sometimes more than once a day – and treated the worldwide community of users as an extension of his development team.
Eric S. Raymond codified the practice in his 1997 essay "The Cathedral and the Bazaar", where it appears as a corollary of Linus’s Law, the observation that given enough eyeballs, all bugs are shallow. The argument is that the fastest way to find problems in a piece of software is to release it and let a large, diverse population of users exercise it. Frequent releases compound the effect. Each version closes the loop between developer intent and user reality within days rather than months, so course corrections stay cheap.
The principle applies one level down, at the scale of individual commits: see commit early, commit often. The two share the same instinct – keep increments small, keep feedback loops short – but operate at different scopes. Frequent commits feed continuous integration, the practice that keeps a shared mainline healthy. Frequent releases carry the same discipline outward to the people who run the software.
The modern, industrialized expression of the idea is continuous delivery and its stricter cousin continuous deployment. Both automate the path from committed code to a shippable artifact, or to production, so that releasing often stops being an event and becomes a routine byproduct of development. The beta testing entry discusses how the same philosophy, once expressed as a discrete beta phase, is now frequently realized through gradual rollout techniques such as canary deployments and feature flags.
The mantra resonates with the values of Extreme Programming (XP), whose "small releases" and "incremental deployment" practices turn the same instinct into a repeatable engineering discipline. It also echoes the design temperament behind "worse is better": shipping something that works now, even if rough, often beats waiting for something finished.
Important
Releasing early does not mean releasing broken. The practice assumes a baseline of usable software that real users can install and operate. Code that does not run, or that destroys user data, repels the contributors and testers the strategy depends on.
See also
- Commit early, commit often
- Continuous integration
- Continuous delivery
- Continuous deployment
- Canary deployment
- Feature flags
- Beta testing
- Extreme programming (XP)
- Worse is better
- Release model
References
- Eric S. Raymond (1999). The Cathedral and the Bazaar. O’Reilly Media.
- _Release early, release often. Wikipedia.