The 5 W’s of an Issue
When an issue gets raised in a production environment, a project planning meeting, or a requirements-gathering meeting, we ask the Who, What, When, Where, and Why of the issue to figure out how to solve it.
Typically, the Where is implied as “In the System” and the When is either “Yesterday”, “ASAP”, or “We’ll figure that out once we know the size, scope and schedule for the issue/project.”
That leaves us with the Who, What, and Why. These three questions are at the heart of a User Story.
A User Story is a simple statement that answers the questions Who, What and Why of any given issue.
“As a night owl, I need coffee in the morning so that I can function properly.”
“As a fire station janitor, I need to get a text message whenever the truck rolls out so that I can go over to clean the station when the firefighters are not there.”
“As an accounting user, I need the system to calculate the tax for an order based on the City, County, State and Country selected in the “Bill To” address so that the tax amount is correct for each customer and to reduce billing errors.”
“As a security admin, I need to be able to lock people out of the system so that we can do an update at 1 AM Sunday morning.”
“As a manager, I need to see the Sales by Region on a map so that I can visualize the sales by region and determine which regions are most in need of sales support staff.”
In each of these examples, you can see that the User Story takes the form of a single statement that follows this template:
In short: “Who needs What and Why.”
More specifically: “As a type of user, the system should have some feature/do some action so that some benefit will be received.”
What Not to Do
User Stories should not be ambiguous. For example, “As a user, I need the system to report on sales, so that I can analyze sales,” is not specific at all.
Nor should they be technical: “As a Data Entry operator, when I click the Add button it should create a new CUST_TBL row and default the ADDRESS_1 field to the ADDRESS_ID of the ADDR_TBL record that has DEF_ADDRESS set to 1 so that the CUST_TBL defaults correctly.”
Nor should they omit any of the three parts of the statement. “The system should apply shipping charges to each order so that the shipping charges are correct,” is not as useful as: “As a customer, I need the system to show me the shipping charges that apply to my order so that I can know what they will be before I submit the order.”
It is especially tempting to leave off the third part, the “Why?” However, it is a fundamental component of the User Story. Notice the very different implications of “As a security admin, I need to be able to lock people out of the system so that we can prevent ex-employees from logging in.” and “As a security admin, I need to be able to lock people out of the system so that we can do an update at 1 AM Sunday morning.”
User Stories answer the Who, What, and Why of an issue.
User Stories take the form: “As a type of user, the system should have some feature/do some action so that some benefit will be received .”