GTP
Global Transfer Process
Vocabulary

Since so many terms are used when the topic of software arises, we provide a short overview of common phrases.

Application Lifecycle Management (ALM): ALM regards the process of delivering software as a continuously repeating cycle of inter-related steps: definition, design, development, testing, deployment and management. Each of these steps needs to be carefully monitored and controlled.

Application Management: application management offers the ability for an end user (of any type, desktop or server, test or production) to procure, install and manage an application that sits on top of the operating system. That could be anything from end user note taking, PIM or office productivity applications to higher end database, web or application servers.

Baseline: An approved revision of a document or source file from which subsequent changes can be made.

Branch: A set of files under version control may be branched or forked at a point in time so that, from that time forward, two copies of those files may be developed at different speeds or in different ways independently of the other.

Build Management: Build management enables developers to create a version of a product, which can be anything from a single component to a complete customer solution for the purpose of testing and/or integration.

Change: A change represents a specific modification to a document under version control.

Change Management (CM): Change Management is the practice of ensuring all changes to Configuration Items are carried out in a planned and authorised manner. This includes ensuring that there is a business reason behind each change, identifying the specific Configuration Items and IT Services affected by the change, planning the change, testing the change, and having a back out plan should the change result in an unexpected state of the Configuration Item.

Change set: A change set identifies the set of changes made in a single check-in.

Check-in: A check-in occurs when a copy of the changes made to the working copy is written or merged into the repository.

Check-out: A check-out creates a local working copy from the repository. Either a specific revision is specified, or the latest is obtained.

Configuration item (CI): A configuration item is any part of the development which needs to be independently identified, stored, tested, reviewed, used, changed, delivered and/or maintained. Configuration items can differ widely in complexity and may contain other configuration items in a hierarchy.

Configuration Management (CM): Configuration Management is the implementation of a database (Configuration Management Database – CMDB) that contains details of the organisation’s elements that are used in the provision and management of its IT services.

Conflict: A conflict occurs when two changes are made by different parties to the same document or place within a document. When the software is not intelligent enough to decide which change is 'correct', a user is required to resolve such a conflict.

Export: An export is similar to a check-out except that it creates a clean directory tree without the version control metadata used in a working copy. Often used prior to publishing the contents.

Import: An import is the action of copying a local directory tree (that is not currently a working copy) into the repository for the first time.

Incident Management: Incident Management is the resolution and prevention of incidents that affect the normal running of an organisation’s IT services. This includes ensuring that faults are corrected, preventing any recurrence of these faults, and the application of preventative maintenance to reduce the likelihood of these faults occurring in the first instance.

Merge: A merge or integration brings together two sets of changes to a file or set of files into a unified revision of that file or files.
This may happen when one user, working on those files, updates their working copy with changes made, and checked into the repository, by other users. Conversely, this same process may happen in the repository when a user tries to check-in their changes.
It may happen after a set of files has been branched, then a problem that existed before the branching is fixed in one branch and this fix needs merging into the other.
It may happen after files have been branched, developed independently for a while and then are required to be merged back into a single unified trunk.

Problem Management: Problem Management is the resolution and prevention of incidents that affect the normal running of an organisation’s IT services. This includes ensuring that faults are corrected, preventing any recurrence of these faults, and the application of preventative maintenance to reduce the likelihood of these faults occurring in the first instance.

Process management is the most essential part of Configuration Management. Process Management must define the process life cycles for the configuration items and set up appropriate change control and authorisation policies for product element modifications. CM processes need to be reviewed and improved as the product line effort matures. Any changes in the CM process need to be managed and rolled out carefully to the entire product line organisation. The defined process must address: Lifecycle management, roles and responsibilities, configuration item identification and attributes and repository management.

Product line CM must also support the process of merging results either because new versions of core assets are included in a product or because product-specific results are introduced into the core asset base. Finally, since introducing changes may affect multiple versions of multiple products, you'll want your CM system for a product line to deliver sound data for an impact analysis to help you understand what impact a proposed change will have.

Project Management: Project Management describes project roles and responsibilities and how these should be communicated, agreed and documented. Project Management also facilitates planning, scheduling, and assessments, while managing dependencies between tasks and monitoring project progress, as well as the ability to track task and project progress, and share and access all of the relevant information to achieve project success.

Release: Most large programs are developed in evolutionary releases. With one release in customer use, another in test, and a third in development, bug fixes must be propagated between them. If found by a customer, for example, a bug should be fixed in all later versions. Similarly, if a bug is found in a development release, it should be fixed in all those prior versions that contained it

Release Management: The management of all software configuration items within the organisation. It is responsible for the management of software development, installation and support of an organisation’s software products.

Repository: The repository is where the current and historical file data is stored, often on a server.

Requirements Management: Requirements Management involves applying management disciplines to the requirements development process. Requirements Management involves establishing and maintaining an agreement with the customer on the requirements for a project, managing changes to requirements, ensuring consistency between the requirements, the project plans and work products, and maintaining bi-directional traceability for requirements and work products.

Resolve: The act of user intervention to address a conflict between different changes to the same document.

Revision: A revision or version is one version in a chain of changes.

Software Configuration Management (SCM): SCM is part of Configuration Management (CM). Roger Pressman in his book Software Engineering: A Practitioner's Approach, says that Software Configuration Management (SCM) is a “set of activities designed to control change by identifying the work products that are likely to change, establishing relationships among them, defining mechanisms for managing different versions of these work products, controlling the changes imposed, and auditing and reporting on the changes made.” In other words, SCM is a methodology to control and manage a software development project.

Tag: A tag refers to an important snapshot in time, consistent across many files. These files at that point may all be tagged with a user-friendly, meaningful name or revision number.

Test Management: It is the role of test management to ensure that new or modified service products meet the business requirements for which they have been developed or enhanced. The purpose of test management is to ensure that a testing strategy is both devised and applied that is efficient, effective and economic.
The testing strategy should define the objectives of all test stages and the techniques that apply. The testing strategy also forms the basis for the creation of a standardised documentation set, and facilitates communication of the test process and its implications outside of the test discipline.

Version Management: Manages multiple revisions of the same unit of information. It is used in software development to manage ongoing development of digital documents like application source code and other critical information that may be worked on by a team of people. Changes to these documents are identified by incrementing an associated number or letter code, termed the ‘revision’ and associated with the person making the change.