Glossary

This page is intended to define a number of terms that are used in or related to the build process. If you believe that a definition is missing and should be included then please contact us.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 

A

Active Development Line
A project's integration branch containing the latest development baseline. The Active Development Line is accessed via an individual private workspace for day-to-day development and integration.
active object
A derived object that has not or is yet to be staged, such an object is view private rather than under version control.
agile development
An umbrella term for individual software development methodologies such as Crystal methods, eXtreme Programming, and feature-driven development. Agile development methods emphasize customer satisfaction through continuous delivery of functional software. Although similar to iterative development, agile development methods typically promote less rigorous process enforcement.
Agile Software Delivery
An end to end software delivery process with continual builds and deployments. Agile Software Delivery aims to reduce the risk of delayed integration and deployment by building early and reusing previously built objects.
artifact
A piece of information that is produced, modified, or used by a process, defines an area of responsibility, and is subject to version control.

B

backlog
In Agile development a backlog is a priortisied list of all the work: features, requirements, defects and so on that is yet to be completed for a software product. The Scrum project management method defines a Product Backlog as the total backlog for the product and a Sprint Backlog as the that is to be completed (and taken from the Product Backlog) in the current sprint (iteration).
baseline
A metadata object that typically represents a stable configuration across a collection of artifacts.
bill of materials
The Bill of Materials lists the constituent parts of a given version of a product or application, and where the physical parts may be found. It describes the changes made in the version and refers to how the product may be installed.
branch
An object that specifies a linear sequence of element versions.
branching strategy
A strategy for isolation and integration of changes on a software project through the use of branches. A branching strategy defines the types of branches you use, how these branches relate to one another, and how you move changes between branches.
build
An operational version of a system or part of a system that demonstrates a subset of the capabilities to be provided in the final product.
build auditing
The process of recording which files and directories (and which versions of them) are read or written by the operating system during the course of a build.
build avoidance
The capability of a build program to fulfill a build request using an existing object, rather than creating a new derived object for the specific build step.
build distribution
The process of distributing the build process across a number of servers or computer processes so as to shorten the total build time.
build management
The identification and definition of what to build, the execution of the build process, and the reporting of its results. Build management capabilities also include build auditing, build avoidance and staged objects.
build server farm
A collection of virtual of physical hardware used to reduce total build times or share infrastructure across a number of projects.

C

change request
A general term for any request from a stakeholder to change an artifact or process. Documented in the change request is information on the origin and impact of the current problem, the proposed solution, and its cost.
classpath
An environmental variable or build file setting which tells the JVM where to look for Java programs. The entries in a classpath should contain either directories or jar files.
clearmake
A make-compatible build tool that is part of the IBM Rational ClearCase product and that provides build audit and build avoidance features.
CMMI
The Capability Maturity Model Integration (CMM) is a method for evaluating the maturity of organisations. The CMMI was developed by the Software Engineering Institute (SEI) at Carnegie Mellon University.
component
A metadata object that groups a set of related directory and file elements within a project.
continuous integration
The process of frequently integrating individual developer’s changes into a product's integration environment. Continuous Integration normally necessitates a fully automated and reproducible build, including testing, that runs many times a day. This allows each developer to integrate daily thus reducing integration problems.
continuous staging
The process of accumulating the output of multiple continuous integration builds into a staging area and automatically executing a system build.

D

deployment
The act of moving staged or packaged artifacts to other systems for testing or release.
deployment component
A built object or executable such as a .jar, .dll or .exe file that is part of the complete product or application.
deployment unit
A self-contained, installable, documented and traceable release of a software product or application. The deployment unit includes the contents of a product's release build, its bill of materials and any other supporting artifacts.

E

EAR
A Java Enterprise ARchive file is an archive (like a JAR file) containing Java class files and supporting artifacts (such as images). EAR files are used to package J2EE applications for deployment. J2EE files containing additional required files above and beyond JAR files that define the environment in which they are to be deployed and executed.

F

feature drop
An internal release of an application intended for system oriented testing. Feature drops are not intended to be end of iteration, customer consumable builds. Instead they are development builds but with specific completed and testable features. Feature Drops allow career Testers to exercise a product and customer representatives to visualize its content and steer it in the right direction.

G

golden master
A final software release that is used to produce distribution media for customers or end-users.

H

I

