Essential Guide

Gathering and managing software project requirements

A comprehensive collection of articles, videos and more, hand-picked by our editors
Get started Bring yourself up to speed with our introductory content.

Use story mapping for more customer-focused apps

Story mapping can replace requirements gathering and shows developers what is needed to solve business problems in end users' workflows.

Requirements gathering is a complex, error-prone and often hazardous process. Requirements are a poor definition...

of business needs because new features are rarely required. Features may be desired, but they're not needed for the application to function. In software development, the focus should be on improving a product for the end user rather than proving that requirements have been met. Story mapping replaces the need for requirements gathering. Using story mapping to gather and manage requirements results in a strong customer focus and software changes that deliver true end-user value.

User story mapping is an Agile development technique that reveals what is needed to solve the business problems in the end users' workflow. This approach meets the goal of software development, which should be to create products that give end users the ability to solve or avoid problems.

Developers can use story mapping techniques to organize, manage, prioritize and define stories that deliver maximum value to the end user. User story mapping adds value by making stories specific, understandable and testable for the development team, which results in a more effective Agile development team and a stronger, customer-focused application.

Build story maps with horizontal slices

Horizontal slicing, a key concept in both Agile and in story mapping, is a way of dividing and organizing stories around deliverable features. The idea is to get all of the stories associated with a particular feature lined up side by side. Each horizontal slice should include everything that needs to happen to deliver a single feature. From there, subsequent features can be stacked vertically. The highest-priority features move to the top.

The process of mapping out, prioritizing and building slices during story mapping creates understanding and communication.

Arranging a story map according to horizontal slices helps the team work on one new feature at a time, all the way through to the final result. In other words, teams take a new feature and plan a slice (or series of user stories) from start to finish in the code. In the next iteration or sprint, the team plans the second slice. At the end of a release cycle, the feature works from beginning to end.

For example, imagine building an online bookstore. The whole feature set includes a way to display inventory, a search engine and purchase or checkout options. The first horizontal slice might be searching for a book by title, selecting the book and purchasing it via PayPal. The process of buying the book is complete but has only one option. The next slice may include searching for a book by author, selecting the book and purchasing it with a credit card. In both, the code is different, but it slices across the whole order process. Also, the option to search by title or pay through PayPal should still exist. Regression testing would be needed to ensure that earlier features still work properly.

Manage end-user value

Managing end-user value is the purpose of gathering customer software requirements. With story mapping, a team that includes customer representatives maps out features and stories slice by horizontal slice. In other words, as the map is created, new features and the way they fit together are fleshed out by the team. Because the team includes either a customer representative in the form of a product owner or a customer end user, the focus remains on the value to the end user.

Team members build the map story by story, based on the needs of the project. Large features are broken down into manageable, iteration-sized buckets of work. Additionally, the team discusses the purpose of the project, as well as design options, possible integration issues and messaging or communication needs. In all, the full scope of the project is discussed in an open brainstorming session where ideas flow freely. Stories are built to define what needs to be done, and include acceptance criteria to fulfill end-user needs.

These discussions should be kept practical and focused on the value to the end user. Well-run story mapping discussions give the team a full workflow in iteration increments that can be re-discussed and re-planned quickly if end user needs change along the way. Story maps are an effective method of gathering and managing requirements while retaining customer focus.

Creating a story map builds in prioritization almost immediately. Although maintaining a horizontal slice is difficult for any team, it's essential to assist in balancing priorities. Many times the easier stories float to the top because the team can do them sooner and with less impact to an existing code base. However, it's imperative that the team stay the course and prioritize both the easy and more difficult stories in order to maintain the horizontal slice. After all, the purpose of the horizontal slice is to prove the concept across the application. Any issues discovered while working more complex stories could alter the direction of the entire project. The team should plan to tackle complex stories earlier rather than later so it can address problems and revisit the design if needed.

Ask the team to group the simple and the more complex stories, decide how they fit into the map, and prioritize them accordingly. Remember, the higher the priority, the more likely it is that a story may be part of the initial horizontal slice. But the full map helps the team prioritize stories equally.

Priorities change, so keep the team's map available for frequent discussions and changes as they work through the project. Because most priorities will change over time, the team may consider prioritizing only by iteration, not the full project. Prioritizing one horizontal slice at a time may save time in the long run by reducing rework or meeting time.

Create understanding and communication

The process of mapping out, prioritizing and building slices during story mapping creates understanding and communication. If the story mapping discussions include both customers and the development team, both come away with an understanding of end-user value, and what needs to be done is communicated specifically.

Story mapping solves communication issues around what the project is accomplishing to improve end-user value. After all, a customer or product owner is there to change the details or priority of the story if necessary. At the same time, developers communicate directly with other team members and come away with the specific details, acceptance criteria and customer feedback that typically is nonexistent.

Story mapping, although time-consuming in the beginning, makes everyone's job easier by making details and end-user needs clear. All participating team members take responsibility for asking questions, listening and executing all details of the design with active, responsive participation. Everyone gets the communication and the understanding they need at the same time, together.

Granted, the story mapping process isn't easy. Initially, it's difficult to get active and attentive listening and participation in discussions. Understanding how horizontal slicing creates value is hard to grasp at first because the first slice has to be finished to see the value. However, as a team's comfort level increases, active participation increases. Horizontal slicing reduces chaos, confusion and rework, to the benefit of the application and the end user.

Next Steps

How do you manage software testing processes on an Agile team?

Get to know software requirements gathering techniques

This was last published in February 2015

PRO+

Content

Find more PRO+ content and other member only offers, here.

Essential Guide

Gathering and managing software project requirements

Join the conversation

5 comments

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

What do you think of story mapping? Do you see it being useful to your company?
Cancel

Delivering something that does not make sense to your customer is completely useless. Initially your customer may adopt your systems but eventually he may realize that the system doesn't actually yield benefit.

This situation can be taken care of from the beginning itself, Story mapping is understanding your customers better with putting yourself in the same scenario, doesn't it make more sense???? Developing and delivering something that they really need.

One big misconception in the industry is that OOTB functionalities of many systems seem to being posed to customers, that doesn't seem to be very promising in the long term and may also threat long term business relationships if not implemented properly.

 Story mapping seems to be a solution here. For an actual customized solution development.

Cancel
Every business is unique even if we do our worst to lump them all into groups of lookalike strangers. To succeed, to help those businesses succeed, it's vital to listen long, learn much and implement the best. Cookie cutter solutions don't work very well and certainly don't last very long. Customer facing solutions work well and create better working clients. Isn't that the real goal?
Cancel
We have done something similar to this in the past, and I preferred it over the way that our stories are currently written and organized. Our stories are often confusing and don't provide enough information for the developer or the tester. They are also not horizontal slices.
Cancel
Amy, great article. We've introduced story mapping to several of our clients with measurable success. One, comment, putting some graphic illustrations of story maps would help in visualizing its application.
Cancel

-ADS BY GOOGLE

SearchMicroservices

TheServerSide

SearchCloudApplications

SearchAWS

SearchBusinessAnalytics

SearchFinancialApplications

SearchHealthIT

Close