
I talked to Scott at
Tyner Blain about my non-functional requirements series and he suggested that I create an index for them. As I add new posts, I'll add them to this list and make sure the index appears in the
Popular posts section.
Complete list of non-functional requirementsThis is a very early post containing the names of the different types of non-functional requirements. No details provided but a good starting point.
AvailabilityThere are two key concepts for availability:
Hours of operation and
reliability. The first refers to what times a system will be available for production. The second refers to it's availability during the stated hours of operation. I supplemented this post with the following one,
Extreme availability & reliability.
CapacityCapacity deals with the projected load that a system will handle. This includes its growth and the timing around when heavy load conditions will occur. As companies move towards a more service oriented architecture approach it becomes very important to be able to understand capacity.
Data currencyHow up-to-date does your information need to be? Do you need real-time or are delays acceptable? Data warehouses generally operate a few days or weeks behind. For general reporting needs, this situation is acceptable.
Data retentionAddress your needs to store and dispose of information. There are industries which have legislation surrounding the acquisition and disposal of information. Recognize that some types of data become useless as time passes.
Disaster recoveryThis non-functional requirement relates to a business' needs for a system to recover from an outage. How important is the system and how quickly does it need to be returned to production?
Error-handlingDescribes a system's ability to handle unexpected situations such as purchase orders for unrecognized products. How should you account for these transactions?
InternationalizationThis is an important characteristic for applications that will operate in multiple geographic regions, currencies, tax regimes and languages.
LoggingA system's ability to keep track of its activity. This provides an audit trail that can be used for problem-solving.
SecurityDescribes how a system handles customer privacy as well as user privileges.
*NEW* UpgradeabilityThis characteristic describes the ease of replacing a component in a system with another one.
*NEW* The ignored step-child - the non-functional requirementLinks to an important conversation on the importance of non-functional requirements and their neglect.