Please my question is: Do I need to develop functional requirements for a whole commercial -off-the-shelf products or do I just need to do it for the requirements the Commercial -off-the-shelf products does not meet.
Thanks
Hi Dami
Always seems a waste of time to do functional requirements for a product. Best to find out what the gaps are between what the business wants and what the product does. Then work out how to bridge the gap - change the business, customise the product or both.
Kimbo
It depends on how far through the process you are.
If you are yet to select a COTS system then you will need functional requirements to understand which system will be the best match to deliver your desired functionality. We often use these requirements to score each system depending on how well they meet the outcomes needed.
Non-functional requirements are needed across both the product selection stage and then once you come to doing the setup and install. Non-functionals will help you select the product required e.g. some may or may not be able to support the number of users you require, some may not work remotely others may, security is usually a hot topic here such as encryption.
So from my point of view, even if you have a product selected and installed you can still define non-functionals to understand how the product should be setup and configured especially when looking at future growth.
I guess the best approach would be to:
1) Map processes first in the business domain or subdomain
2) Do a quick evaluation of various COTS packages against core process functionality. This should result in a short list
3) Invite the vendors for a demo and evaluation of Functionality that is met out of the box or by configuring parameters.
4) Do a detailed gap analysis between what the business needs vs. what the packages offer. Also, identify if the gaps can be met by manual or other workarounds.
5) Do a detailed analysis of functional requirements for the gaps.
Ravi Bommakanti
brought to you by enabling practitioners & organizations to achieve their goals using: