Business requirements and functional requirements are the two main categories of requirements that need to be gathered by a software project team. The difference between business requirements and functional requirements is not always clear, but they're critical to defining what a given software product should do. They complement each other and don't compete with each other; in fact, it's often best to document both types at once when gathering input from stakeholders.
Business requirements capture the intended users' wants and needs. They're about what the business wants to achieve, not how it will achieve that goal. Business requirements also don't address how the software should work or what technology is used, which are covered by functional requirements.
Functional requirements define the results that software must deliver. They are not about how the software will deliver those results, or who will build it, or how it will be tested. When you're writing functional requirements for your product or service, you should focus on describing how users interact with your product and what their experience looks like from beginning to end--not how those interactions take place under the hood.
Business requirements can drive technology choices, while functional requirements define the results that software must deliver. Business requirements are about the business, while functional requirements are about the product. Business requirements focus on users and problems, while functional requirements focus on solutions and functionality.
Business requirements should be documented before development starts, because this will help to ensure that you get feedback from the right people. The business requirements are not written in a technical language and they often include things like:
Functional requirements should be documented as soon as possible after development starts - in this way, you'll avoid making changes late in the development cycle that impact business rules or other functionalities.
Business and functional requirements are distinct activities but they can be done together; they complement each other and don't compete with each other. Business requirements are about the users, what they want to achieve and how this will benefit them. Functional requirements define what results the software must deliver, such as how many transactions per hour or how much storage space is needed.
Business requirements can drive technology choices by specifying which platform or database to use for example, whereas functional requirements define what must be delivered by any given platform (and so will not change if you change platforms).
As a result of this complementary nature of business and functional requirements it makes sense for them both to be documented before development starts - not just so that developers know what's expected from them but also so that everyone understands why we're doing things in certain ways (and therefore won't needlessly waste time re-inventing wheels).
In conclusion, it's important to remember that business and functional requirements complement each other. They don't compete with each other and should be used in concert.