Episode #149 Jeff Patton - Story Mapping for UX Practitioners: Tying Agile and UX Together
Story mapping is a way to build a model of user experiences. More than that, in the Agile context, it allows you to tactically plan for what should go into each release. It is a way to get everyone on the team thinking and talking about user experience. Getting people into a discussion mode starts to create a very collaborative environment. Jeff discusses how to create a story map and how it fits into the Agile process.
Story mapping is a way to build a model of user experiences. More than that, in the Agile context, it allows you to tactically plan for what should go into each release. It is a way to get everyone on the team thinking and talking about user experience. Getting people into a discussion mode starts to create a very collaborative environment.
Jeff Patton is a consultant and expert in Agile development. In his sold out virtual seminar, Story Mapping for UX Practitioners: Tying Agile and UX Together, Jeff outlined how to create a story map and how it fits into the Agile process. Jeff ran short of time to answer all the questions during the seminar, so Adam Churchill caught up with him to answer those remaining for this podcast.
Here’s an excerpt from the podcast.
“...A lot of the answers to selling [story mapping] is, to not, just get started. If people can see and physically engage with something big and something they can touch, [the answer is] to get it up there and get them to engage in it. I've seen a lot of folks spend a lot of time trying to introduce the concept to people, trying to convince people it's a good idea for them to do it. If you're a user experience person, build one of these maps on the wall, physically in your area, and if you've got someone to collaborate, lead them over to it and say, "This is what I'm seeing happen. The person using our product is doing this, this, and this. And here's where the real pains are." And when I'm working with people on these things, I really watch closely for their body language. I watch for people to start to point and start to use words like "here" and "there" and "down here" and start to engage with it. I've found that these things end up selling themselves. Trying to sell it doesn't work. There are a lot of products that are hard to sell. And I think I've heard from people talking about TiVo this way. TiVo has a hard time telling people what their product does and why you like it, but you use it and you know why you like it. And it does better being sold via word of mouth, or maybe you just have to experience it...”
Tune in to the podcast to hear Jeff address these points:
- Who do you have build the story map?
- How do you get the right people in the room?
- How do you story map when you’re designing with multiple personas in mind?
- How many users should you interview prior to building the story map?
- How do you ensure non-functional requirements don’t fall through the cracks?
- How do you scale this process to different-sized projects?
Adam Churchill: Hello, everyone. Welcome to another episode of the SpoolCast. Jeff Patton recently joined us for a Virtual Seminar titled "Story Mapping for UX Practitioners: Tying Agile and UX Together." Now, the seminar sold out, and the activity we were watching in both the Adobe Connect room as well as the Twitter stream was a lot of fun to watch. Lots of good comments, lots of good questions.
Jeff's seminar spoke directly to folks working in an Agile environment who struggle with knitting user-experience design practices together with the iterative process they work in.
Jeff's graciously offered to come back and tackle some of the questions we didn't get to address in the seminar. If you didn't listen to this particular seminar, you can get access to the recording in UIE's growing User Experience Training Library, which presently has over 70 recorded seminars from wonderful topic experts just like Jeff Patton.
Hello, Jeff. Welcome back.
Jeff Patton: Hello. How are you doing today?
Adam: I'm doing very well. We had a lot of fun yesterday, didn't we?
Jeff: We did have a lot of fun. We packed a lot into a short amount of time.
Adam: Well, let's get right to it. For those who weren't able to join us yesterday, can you give them an overview of what we did talk about?
Jeff: Yeah. My goal was to introduce people to a practice, something that I've been doing for a lot of years and something that's growing in popularity. A lot of people are doing this. We focused on story mapping. And for a UX person, I'll tell them story mapping is a way to build a map of user experience, something like task analysis.
I've seen lots of flavors of task analysis that yield sort of a map that looks like a story map. But if you're working in an Agile context, you've got to build a backlog and come up with a bit of a tactical plan for what we're going to put into a release and how we break it down into bits and pieces to build.
So we talked about that idea of a story map and how it sort of plugs that hole. And the big benefits, for me, are we're able to tactically plan and execute like we need to do in an Agile context, and we're able to get everybody thinking about user experience. So, for me, this is why it's a bit of a bridge-gapping practice.
So during that talk, we talked, basically, about what an experience map was and how to quickly create those. And then we went into a lot of depth about what user stories are and what they aren't. And one of the biggest misconceptions, or one of the questions I hear constantly, is "How do I write good stories?" One of the points to make about stories is they're called stories because they were meant to be heard. They were meant to be discussed and talked about, and how they're written isn't as big an issue as what people talk about and what pictures they form in their heads.
Definitely, we have to write things down, but the form that we write them is really contextual. Then, when we combine these ideas, of the idea of a story or the things that we talk about and the idea of something like an experience map that lets us see the big picture, that's where we get the story map.
After introducing that idea, we talked about the basics of how you build a map. Start by getting the big picture, what I would call the backbone of the map, down, and some of the details, then how we pile in lots of details. And then, where we ended up with was talking about how we use that simple square structure of a story map to carve out or slice up a product into incremental product releases.
This is where I think the shape of the map shines. It arranges information left-to-right based upon users' experience and decomposes it top-to-bottom into parts. And when I slice it left-to-right, I start planning or thinking about releases in holistic product slices. And I get better releases. I get both thinner releases, releases that have less in them, and more comprehensive releases, releases that really satisfy users' needs.
That's where we ended up. There was a last tail-end section that I came into the seminar hoping that I could fold time or do a lot more than we did. And the section we didn't get talked about tactically working with story maps, and tactically working with stories for that matter, during Agile-style iterative and incremental development.
Adam: Well, let's get to some of those questions that we didn't get to answer yesterday. There was a question about, how do you sell to the group, and how do you get started with that group?
Jeff: A lot of the answers to selling it is to not, to just get started. If people can see and physically engage with something big and something they can touch, it's to get it up there and get them to engage in it.
I've seen a lot of folks spend a lot of time trying to introduce the concept to people, trying to convince people it's a good idea for them to do it. If you're a user-experience person, build one of these maps on the wall, physically in your area, and if you've got someone you've got to collaborate, lead them over to it and say, "This is what I'm seeing happen. The person using our product is doing this, this and this, and here's where the real pains are."
And when I'm working with people on these things, I really watch closely for their body language. I watch for people to start to point and start to use words like "here" and "there" and "down here" and start to engage with it. I've found that these things end up selling themselves, and trying to sell it doesn't work.
There are a lot of products that are hard to sell. And I think I've heard from people talking about TiVo this way. TiVo has a hard time telling people what their product does and why you like it, but you use it and you know why you like it. And it does better being sold via word of mouth, or maybe you just have to experience it. Does that make sense?
Adam: It does. It does. And yeah, there's a list of products like that. Twitter would be, I guess, another good example. You don't really understand what it is until you use it.
Jeff: Yeah. Yes. Something like that.
One of the key points out of yesterday's discussion was, and several people pinged me afterwards, and I'd asked them, "What were your takeaways from this?" And I strongly made the points that it's not what's written on paper that matters; it's what's in people's heads that matters. We're working really hard to collaborate together and form shared understanding in people's heads, and that's a value that people don't focus on much, and it's a real benefit we get out of these big, simple models on the wall.
Adam: So, Jeff, who do you have to have in the room to build the story map? Do you involve clients, the development team, the user-experience designers? Who's in the room?
Jeff: What's interesting about a story map is--well, I'll go back. I'm lazy. I don't want to build multiple things. A story map, initially, for me, is about thinking through and understanding user experience. Subsequently, it's about explaining user experience to other people. And then when we start breaking things down and planning, it starts to be, well, about that, about planning and about tactically figuring out how we're going to get this product built. And there's different audiences for each one of those activities, as you can imagine.
When initially using the story map to kind of understand what I'm doing, maybe this is a habit I picked up from working in an Agile context. I like to pair, and I've seen a lot of designers that focus on pairing. And there's an old Yogi Berra quote: "Pair up in threes." So I like these small groups of two, three, sometimes four, to think through and build things. It's a single-pizza-sized group. These are the people you want to pull together, that have some understanding, to initially build the map.
Once you've got a map initially built or initially structured, then I want to start to pull in other people with different kinds of experience, different sorts of subject-matter experts, and I want to vet my understanding with them, and I want to add to it and change it and richen it up. If, by building the map, I see I've got holes, and I've got to go out and do more research or learn more, then I might do that and come back and fatten up the map that way.
Then, once I've got a little bit of a map that starts to explain a product, oftentimes we've got to share that with other stakeholders or share the vision of what we're getting with this product with other people. So we'll bring people in. And the purpose is not to add to the map or validate it so much as use the map to explain, "This is how we see people using this new product, and this is the flow of that use, and this is how it breaks down into pieces.
Then, downstream, when we have to start taking this apart and planning it, that's when we want to pull more engineers and more QA people, other people that know, tactically, what it's going to take to get this thing built, into the room.
So it's not if all those other people should be involved. It's more of a when they should be involved.
Adam: Any tricks to helping you understand if you've got the right people in the room?
Jeff: Adam, looking back, there was a question. And I'm going to repeat somebody's question. What if a key stakeholder, a product manager, checks out of the process and starts thinking, "That's not my job. It's engineering's job"? And the reason I'm bringing them up is, how to tell you've got the right people in the room, sometimes they sort of vote with their focus, and if they're losing focus, they may very well be the wrong people.
Now, getting the right people in the room. One of the things I'll focus on is a team, I leverage a mantra and often draw a Venn diagram that looks at these three concerns: valuable, usable, and feasible. Valuable to the organization building the product, usable to the people that end up using it, and feasible to build.
Now, strictly speaking, if it were just building a map of user experience, I could just focus on people who understand users and how they work with things, and the right people to initially build the map could be just user-experience people. Some organizations just have business analysts that take care of that capability.
But I want people in the room that are also thinking with their business hats on and really gaining some empathy and understanding for users. And while they may not be contributing to the map, I want them in the room.
Then there's a dysfunction I commonly see and everybody commonly sees. A business comes up with a great idea. User experience works out the details of how users need to work with it. And then we produce all those details for engineering and engineering says, "That's going to take a long time to build." And then we go back to the drawing board because it far exceeds the budget that we've got.
Having engineering in the room earlier on gives us early warning for that, and oftentimes gives us perfectly reasonable ways we could do things that would be cheaper, more cost-effective to build and still satisfies users and still reaches the business needs.
The right people in the room for me is a balanced team that includes someone who understands some engineering concerns, someone who understands business concerns, and initially, when we're building out the experience, people that deeply understand users' experience today and then the experience we're striving for with the new product.
Adam: Edwin wanted to know how you do the story mapping when you're designing with multiple personas in mind.
Jeff: That's a great question, and I'm glad you asked it. I'll answer another question first, or point out another concern first, and then answer it a little bit more squarely.
There's a standard user story template that's used by a lot of people in Agile development. It's the, as a kind of user, I want to have something do something so that I get some benefit. And that template, in the "as a," it seems to call for one answer there. And for me, I'm always looking at the product from the perspective of multiple personas or different kinds of people that would use the same functionality and have different concerns when they're doing so.
Edwin's question was, how do you story-map when you're designing with multiple persona's in mind? The story map is about the product and it's about the experience. Gosh, it's a little bit about both. You need one map because you're going to build one product.
Initially, to get the shape of the map in place, I'll think through it from the perspective of one persona and get the backbone and the basic shape of the map going, and the basic shape of the map starts to reveal the shape of the product. And then I'll grab other personas with different concerns and walk through it from their perspective and see if it breaks it, changes it, does other things.
And to remind people that this product is for multiple personas, at the top of a story map, we've got big activities that break down into users' tasks, and those break down into the tactical details of what we might build. Right above those activities or above sections of the map, I'll post those multiple personas or hang them there, so that people can see, clearly, these big activities in this map serve these different personas, and they have different concerns.
Let me give one more detail here. Some folks that are building an application where multiple personas use the same functionality will go through and tag all the stories. They'll tag their personas each with different-color dots, let's say, and then go through and tag all the functionality that's particularly relevant to one persona with that color dot.
This does a little bit of an analysis so that we can see that for these personas, they're really concerned about this functionality; these personas are concerned with this other functionality. And we can see a bit of overlap that way, too.
Adam: So when you're doing that research, how many users do you need to interview to know that you've got what you need to build the story map?
Jeff: Research is a troublesome thing for me. I'll be honest with you. I came to doing what might be more rigorous user-experience work in about 2001. Before that, I was just spending a lot of time with users and building stuff, and I didn't know that I was doing research. I would spend a lot of times with users using the software. Maybe I didn't know that was contextual inquiry. So it wasn't so rigorous. It was after 2001, when I dug in deep, that I started realizing, to be rigorous, I probably should be doing a few other things.
Now, if I fast-forward, I often find that organizations don't do any research, because to do it rigorously takes a lot of time. So they go back to doing what they were always going to do, and they follow what I heard Jared call the MSU process, or "making stuff up," only Jared didn't use the word "stuff."
Jeff: So, how many users. In working with some folks, for every distinct audience segment or role, I've heard general guidelines of three to 10 people. And it depends on how much variation there are in those roles, so if I were covering half a dozen roles, I might be interviewing lots of people.
However, one of the strategies I leverage when initially building personas and initially building story maps is to leverage tacit knowledge that's in the room. Pruitt and Adlin talk about building assumption-based personas, and I build assumption-based story maps and assumption-based personas. By initially building a story map, we make clear what we do and don't know, and then we can look back at this and say, "Gosh, where is our information hazy?"
Then let's design a research plan that helps us not just learn about people. Since we're modeling work or activity with a story map, my research plan can be very focused on the specific activities where I don't know anything. And more importantly, if we've got businesspeople in the room, we're looking for this intersection between stuff I don't know and stuff that matters a lot, and that's where we're going to focus. [laughs]
Adam: Jeff, just a couple questions on nonfunctional requirements. And Ariadna asks, "If story mapping mostly concerns itself with functional requirements, how do you ensure that some nonfunctional requirements don't fall between the cracks?"
Jeff: That's a great question, and that's a great question that's applicable in any software-development process or any scheme to try and get your head around what requirements are for what to build.
So I don't know if I have any fabulous answers. And one of the shortcomings sometimes with user stories in general is, I mentioned the initial idea of user stories, where you write down something and have a discussion, and out of that discussion comes the details of specifically what to build, and over time, the goal is to get smaller and smaller stories so that we could build smaller and smaller things.
When you look at nonfunctional requirements, the things that automatically pop to mind for me are things like scalability and performance and usability and all those things that people call "ilities." Security, which doesn't end in "ility," that's one of those also. These are big, cross-cutting concerns. I don't just implement the scalability story and call it done. They're quality characteristics of the product, just as usability is.
You don't measure usability on a single check-box. It's not necessarily sensible to if we're concerned about usability of someone accomplishing a whole task.
So, let's track back. Those sorts of nonfunctional requirements, yeah, we don't want to lose them, but they're cross-cutting. They're big. I find that the story map helps me a lot because they're often activity-centric, and the story map reveals what those are. So I might have particular scalability and usability and performance concerns in one particular activity and a lot lower scalability-usability-performance concerns in another. One of the things I've done personally is go up to that activity level and document or record stuff at that level.
As Ariana asks, how do you keep them from falling through the cracks, or falling through the story so to speak, oddly, it's not easy to make them stories. They become concerns that we constantly pay attention to during development. We constantly do things to measure usability, maybe by testing, measure scalability by testing, except different kinds of testing.
Then, as we encounter problems, that's when we get these more emergent, tactical stories that we inject to fix things or make things better. I document the concerns up at the activity level, and I would pay close attention to them during development and inject stories to correct problems as I find them.
Adam: One of our attendees acknowledges that he understands how you break stories into smaller chunks and chunks that you can develop in shorter time frames, but how do you do the same with those usability tasks that encompass full systems, like ease of use?
Jeff: [laughs] I'm looking at Eduardo's question, and he also has a cool term after that. He says "confusability," which is a term I'm going to use from here on out. [laughs]
Usability is a nonfunctional requirement. It's a nonfunctional requirement sometimes. Some people are more focused on the technical nonfunctional requirements, but things like usability is a strong one. And just like other nonfunctional requirements, they're big. Like Eduardo points out, they're not localized to a little story.
We have to look at them as a cross-cutting concern. And it's during this iterative and incremental development, we have to keep asking, "Is this activity usable?" And we add more stuff to it: "Is it still usable?" And we add more stuff to the software: "Is it still usable?" We keep checking that stuff over and over again.
And exactly how and where that goes in Agile software development, and exactly what story card it gets written on, well, there's no set answer for that, and there's no one story card it goes on, and it's not so simple. I find that you've just got to keep your head engaged [laughs] while you're doing this stuff. And again, back to the previous question we talked about, I like documenting those concerns at the activity level, and I like testing for those concerns at the activity level.
Adam: One last question, Jeff, and I know that you and I talked about this one as we were kind of mapping out this podcast. And it's a bit broad, possibly vague and tough to answer out of context, but I'm going to ask you to give it a shot because I think it's important for our audience. This technique of story mapping, how do you scale it to different-sized projects?
Jeff: [laughs] When we were talking ahead of time, I winced a little bit, because I get asked this question all the time. I find that different people who ask "How do you scale?" mean very different things.
So when we look at scale with respect to different-sized projects, I hear some people mean we have a lot of people working on this project. In some contexts a lot of people means 20, and in some contexts a lot of people means 200. I know some organizations where they put 20 people on the project, but those 20 people are spread across five different countries.
Scale, for them, isn't big in terms of number of bodies; it's big in terms of number of time zones. I hear people talk about scale in terms of how big the product is: "This is something that's going to take a year-plus to build, and it's going to take dozens or over 100 developers to build it." Scale means a lot of different things to different people, and it has to do with size of teams, size of product, geographic distribution, lots of other things.
So, given all that, given the question, my first question is usually to ask people back, what do they mean by scale? What I tend to find, though, is, for big products, for instance, it becomes difficult to build a story map for the entire product. That's tough.
I'll find I'll end up building a lot of local story maps. We'll break a big product down into separate problems and then map that problem and look at a single experience or a single activity. And I might create a big map for the entire product, but create it at a higher abstraction level. And it becomes more informational. It becomes not tactical. I don't use it to find the detailed stories to push down to individual teams. Rather, I use it as some way to connect individual pieces that are going on with different teams or different groups of people.
And then one of the questions we answered in the online seminar and I always get asked, what about geographically distributed teams? That's always an element of scaling also.
At the beginning of this, we talked about these different activities that revolve around a story map, and one of them is initially constructing it and filling it in and doing some planning. I find that nothing beats getting a core, small group of people to initially build that map, and getting them together face-to-face to do that. And even in big, geographically distributed teams, it doesn't work to get a big group of people together anyway to do it. Get a smaller group of people together, and then the problem becomes, "How do I socialize that with a lot of people?"
And you get excellent story-map visualization practices, like Todd Warfel's Task Analysis Grid. I don't want to claim Todd Warfel's practice as a story-mapping practice, but gosh, that Task Analysis Grid is a perfect representation of a story map that also conjoins a lot of the missing context that's not always in a story map, like users and where they're using it and pain points. There's a lot of great things in that.
If we've got a large team, oftentimes it's a small team that builds the map, and oftentimes we then need to build something that's more of a design-communication version of a story map, to share that with other people.
Adam, I've hit a number of different elements of scaling, and we could probably go deep into that for a while, but it's a sticky subject.