User Story

How to write a good user story

With new technology, changing customer expectations and the need to offer more value for money businesses have been forced to think more about their processes and systems.

Many of our clients have the problem of not knowing where to start in a technology project. It can all seem so overwhelming with complaints from staff, customers and suppliers.  They all want a solution and they want you to give it to them quickly.

There are ways to give yourself the best possible start when embarking on a new technology initiative. User stories are a great way of fusing the users’ needs with the technological requirement. They are the meat in the sandwich. The success of a technology project can be very dependent on the quality of the user stories. In this blog I talk about how to write great user stories.

Start noting down the issues

The first step is to gather the issues that the users of your current system or process have. This is usually done by a business analyst but essentially can be carried about by anyone who knows your business well and has access to the key stakeholders.

A simple spreadsheet would do to record the issues, and should identify the following:

• Unique identifier – eg. IS001. This will prove handy later when matching the issue to requirements.
• Source of the issue – Be specific to which person raised it but also their role. Noting the role will allow you to analyse if there are certain issues that are unique to a particular role or if they are impacting multiple stakeholders. Noting the individual or user group who raised the issue will also help later on when developers may need context around a particular requirement
• Description of the issue – You don’t need to be too detailed here, but you need to capture the key elements of the issue and it’s impact. This will assist you with any issue prioritisation process.
• Process/Category/Sub-category– If the issue is related to a particular process or category you may wish to note this to assist you with further issue analysis. It is sometimes also helpful to break the category down even further to a sub- category. For some clients it might make sense to categorise by People, Process and Technology for example, and then break it down to subcategories such as client communication, technology limitations and workflow management.

A user story will link the business requirement with the issue by explaining why the user needs the functionality and what problem it will solve. Understanding your current state will highlight the key issues that need to be solved and therefore which user stories should be prioritised.

What is a user story?

User stories are the smallest unit of work in an agile project framework. A user story outlines the desired outcome or need of an end user in simple non-technical language. User stories help everyone on the project think critically and creatively about how to solve the end goal. Because a user story is focused on the needs of the end user it keeps everyone focused on solving the problems for real users.

Writing the user stories

Typically, user stories are captured by a business analyst when engaging with key stakeholders such as the product owner and other key would-be users of the system.

The key parts of a user story are:
• Role – Name the role that requires the function
• Need – Explain what they want to achieve (not the feature they want)
• Purpose – Explain why they want to be able to do this thing? What is the overall benefit/the big problem they are solving?

One of the biggest challenges for people when writing a user story is explaining the purpose of their user story. People seem so confident they know the purpose when you ask them but when forced to write it down, they fall apart. Noting down the issues upfront is therefore an important component of helping people understand the key problems that need to be solved. Often user stories are workshopped in groups to open up discussion amongst the users about the “why”.

Users stories should be fairly high level with little detail. The detail will be fleshed out later when grooming your user stories.

A user story is often written in the following way:

As a (role), I want (functionality or goal), so that (reason)

• Example 1: “As a parent, I want to live close to a primary school, so that my child can walk to school.”

• Example 2: “As a conveyancing law clerk, I want to easily identify settlements due but not booked, so that I can contact those purchasers to book a settlement”

• Example 3: “As a manager, I want a reporting dashboard, so that I can easily keep track of my staff’s overdue work”

Grouping user stories

Much like grouping your issues into categories and sub-categories for ease of analysis, we often group user stories into epics as a helpful way to organise work and create a hierarchy.
An epic is a word used in agile project delivery for a large body of work that is broken down into a number of smaller user stories. It helps everyone on the project break down work into shippable pieces.

User story writing tips

Writing good user stories takes practice. You will probably find some stakeholders are better at writing them than others. A competent business analyst can help steer the discussions and help shape those user stories to make them more robust, calling out where they fall short of key information needed by developers.

1. Each user story should have a unique identifier e.g. US001, US002.
2. Break it down into separate user stories if it is too long or has too many parts or reasons to it
3. One user story per role, they might have different purposes for that need
4. Be wary of including information about UI in the “want”. A user story is an end goal and not a feature

