Release engineering, frequently abbreviated as "releng", is a sub-discipline in
software engineeringconcerned with the compilation, assembly, and delivery of source codeinto finished products or other software components. An associated term is software release life cycle.
Frequently, tracking of changes in a
configuration managementsystem or revision controlsystem is part of the domain of the release engineer. The responsibility for creating and applying a version numbering scheme into software--and tracking that number back to the specific source files to which it applies--often falls onto the release engineer. Producing or improving automation in software production is usually a goal of the release engineer. Gathering, tracking, and supplying all the tools that are required to develop and build a particular piece of software may be a release engineering task, in order to reliably reproduce or maintain software years after its initial release to customers.
While most software engineers, or software developers, do many or all of the above as a course of their work, in larger organizations the specialty of the release engineer can be applied to coordinate disparate source trees, projects, teams, and components. This frees the developers to implement features in the software and also frees the
quality assuranceengineers to more broadly and deeply test the produced software.
The release engineer may provide software, services, or both to software engineering and software quality assurance teams. The software provided may be build tools, assembly, or other reorganization scripts which take compilation output and place them into a pre-defined tree structure, and even to the authoring and creation of installers for use by test teams or by the ultimate consumer of the software. The services provided may include
software build(compilation) automation, automated test integration, results reporting, and production of or preparation for software delivery systems--e.g., in the form of electronic media (CDs, DVDs) or electronic software distribution mechanisms.
Release engineering may be properly considered a subdiscipline of
Software quality assuranceor Engineering and the culmination of same in a particular cycle of development. It should be noted that production version number is as or more often driven by marketing or other considerations, especially in the case of COTS program products and services.
Build and release cycle
An often overlooked task in the
software development processis the need to get software from the hands of developers into the test organization. This software is usually called a "release" or "delivery" or, more informally, a "build" (noun, rather than verb). Group software development, however, generally implies the following questions:
*Who delivers all the pieces in a coordinated fashion?
*What, exactly, is in any particular build (differing it from a previous build, at varying stages of development)?
*What are the processes involved in reliably reproducing the software?Large software projects, whether using
agile software developmentor the waterfall model, rely on many and frequent iterations of the "build -> test -> debug-> code -> build" cycle before the software project is complete. Release engineering attempts to bring consistency, reproducibility, and verifiability to the build and release cycle...
Porting- Product Line Engineering includes porting of a software product from one platform to other.
Software configuration management- Although release engineering is sometimes considered part of Software Configuration Management, the latter, being a tool or a process used by the Release Engineer, is actually more of a subset of the roles and responsibilities of the typical Release Engineer.
Packaging & Deployment
* "Software Release Methodology" by Michael E. Bays; ISBN 0-13-636564-7.
* "Software Configuration Management" by H. Ronald Berlack; ISBN 0-471-53049-2.
* "Design of a Methodology to Support Software Release Decisions" by H. Sassenburg; ISBN 90-367-2424-4.
Wikimedia Foundation. 2010.
Look at other dictionaries:
Release Management — is the relatively new but rapidly growing discipline within software engineering of managing software releases.As software systems, software development processes, and resources become more distributed, they invariably become more specialized and … Wikipedia
Release Management method — Release management describes the practices for bringing software items to the operations environment, its users. It contains both implementation and distribution activities.IntroductionThe goal of Release management is to protect the live… … Wikipedia
Release Management — Saltar a navegación, búsqueda Software Release Management, en castellano, gestión de entregas de software, es el proceso de entregas de software nuevo o de actualizaciones del software. El proceso es mucho más que crear una nueva versión o… … Wikipedia Español
Engineering ethics — is the field of applied ethics which examines and sets standards for engineers obligations to the public, their clients, employers and the profession. This article addresses the subject for both professional engineers and other… … Wikipedia
Engineering process outsourcing — (EPO) for the AEC industry is a vertical domain for the industries of the built environment.EPO industry is playing crucial role in efficiently supporting dynamic architecture, engineering and construction industries worldwide. EPO has made major … Wikipedia
Engineering Projects — ▪ 1995 Introduction BRIDGES Notable Engineering Projects(For Notable Engineering Projects in work, see Table (Notable Engineering Projects).) As the decade of the 1990s reached its midpoint, the limits to bridge design were being… … Universalium
Release (Pet Shop Boys album) — Infobox Album | Name = Release Type = Album Artist = Pet Shop Boys Released = April 1, 2002 Recorded = March 2000 November 2001 Genre = Electropop Length = 45:00 Label = Parlophone Producer = Pet Shop Boys Chris Zippel Reviews = * Allmusic… … Wikipedia
Software release life cycle — A software release life cycle refers to the phases of development and maturity for a piece of computer software ranging from its initial development, to its eventual release, and updated versions of the released version to help improve… … Wikipedia
Topic outline of engineering — For a more comprehensive list, see the List of engineering topics. Engineering is the practice and method of applying scientific and empirical knowledge to the service of humanity, and is distinct from the physical sciences, which are studies of… … Wikipedia
Rolling release — In software development, a rolling release approach refers to a continuously evolving software system, as opposed to one with versions that must be reinstalled over the previous versions. It is one of many types of software release life cycles.A… … Wikipedia