When developing a new software application or working to architect a new platform, the realm of non-functional requirements poses a challenge to creativity. What *should* the system requirements be?

If your new application is to be built to integrate with older software, you must keep an eye towards the languages and frameworks used–because your new application may demand resources totally foreign to the older software you integrate with, which might demand a significant investment on the part of the users of your older application to move up to the new one.

Beyond that, what kind of performance metrics should be considered “ideal”? For an application that steps into new territory for your organization, is a response time for a particular operation of a particualr number of seconds (i.e. measurable) defensible, or even feasible? Is the proper definition of a response time more useful if it is generic, without reference to a particular number of seconds? Perhaps crafting measurable numbers that are derived from the measurements of competing software or similar applications is the answer.

More food for thought about areas to consider within the category of non-functional requirements can be consumed here.

EDIT: If you’re really in the mood for a load of categories to consider, here’s Wikipedia’s list of 70-odd Ilities for you to consider!