The 27 Capabilities of Enterprise Software
posted by John Spacey, May 12, 2011What is the difference between low and high quality enterprise software? What is the difference between modern and legacy software?
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.
A digital signature embedded in information that can be tied to a source such as an individual or an IP address. |
Recently on Simplicable
The Difference Between Public, Private and Hybrid Cloudposted by Anna MarPopular ideas such as cloud computing get twisted, turned and flipped upside down before anyone can agree on common definitions. |
5 Levels of Tech Savvy Blissposted by Anna MarModern technology customers and industry insiders are faced with a constant stream of change. Human ability to adapt to this pace of change is remarkable. |
The 20 People In Your Organization Who Need Enterprise Architectureposted by Anna MarEnterprise architects are leaders. They're near the top of the technical food chain in any organization. As leaders, there are a lot of people in the organization EAs can help. |