Release Engineering is how software gets packaged, shipped, and distributed to the end users.

What is Release Engineering?

Release Engineering, sometimes shortened as RelEng, focuses on how software gets packaged, shipped, and distributed to the end-users. This discipline is more prevalent where complex software is shipped as a standalone product. In contrast to this, disciplines and concepts like Site Reliability Engineering and Continuous Delivery deal with live hosted applications. If there is an artifact that's distributed to users instead of a maintained service, Release Engineering is most definitely at play.

For businesses, Release Engineering solves a scaling problem. As companies grow from startups into enterprises, the number of engineers who write code for a given software increases rapidly. This creates a whole slew of coordination and compatibility problems between different parts of the system that results in the reduction of productivity and innovation.

  • Team A’s component worked yesterday but now that Team B has shipped their component today, Team A’s component doesn't work anymore.
  • Packaging a product into a single installable product becomes problematic as each component lacks a contract with another.
  • No one knows what exact version is running at different customer sites. The need for Supply Chain Management becomes necessary.
  • Many security vulnerabilities and bugs creep up in the product post-installation.

Release Engineering introduces itself to solve these problems large companies face. This begins with the emphasis on the process required to build and ship the product instead of the product itself. While the type of software changes the design and implementation of the process, the principles and tactics of Release Engineering apply universally between these different products.

Release Engineering emphasizes in establishing and maintaining a baseline level of quality in the product, building tools to allow developers to easily test their changes in isolation, and automating the process as much as possible. It also focuses on creating a traceable supply chain so each artifact version can trace back its source components.

Subscribe to The Release Engineer

Sign up now to get access to the library of members-only issues.
Jamie Larson