RequirementONE Blog

News, best practice guides, hints and tips.

What is the difference between business and functional requirements?

20 February 2012
Martin Gorm Pedersen, Founder at RequirementONE   Martin Gorm Pedersen, Founder at RequirementONE

When designing a new product, you typically describe the business case and objectives up-front which in turn are further detailed by business and functional requirements.

So let’s take a look at the requirement specification process.

Typically requirement specifications are defined at two different levels from a business point of view:

  1. Business requirements (high-level)
  2. Functional requirements, non-functional requirements and use cases (detailed)

Business requirements are high level requirements that management and a board of directors would typically understand, as follows:

Requirement 1:
"We need to establish an online customer portal."

Requirement 2:
"The portal should list our products."

Functional requirements on the other hand are very detailed and outline exactly what needs to be delivered and would typically be read by business analysts, developers, project manager and testers:

Requirement 3:
"The system shall be able to register a product using the following fields: Name (20 characters long), Details (2000 characters long), Price (currency), Category (pick list)."

Requirement 4:
"The system shall support that up to 5 pictures can be listed per product."

So it means that a business requirement (“The portal should list our products”) will be broken in to one or more detailed functional requirements as shown above. In addition you would have a section with user stories that details the different uses of the system step-by-step e.g.


Get your $7 Requirement Management Toolkit & control your requirements without mistakes!

Get requirement Management Toolkit for Excel 

Use case 1: Login

1. Go to website

2. Click on login

3. Enter username and password

4. You are redirected to the start page.


In turn requirements should be linked to the user stories.

Note: I have on purpose not described how wireframes should be used. Neither have I included any additional designs being developed based on the functional requirements, such as technical architecture or implementation requirements, because they will be highly dependent on how the implementation is made (mobile, web, desktop, physical product etc).


Read the blog listing the Top 10 tips for writing good requirements.

Feel free to share your own experiences and questions.

To use the DISQUS service as your comment system in this blog, you should have a DISQUS account and register your website.

  1. Log into your DISQUS account
  2. Copy or make a note of the site shortname shown in the "Settings" under "Site Identity".
  3. Now log into the C1 Console of your website and edit the page with the "Composite.Community.Blog.BlogRenderer" function.
  4. In the function properties of "Composite.Community.Blog.BlogRenderer", select the "Comments Service Keys" parameter, switch to "Constant" and enter the site shortname.
  5. Click "OK" to save the changes, then save and publish the page.