There are 27 basic capabilities of software that help to measure the maturity and quality of software:
1. Usability
Ease of use and learnability.2. Accessibility
Degree of availability to as many people as possible.3. Security Vulnerabilities
Security vulnerabilities in the software such as bugs or design flaws.4. Securability
The ability to enforce permissions for operations and resources.5. Stability
Software uptime.6. Openness
Transparency of source code, architecture, design, APIs, interfaces, standards and documentation.7. Interoperability
The ability to interact and exchange information with other software.8. Standards Compliance
Compliance with established norms, customs, conventions, agreements, processes, practices and methods. Standards may be in the business, technical or regulatory domain.9. Functionality
What the software can do.10. Accuracy
The precision or correctness of computed values, estimates and predictions.11. Credibility
The trustworthiness and expertise of the organization responsible for creating and maintaining the software.12. Relevance
The degree to which the software satisfies a need or desire.13.Ubiquity
The popularity of the software.14. Operability
The complexity, costs and risks associated with operating the software.15. Deployability
How easy it is to install the software and deploy updates.16. Robustness
The ability of software to cope with errors. Robust software handles errors in a controlled fashion and continues to operate normally. Also known as fault-tolerance or graceful degradation.17. Resiliency
How easily the software recovers from a disaster.18. Maintainability
How easily defects and design flaws can be fixed.19. Extensibility
The ability of the software to be extended in the future. Extensible software provides effective hooks and mechanisms for adding new capabilities.20. Reusability
The degree to which segments or components of the software can be used to build something new.21. Testability
How easily the software can be tested.22. Traceability
The ability to determine the chronological history of events and data access. Important for audits and security.23. Performance
Software speed — how quickly the software can reply to requests under a particular workload.24. Scalability
The ability of software to handle higher loads when allocated more resources.25. Multitenancy
A single instance of software that can be shared by multiple tenants.Multitenant systems provide virtual partitioning of data and configuration. Often the user interface and functionality of the software can be customized for each tenant.
26. Mobility
Accessible from many locations using a variety of devices (mobile devices, public terminals etc..).27. Simplicity
The overall complexity of the software — simple software has a lower total cost of ownership.Tweet |
|

