Software uses many terms, some of which can be hard to understand, especially if you are involved in software development or testing. These terms can be hard to remember, and sometimes it can be difficult to know what software support staff or developers are talking about without knowing some of these terms. We put this simple glossary together as a resource for you.

Agile Software Development

Focus of software development is to deliver neat ‘parts’ rather than a full application. Smaller, functional bits of code are delivered often and tested often.

API

API stands for application programming interface. APIs are specific methods prescribed by an application program by which a programmer writing an application program can make requests of the first application.

Application Integration

The process of bringing data or a function from one application together with that of another application.

Best Practice

A path of action that has over time or through experience, reliably lead to the most desirable outcome.

Bug

A bug is a coding error within a program.

Build

A version of a program which is usually not the finished version. Identified by a build number.

Debugging

Location and fixing bugs in computer program code.

Development Environment

A set of processes and programming tools used to create programs.

Driver

A program that has special knowledge of a device that other programs using the device do not.

Ergonomics

The process of optimising products for human use.

Feature Creep

The increasing requirements of a project during development, beyond those originally seen.

Gap Analysis

The study of the differences between two different information systems for the purpose of getting from the current state to another state.

Gold Code

Final, ready to replicate, software version.

Help System

Component of a software application which functions to explain how to and help the user use that software.

ISV

An ISV is an independent software vendor. An organisation that makes and sells software products which run on one or more hardware or OS platforms.

Legacy Application

An application that is based on programming languages or techniques that predate current technology.

Open Source

A software who’s source code is available for use or change as developers or users deem appropriate.

Outsourcing

Where one organisation provides services to another which could be provided in house.

Patch

A repair of the problems in a piece of programming.

Prototyping

A systems development method in which a prototype is built and tested. A more acceptable prototype is then produced until a model is made from which the complete system  can be developed.

Runtime

When a program is running.

Service Pack

An update to software that solves problems and may deliver software enhancements.

User Interface

Every part of an information device that a user can interact with.