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. |
