Key Performance Indicator (KPI) helps you effectively track crucial aspects of development like maintainability, reusability, functionality, and more. While a set of default KPIs are available to begin with, you can create your own custom KPI’s as well.

KPIDescription
SecurityProtects the software from malicious attacks and threats that help software retain its integrity and authentication.
AnalyzabilityAbility of diagnosis of deficiencies or causes of failures, or for identification of parts to be modified.
RobustnessCharacterizes the ability to cope with unknown errors during execution or the ability of an algorithm to continue to operate despite abnormalities in input, calculations, etc.
MaintainabilityCharacterizes the ease and speed with which code can be modified or extended to optimise the existing functionality and enhance the quality of the product.
EfficiencyDepicts the reliability of the software. It can be achieved by removing redundant code and following coding standards.
FunctionalityCharacterizes the ability of the software to adhere to the functional requirements. It assures that the function can perform a task smoothly to keep its quality intact.
PortabilityAllows moving software from one platform (hardware/software platform) to other platforms. This helps to port software or product among different environments.
ReliabilityCharacterizes frequency of failure, ability to withstand component failure, ability to recover from a failed state.
Resource UtilizationCharacterizes behavior of software from a resource perspective ( e.g. CPU, disk, network usage, etc).
AccuracyCharacterizes functional correctness of the software and the amount of functional defect.
AdaptabilityCharacterizes the number of changes needed for the adaption of software to different specified environments.
TestabilityCharacterizes the effort needed for validating the software and about the test coverage. Good stability makes it more likely that faults in a system can be isolated in a timely and effective manner.
Conceptual IntegrityDefines the consistency and coherence of the overall design. This includes the way that components or modules are designed, as well as factors such as coding style and variable naming.
ProgrammabilityCharacterizes the effort needed for validating the software and about the test coverage. Good stability makes it more likely that faults in a system can be isolated in a timely and effective manner.
ReplaceabilityCharacterizes the plug and play aspect of software components, that is how easy it is to exchange a given software component with a specified environment.
ChangeabilityCharacterizes the amount of effort needed for modification, fault removal or for environmental change.
StabilityCharacterizes the risk of unexpected or negative effects as a result of the modification.