My very first professional programming job was at a large bank that had invested in a full UX lab. One-way glass, cameras, and a full setup where we could watch real branch staff using the software we had been working on.
I expected that we would get useful feedback about how the users would be using the software but I was completely unprepared for how they struggled with what had seemed obvious to us. They looked for features in what we considered to be all the wrong places. Nothing that we had built seemed intuitive to them, even though we were sure it would be.
At the same time, things that we thought the users would struggle with, turned out to be easy for them.
Almost every assumption we’d made about how they would use the software was wrong.
This lesson was incredibly valuable to me, and the more often we ran products through the UX lab, the fewer surprises we began to have. We were learning to see the system through our users eyes and were able to build things that were more immediately useful for them.
When we slice our work into “user stories”, we’re trying to give a glimpse through our users eyes. The whole point is to solve a problem for them, not just get in their way. Most teams don’t have the opportunity to run their code through a UX lab or even to talk to people who will use the system, so these stories are a weak proxy for that.
All too often, what we call “stories” are really just tasks. Do this thing. That doesn’t tell us anything about what our users are actually trying to do and as I learned early on, what we tend to assume is usually wrong. Better stories will yield better software.
Keep them focused on value. What is the user actually trying to do? What value do they get out of that?
A story is the smallest unit of value passing through the system. Stay focused on that value. If you were in the UX lab, what would the user be trying to do and why would they want to do it? Would your software help them achieve that value or will they be struggling, trying to make it do what they want?
- Slicing stories
- Slicing epics (or anything bigger than a story)