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.
KPI | Description |
---|---|
Security | Protects the software from malicious attacks and threats that help software retain its integrity and authentication. |
Analyzability | Ability of diagnosis of deficiencies or causes of failures, or for identification of parts to be modified. |
Robustness | Characterizes 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. |
Maintainability | Characterizes the ease and speed with which code can be modified or extended to optimise the existing functionality and enhance the quality of the product. |
Efficiency | Depicts the reliability of the software. It can be achieved by removing redundant code and following coding standards. |
Functionality | Characterizes 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. |
Portability | Allows moving software from one platform (hardware/software platform) to other platforms. This helps to port software or product among different environments. |
Reliability | Characterizes frequency of failure, ability to withstand component failure, ability to recover from a failed state. |
Resource Utilization | Characterizes behavior of software from a resource perspective ( e.g. CPU, disk, network usage, etc). |
Accuracy | Characterizes functional correctness of the software and the amount of functional defect. |
Adaptability | Characterizes the number of changes needed for the adaption of software to different specified environments. |
Testability | Characterizes 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 Integrity | Defines 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. |
Programmability | Characterizes 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. |
Replaceability | Characterizes the plug and play aspect of software components, that is how easy it is to exchange a given software component with a specified environment. |
Changeability | Characterizes the amount of effort needed for modification, fault removal or for environmental change. |
Stability | Characterizes the risk of unexpected or negative effects as a result of the modification. |