How To Write Good Software Requirements

Danielle Walker
Feb 26, 2019

Our team of product owners and agile developers have spent the last 20 years perfecting the art of creating software requirements. They’ve passed tickets back and forth, refined processes, and ultimately, mastered writing software development tickets.

A ticketing system is used in every custom software project. No matter if we’re creating an iPhone app, a web-application, or a website, a tool like JIRA, Asana, or Zendesk is required. At Spire, we follow the Atlassian school of thought, sporting JIRA and Confluence in our project management stack.

One single ticket, with meticulously written instructions, passes through 7 columns: “To Do,” “Ready For Design,” “Designing,” “Ready For Dev,” “Developing,” “Ready For QA,” and “Done.” Designers, developers, strategists, and QA, all use the same ticket. This way, we can measure the amount of time it takes a team to complete each task. Using this data, we can make adjustments to team size, or project timelines, constantly optimizing the work of creating software.

A well-written requirements document can help alleviate a large number of engineering design errors. The requirements should be written clearly, unambiguously, and concisely, using natural language. Each ticket must have tangible and demonstrable value, and be able to be tested by QA. Below is an example of how to write a well-defined requirements document:

Format the ticket with the following BOLD sections.

TITLE

The title of the ticket will clearly and concisely explain what functionality will result when this ticket is complete.

Example: ‘Allow User to Sign In’

ACCEPTANCE CRITERIA

This is where all of the specifications of what is being built is addressed. Again, it must be tangible, demonstrable, and testable by QA.

Example:

‘On the Sign In Page’

Require the user to enter their email address and password to sign in.

IF the user has entered the correct email address and password combination, THEN

Allow them to sign in to the app.

IF the user has entered the wrong email address and password combination, THEN

Display an ‘error message.’

If you need a partner in documentation or a partner in software development, reach out to Spire.