The BABOK® Guide recommends that business analysts use the nonfunctional requirements technique on their projects. Let’s take a closer look at this technique and how this is actually done. Nonfunctional requirements define the overall qualities or attributes of the resulting solution or solution components. They constrain how the solution requirements are to be met by the solution itself as well as stating the qualities of behavior or quality attributes that your stakeholders want. Nonfunctional requirements augment the description of solution functionality by stating the solution’s characteristics in various dimensions that are important to the users or the developers. The BABOK® Guide recommends using a set of seven categories for your nonfunctional requirements:
Reliability: Reliability focuses on the solution’s availability when the stakeholders need it. You should also look at the solution’s ability to recover from errors or failures.
Performance Efficiency: Performance efficiency looks at the time it takes to perform activities and the resource utilization levels for the solution.
Operability: Operability measures the extent to which your stakeholders can recognize whether or not a solution meets their needs and how usable the solution actually is.
Security: Security looks at the solution’s ability to store information and protect its information from unauthorized use. Authentication of solution users and audit reporting is also considered.
Compatibility: Most solutions today need to operate effectively and either co-exist or interact with other solutions in the same environment.
Maintainability: Maintainability focuses on how easy it will be to change one solution component without affecting other components. You also need to consider component reuse, ease of diagnosing problems, and the ability to implement changes without causing unexpected failures.
Transferability: You need to determine whether your solution can be migrated to, installed in, and uninstalled from different environments as needed.
You should consider using a checklist for eliciting and developing your nonfunctional requirements. It is easiest to capture the functional and nonfunctional requirements at the same time. Checklists can assist you in organizing your nonfunctional requirements by category and to make sure you are not missing anything. Here’s an example from me:
Your nonfunctional requirements will need to be documented after they are gathered and analyzed. Usually they are typically documented alongside (or in the same section as) the functional solution requirements that they constrain. That makes sense, since the functional and nonfunctional requirements are both subsets of your solution requirements. I recommend documenting your nonfunctional requirements alongside the functional requirements they constrain or impact in some way. The exception is any global constraints. For these I typically use a separate section of my requirements document since global constraints impact all of the solution requirements in some way.
Well, that is our closer look at yet another successful technique used by business analysts, performing nonfunctional requirements analysis as part of your project. Most project requirements consist of both functional and nonfunctional requirements, so business analysts use this technique a great deal. I usually elicit and analyze both types of requirements together, and try not to miss anything important! Give me a shout if you have another BABOK® technique you would like to explore in more detail!
Business analysts are increasingly becoming the critical liaisons between business and solution development (oftentimes IT), so they must communicate and relate with equal effectiveness throughout all levels of an organization. Download this free White Paper to see which five common obstacles business analysts face and how to address them to ensure success.