« LEAP - Microsoft Lead… | Home | Network based infecti… »

Non-functional requirements



Every system has requirements, that the system must comply to. Creating a list of these requirements for a new system is not a simple task. There are special applications on the market for documenting an correlating requirements for development- and test purposes.

Most requirements are functional requirements. They state what the system should do, like "After inserting a new customer order, the system must print a order confirmation".

Besides functional requirements, there are non-functional requirements. These requirements are sometimes called the "-abilities". Some examples of non-functional requirements are: 

  • Availability
  • Scalability
  • Reliability
  • Stability

Besides these -abilities the following are also non-functional requirements:

  • Cost/ licensing
  • Security
  • Uptime
  • Robustness
  • Documentation
  • etc

Users of systems usually don not state these requirements explicitly, but they do have expectations about them.

It is the task of the IT architect or requirements engineer to find these implicit requirements. This can be very hard. Things that are obvious to the customers or end-users, are not always obvious to others. Not to forget the non-functional requirements that system administrators have, like the existence of backup windows.

A large part of the budget of building the system can be determined by non-functional requirements ("The system obviously must work seamlessly with the existing systems" or "The website should always be available"). Therefore it is very important to quantify these requirements to make them explicit: How bad would it be if the website was not available for 5 minutes per day?" What if it will take $500.000 to satisfy this requirement? Is it still important then?

It is important to remember that the acceptance of a system is largely dependent of the implemented non-functional requirements. A website can be very beautiful and functional, but if loading the site (a non-functional requirement) takes 30 seconds, your customers are gone!



No comments:


About Sjaak Laan

Sjaak Laan

I am 45 years old and married with Angelina. We have 3 children of 12, 7 and 5 years old. We live in The Netherlands, in a place called Drachten

I work for Logica as Principal IT Architect. I have 20 years IT experience.

I own the following certificates:

ITAC Master Certified IT Architect

CISSP_logo CISSP (Certified Information Systems Security Professional)


TOGAF8_Certified_web TOGAF Certified Architect



I am a member of the:


I manage my business contacts using Linkedin.


I can be reached through sjaak.laan [ a t ] gmail [dot] com.

This site states my opinion only, and not nessecarily the opinion of my employer or of the clients I work for.