Hi S2Kap,
A tip for you and everyone else working with non-functional requirements - don't ask the Business "What speed do you want the system?", ask the question the other way around "What is the minimum speed that is acceptable?"
The reason for this is that most companies with have lots of different applications, data requests and other processes, which impact on a Servers’ ability to perform at 100%. The reality is, no server or system will ever act at 100% all the time or indeed at any stage during the day.
Therefore, ask yourself this: Are there sub-processes (for example web page refreshes) that are time dependent?
For example, I am a Customer of your company and I am trying to buy your product online, If your product purchase webpage takes 5 minutes to update itself when I have just entered my address that I want the product shipped to, this is clearly too long and I am likely, as a customer, to have left your webpage and gone to a competitor.
Therefore, your non-functional requirement for that web page is "The Web page must refresh when data is entered within 3 seconds. This must be achieved 97% of the time when in a Live Production environment."
In this requirement, I have stated that the minimum time for refresh of the web page is 3 seconds. The Dev team (and also the Infrastructure team if they are different) need to ensure that requirement is met.
I have also added how often I need that time limit to be met. Now I could say 100% of the time, but reality is, there will always be times when that can’t happen.
For example, if your company is doing maintenance to your web page, your target will not be met. You may also know that your product is a peak driven purchase product - an example of this would be if you sold concert tickets, you know that when a big act's tickets first go on sale, there is going to be a big peak demand for those tickets. Therefore, you need to ensure that your product webpage is able to cope with this peak demand. This is a key non-functional requirement, and for it, you would have to state a minimum capability.
In my example requirement, I have said 97% of the time. To obtain this figure you need to talk to the people who will have an impact on that happening. Now this will vary from company to company, but the likely candidates that you will need to talk to are the Infrastructure Manager, The Lead Dev and possibly the Head of Operations. Why? For these reasons:
Infrastructure Manager: Will be responsible for ensuring that the current set up of servers etc in your company can handle your request. They will also have an idea of how often outages are likely/known to occur. Outages include scheduled maintenance, emergency maintenance and also peak server demands. He may well tell you that 97% is not achievable. In which case you need to get him to commit to a figure and then tell your stakeholders, to see if this is acceptable. This is not un-common.
Lead Dev: The lead Dev in your project will know ways to reduce the impact of drags (the availability of server responses). These are often quite easy, but strangely, people tend to forget to ask them to be factored into a build of a new application or webpage. Make sure you do, the affects might surprise you.
Head Of Operations: I have included this role because they will know your Business peak times and therefore the peak times on system availability and response, better than anyone else. Factor this in and also ask them if they have any specific needs to add to this requirement. They may well do.