Start writing!

 

Backlog refinement

Backlog refinement – Do you groom your user stories?

Sometimes words make us feel a little uncomfortable. I have found in my position as a business analyst going into different types of organisations who are embarking on technology projects for the first time, that “grooming” tends to be one of those words. Whether or not you like the word, it has a very important function for agile product development teams.  “Product backlog refinement” which is also referred to as “product backlog grooming” is a method to keep your user stories updated, orderly and ready to build.

It is still widely documented that approximately 70% of technology projects fail to achieve their intended objectives.  There are many issues encountered in the delivery of technology projects.  Some of these might be catastrophic to your timeline and unavoidable, for example the illness of a key project member. However, some of these issues are completely avoidable.  Allowing time for backlog refinement to a point where you are satisfied that each user story meets the agreed criteria for “ready to build” can ensure your sprints are delivered on time and with minimal disruption.  A crucial guideline in Scrum is that five to ten percent of every Sprint must be dedicated to product backlog refinement.

What is a Grooming Score?

A grooming score is a score based on an agreed definition of what it means to make a requirement ready to build. Grooming of a requirement backlog is often carried out by the business analyst or product owner but they might do this in rigorous consultation with the technical leads or a combination of people within a project team.

Grooming, which is more increasingly referred to as requirement or backlog refinement, typically involves the following

1. User Storya user story typically sets out the user who is performing the required function, the required function and the problem that it solves;

2. User Story Description– more detail surrounding the requirement;

3. Acceptance Criteria – the business definition of complete. The requirement will be tested against the acceptance criteria;

4. Dependencies – anything that a requirement is dependent on for the build;

5. Priority – assessing and then re-assessing the relative priority of stories regularly;

6. Estimation of Effort – an estimate of the effort (in hours) that it will take to design and build the requirement;

7. Reference Data – any business logic, physical templates required to build the requirement.

If all of the above were defined for each backlog item, a user story would need to get to a grooming score of 7 before it was ready to build. Your project might require more, less or different criteria defined from the above list. A defined grooming score should be elected well in advance of the start of the build.

Why is backlog refinement so important?

There is a grooming technique called the ‘Building Man’ coined by international firm, Nagarro, that sets out very clearly what rewards are gained through rigorous backlog refinement, but conversely what to expect if you leave part or all of your backlog refinement out of your agile build process.

The first step is called ‘Strawman Grooming’. As you can imagine from its name, it involves looking at the bare bones of the requirement and gaining minimal understanding of what is required to build it, but no guts. Essentially this involves categorising the user story into an Epic. At this point you can expect to have around 20% assurance that the feature built matches its intended design. 20% is not a whole lot of assurance in my opinion. Performing strawman grooming only will almost always result in extended timelines to fight the fires caused, which will in turn impact your project costs negatively.

The second step is called ‘Woodman Grooming’. This involves sub-categorising the user stories into features so that features may be grouped to be built together. Dependencies, user experience flows, the technology being used to build the feature would be considered in detail in this step. At this point you can expect to have around 50% assurance that the feature built matches its intended design. Not grooming to this level will result in duplication of work and could result in building one function is direct opposition to another function. Sounds bad, right?

The third step is called ‘Steelman Grooming’. Once again as the name suggests, this is a very robust level of grooming. This step includes getting into the guts of the requirement from every angle including business rules required, scope of any automation and negative and exception scenarios. At this point you can expect to have around 80% confidence that the feature built matches its intended design. Grooming to this level ensures there are no nasty surprises that could cost your project big in time and money. Considering 70% of technology projects fail, why risk it?

If I had to choose one of these grooming items as being the most important, I would choose the effort estimation. I understand how time consuming it might seem to define this for every user story, however, it will pay off in the long run. It will be your crystal ball and save you time and money and a lot of headaches in the long run.

When should I perform backlog refinement?

Ideally backlog refinement should be conducted 2-3 sprints in advance.

Refine to stay within the timeline

