Software Maintainability Glossary

A dictionary of the terminology most commonly used by developers and engineering leaders related to software quality and technical debt.

Team hero illustration
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

B

The process of testing a software without knowing the internal structure of code or program.

C

A software development practice of ensuring that latest changes to software are deployable at any time.

A development practice in which changes to code are integrated in a shared repository frequently, multiples times a day preferably.

Software engineering practice in which isolated code changes are immediately analyzed to detect defects before they are added to the code base.

I

A method of software development where the product is designed, implemented and tested incrementally until the product is finished.

The process of taking individual units of code and testing it as a group.

A method of software development where a rudimentary version of the entire product is iterated on multiple times to get the final product.

S

Slow deterioration of software performance over time leading to software becoming buggy and unusable.

T

Quantification of the implied cost of additional maintenance work in future caused by making trade-offs now to deliver software faster.

U

The process of breaking down a program into pieces, and subjecting each piece to a series of tests.

W

The process of testing a software based on an analysis of the internal structure of the component or system.