2 min read

Writing software requirements SMART way

To bring clarity to the requirements (both for business and development team) requirements you write should be SMART
Writing software requirements SMART way
Photo by Juanjo Jaramillo / Unsplash

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