It may be that you think you already are grooming your user stories before building, however without structure to the backlog discussion such as above, it will often be very difficult to deliver the user stories within the committed schedule or sprints.

Don’t think that once you’ve groomed your requirements that you need never speak of them again either. In an agile world, the backlog is an ever-fluid landscape. The project team should be constantly removing user stories that are no longer relevant, creating new user stories in response to newly discovered needs and re-prioritising user stories still in the backlog.

Now take a moment to think about the technology projects that your organisation has previously embarked on. Were they successful?  Was backlog refinement completed consistently? If not, do you think it would have produced very different results? My experience tells me that it would!

Process_Mapping_Workshop

Process mapping your way to utopia

So, you are planning on embarking on a technology project. You and your staff have a good understanding of your current processes and the issues faced within that process. You’ve identified bottlenecks and key pain points. You’re ready to start gathering your requirements and build a solution! Or are you?

Maybe someone in your team has it all in their head how they want the new process to work. Maybe it’s the product owner. But is that a shared vision? Much like how individuals’ imaginations can create a completely different looking and sounding character in their heads when reading the same book, (I’m still shaking my head at the chosen portrayal of Professor Umbridge in Harry Potter and the Deathly Hallows), different members of your team might have a different idea of how your future state process should look and work.

How can your team crystalise the future process vision if you don’t even yet know what technology is available to you? You don’t know whether the ideas you have will work until you’ve tried them. You can’t just make up a future process out of thin air, can you?

Knowing your current state means knowing your future state

Technically no, but logically you have all you need to make a start on your future process utopia. You know your business like the back of your hand. You have a wealth of experience to draw from within your team in your industry. Maybe you even have a wealth of experience spanning other industries to draw on in your current resource pool. If so, think yourself lucky as these little nuggets are often where the most out of the box thinking originates from.

Now ask yourself, if you could implement a process that solved all of the issues identified, what would it look like? Now map it out. Map the process considering what the activity is being performed, who is performing the activity and what technology is involved. Quite often when organisations do this, they are left with a vastly different visual representation from their current process. The map of future process utopia will be greatly simplified and creates a visual baseline to start the process of working out how you are going to solve the problems faced.

Here is an example of a real current state vs future state process maps from one of our clients. The original process involved 3 separate processes whilst the future state process involves only one.

From this……..

Current State Process 1    Current State - Process 2   Current State - Process 3

To this…………..

Future State - Process 1

If you do not, beware

You’re probably thinking, I don’t need to do that, everyone in my organisation is on the same page. We have a shared understanding of the issues we face and how to solve them. Besides, nothing bad will happen if we just jump straight to building the requirements without mapping the future process….
Well I am here to tell you bad things can happen. If this step is missed, you may fall into the trap of building exactly the same system, but you’re now hundreds of thousands of dollars worse off. Why waste an opportunity to re-think your process? Why risk building a replica system that works within the confines of your current process or technology limitations?
Obviously, a bit of common sense needs to feed in here. You still might have certain parameters that you must work within, for example if a solution goes against a legal compliance requirement, you should probably keep those kinds of things in the back of your mind at all times.

Change management benefits

The added bonus of mapping a future state utopia is that it creates “buy in” from your staff. Because the process is so stripped back, it is easier for them to digest, take a step back and breathe it in. It also creates excitement about the future state, without all of the current problems.

Process mapping utopia leads to change

Just because you’ve mapped your future utopia, this doesn’t mean it’s set in stone. You’ll undoubtedly have to make tweaks along the way. The design idea you had may not being feasible or possible. You may have to add or remove steps to cater for new legislative requirements or government regulations. That’s okay. The purpose of mapping your utopia is to get your team to start the process of thinking differently more efficiently, free of the current constraints.

Once you have visualised your future state utopia, you can start gathering requirements that fit in with this new framework. After you have chosen the technology solution that will be implemented, you can work backwards at refining your future state process based on the requirements that are being met by the technology solution.

I guarantee you will end up with a very different result than if you had not mapped your utopia.