Try and avoid making subjective decisions, be sure that all your capability needs can be fully justified. Spend time on analysing requirements as potential for cost-savings or providing a solution that brings real efficiency gains can hinge on making the right decisions at this phase in the selection process, the opposite is also true. Requirements that invite additional analysis are often ‘Non-Functional’, categories of questions to be considered are shown in the following table:[i]
| Category | Description |
| Access Security | How is the system safeguarded against unauthorized access? |
| Availability | How dependable is the system during normal operating times? |
| Efficiency | How fast does the system function? How many can be processed? How well does the system respond? |
| Integrity | How accurate and authentic are the data? |
| Reliability | How immune is the system to failure? |
| Survivability | How resilient is the system from failure? |
| Usability | How easy is it to learn and operate the system? |
| Flexibility | How easy is it to modify the system to work in different environments? |
| Maintainability | How easy is it to upkeep and repair the system? |
| Scalability | How easy is it to expand or upgrade the system’s capabilities? |
| Verifiability | How easy is it to show that the system performs its functions? |
| Interoperability | How easy is it to interface with another system? |
| Portability | How easy is it to transport the system? |
| Reusability | How easy is it to convert for use in another system? |
These capabilities can have a huge impact on how the solution will perform and must be identified before any acquisition or design decisions are made.
[i] The Quest for Software Requirements ©Roxanne Miller 2000