Writing software requirements SMART way
Now you know who a business analyst is and what a business analyst does. One of the key activities for a business analyst in filling the gap between business and tech is documenting Software Requirements. Eliciting, analyzing, validating, and managing requirements have consistently been recognized as key activities of business analysis. And to some extent, business analysts are involved in the design of the solution (to some extent).
Requirements are focused on what the business needs; designs are focused on solutions - how technology is implemented to achieve the need described . The distinction between requirements and designs is not always clear. The same techniques are used to elicit, model, and analyze both. A requirement leads to a design which in turn may drive the discovery and analysis of more requirements. The shift in focus is often subtle.
Do you know writing requirements and specifications is challenging? It will be more challenging when explaining these requirements to the development team. To bring clarity to the requirements (both for business and development team) requirements you write should be SMART.
SMART requirement will bring
β οΈ Clarity to business so that there will no or less disputes between business stakeholder
β±οΈ Reduce turnaround time to sign-off requirements
π¨π»βπ» Provide clear needs for the development team
π₯ Expectation for both business and development is set clearly
Okay. SMART requirements are definitely helpful. But what are these SMART requirements? How will requirements become SMART?
A SMART Requirements are

Using the SMART framework a document can be checked and every requirement can be verified as correct in terms of expression.
SMART requirements for a better solution
π’ Specific: Requirement should specifically say what the requirement is. Requirements should be specified without any ambiguity. Use the same terminology throughout the document to explain an element or a concept
βοΈ Measurable: When i say measurable, it is not measured for its weight or length. In software requirement, measurable means βis it possible?β Once the solution is developed, can check if the requirement is met
π‘ Attainable: Attainable meant here is that the implementation done should exhibit the requirements in any given condition. Requirements should be clear enough to identify what will be the potential solution for the problem, is this already done before? what are the constraint in executing
π§ Releasable: Developing any software requirement takes a significant effort in planning and preparation. With the available resources, is it realistic to deliver the solution for requirements needed. Need to identify all the requirements so that the solution is delivered. For Ex. Skills, staffs, development infrastructure, runtime infrastructure etc
π Traceable: Any requirement from its concept to design to implementation to test should be able to trace both backward and forward. It will help us in understanding the inclusion of that requirement and also test the implementation
Filling the gap between business and technology will be very challenging and documenting requirements plays a major role. How much ever the technology grows, our natural language will be the medium for communicating and expressing requirements. SMART requirements are the simple and straightforward approach to keep the requirements smart.
Source: https://www.win.tue.nl/~wstomv/edu/2ip30/references/smart-requirements.pdf