One basic aspect of IT project management is understanding the different requirements of a system. There are two types, which are both critical when implementing a successful IT project, functional and non-functional requirements.
Senior Project Manager, Søren Pedersen has defined both functional and non-functional requirements, so you can get a basic understanding of the difference between the two.
What are functional requirements
Functional requirements define what the system does, i.e. user interface, business processes, calculations, input, output etc.
Examples of functional requirements
- The user should be able to enter information in all Scandinavian languages and in English
- Field A accepts only integers values: 0, 1, 2 …, 10
- The system must raise an alarm when daily number of transaction X exceeds 10.000
- End-users will be trained in the basic system functionality before final acceptance testing.
What are non-functional requirements
Non-functional requirements define under which conditions the system will function, i.e. performance, service level, supportability, scalability, security etc.
Examples of non-functional requirements
- All pages on a website load in less than 2 second for 99% of the end-users
- The system must handle at least 1.000 transactions per second
- The system must have less than 1hour downtime per three months
- The system shall support seamless fail-over.
How functional and non-functional requirements support one another
When doing system implementations, you’ll need to have both functional and non-functional requirements specified – in detail.
It may well be that all requested system functionality has been implemented as specified, but system response times are unacceptable slow. Or the system can only comprehend 100 concurrent users, while 300 concurrent users are expected.
Or the system response time is easily met, while some basic calculations or presentation in the Graphical User Interface (GUI) are missing.
In this way, both functional and non-functional requirements are necessary and supplement each other.
How to implement a plan for both functional and non-functional requirements in an IT project plan
Often when doing system implementations, we prepare a joint customer-contractor/vendor project plan/schedule, including tasks related to both functional and non-functional requirements. This will give the customer a good and overview and insight into dependencies, constraints and implementation progress.