integration
The process of bringing together independently developed changes to form a testable piece of software. Integration can occur at many levels, eventually culminating in a complete software system.
integration build
A build that is carried out by an assigned integrator or central function to assess the effect of integrating a set of changes across a development team. This type of build can be carried out manually be a lead developer or a member of the build team, or alternately via an automatically scheduled program or service.

J

J2EE
Java 2 Platform, Enterprise Edition is an environment for developing and deploying enterprise applications. Defined by Sun Microsystems Inc., the J2EE platform consists of a set of services, application programming interfaces (APIs), and protocols that provide the functionality for developing multi-tiered, Web-based applications.
JAR
A Java ARchive file is an archive (like a ZIP file) containing Java class files and supporting artifacts (such as images). JAR files are used to package Java applications for deployment.
JDK
A Java Development Kit is a software development package from Sun Microsystems that implements the basic set of tools needed to write, test and debug Java applications and applets.
JRE
A Java Runtime Environment consists of the JVM, the Java platform core classes, and supporting files. It is the runtime part of the JDK and does not include a compiler, debugger, or supporting tools.
JVM
A Java Virtual Machine is a virtual machine that runs Java byte code generated by Java compilers.

K

L

M

makefile
A makefile details the files, dependencies, and rules by which an executable application is built. Makefiles are executed using the make program.
managed code
Executable code that is managed by its targeted execution framework. Managed code is Microsoft's definition for the output of languages that run on its .NET platform.
milestone integration
The process of integrating code basis at a specific project milestone, e.g. once a month. Also called big-bang integration.
mock object
A simulated code object, for example a class to mimic a database if the actual database is not available.

N

O

P

private build
A build that is carried out by a developer in their own workspace. This type of build is usually created for the purpose of checking the ongoing status of the developer’s changes.
Private Workspace
An isolated environment where developers can control the versions of code that they are working on.
Promotion Line
A branch created for a distinct level of assembly or integration, i.e. for integrating the components of a system or for allowing a site to integrate before executing a remote delivery.

Q

R

release
A release is a stable, executable version of a product. An internal release is used only by the development organization, as part of a milestone, or for a demonstrations to users or customers. An external release is delivered to end users.
release build
A build that is carried out by a central function, usually a member of the build team. This build is created with the express intention of being delivered to a customer, either internal or external. A release build is also usually created in an isolated and controlled environment.
release management
The packaging and authorization of a release build so as to enable its deployment to a test or live environment. Release management can also involves the creation of a deployment unit for deploying a partial or multiple products releases.
release package
The packaging of a release build into a form so that it is readily installable and deployable.
Release-Prep Line
A branch created for the purposes of conducting or stabilizing a release (whilst also allowing delivery to the Active Development Line to continue).
RSS
RSS is a family of XML formats for syndicating information across the Internet. Rather confusingly, the abbreviation can be used to refer to a number of standards or versions of RSS as follows: Rich Site Summary (RSS 0.91), RDF Site Summary (RSS 0.9 and 1.0) or Really Simple Syndication (RSS 2.0). The technology behind RSS allows you to subscribe to websites that have provided RSS feeds; these are typically sites that change or add content regularly. To subscribe you typically use a feed reader or aggregator.

S

SCM Plan
A document describing the organization and procedures for Software Configuration Management of a specific product, activity or service.
software configuration management
A software-engineering discipline that comprises the tools and techniques (processes or methodology) a company uses to manage change to its software assets.
SSH
Secure SHell is a command interface and protocol for securely accessing remote computers.
staged integration
The process of integrating a collective set of changes in isolation (usually on a branch) before integrating them back onto the mainline. Staged integration is a practical form of integration where it is not possible to "pollute" the mainline, for example to carry out a critical maintenance fix.
staged object
An active object that has been placed under version control.
staging
The process of putting active object files under version control.

T

U

V

version control
A subset of software configuration management that deals with tracking version evolution of a file or directory.

W

WAR
A Java Web ARchive file is an archive (like a JAR file) containing Java class files and supporting artifacts (such as images). WAR files are used to package Web-based Java applications for deployment. WAR files containing additional required files above and beyond JAR files that define the environment in which they are to be deployed and executed.
work product component
A source code, configuration, or documentation file that is part of your product and is changed as part of a change request. Work product components are usually grouped together to form some type of deployment component.
workspace
A generic term for a operating system directory structure created from a specific configuration out of a version control tool.

X

Y

Z

ZIP
ZIP is a popular data compression format. Files that have been compressed with the ZIP format are called ZIP files and usually end with a .zip extension.