Minimum requirements to determine the best solution
- Total lifecycle cost: including initial cost, installation, training, and recurrent cost for maintenance and support.
- Maintainability: the ease of how (cost and effort) the software can be modified to
correct faults, improve performance or other attribute or adapt to a changed environment. - Interoperability: ihis includes additional support required to integrate with existing systems. It also includes flexibility to accommodate changes over time and among multiple systems.
- Portability: usability of the same software in different environments. A computer environment can include hardware, operating systems, and interfaces with other software, users and programmers.
- Scalability: ability to support future growth and increased through put.
- Availability and accessibility: robust and redundant (fault tolerant) software to achieve required level of service without disruption from software failure.
- Reusability: ability to make repeated use of the software for additional requirements with minimum additional cost.
- Functionality/performance: ability to achieve operational requirements effectively and efficiently.
- Security: ability to protect system data and operational environment from loss or compromise.
- Additional criteria include: vendor viability, licensing restrictions, product market share, customer recommendations, frequency of upgrades, and potential obsolescence.