The goal of a reality map is to help you define the real world process you are trying to solve. It’s a way to facilitate your information gathering experience and keep focus on what is important. It reveals questions about your project and helps get answers to those questions. And its the best way I know to start a new software project – whether you are building a new app or adding modules or major features to existing apps.
How does it work?
You start by defining the real-world workflow for your project. Break it down into steps from start to finish. You define each step along the top of the tool that you are using. It should be organized so that each step is a column heading.
Under each column, you post questions, comments, and ideas about that step.
- Questions – What don’t you know about the step that you would ask an expert of the topic?
- Comments – What do you know for sure, or what assumptions are you making?
- Ideas – Thoughts on how it will be built, look, or act.
You can, and should, get it started with 1-2 people. That is enough people to build a solid foundation of steps and questions. It should take less than an hour once you are practiced in this process. The key is to keep conversations short and limited. No tangents are allowed. Post your thought as one of the above three types and move on. You’ll want to keep one of these two people on as facilitators to future discussions.
Review your map with members of your team. Make sure you include people of all discipline to get varying questions. Don’t hesitate to add new steps when they are proposed. Just try to limit the number of reviewers in each review. Its preferable to have a lot of review sessions with small sets of people over one review session with lots of people. You get more accomplished in less time with smaller teams of people.
You’ll primarily generate questions and ideas to this point. That is intended. Now it’s time to review the map with your experts. Their goal is to answer your questions. Again, keep review groups small. Get as many answers as you can to the questions with each expert. And be open to have more discussion with the experts. It’s likely they’ll answer more of your questions that way. You just need to make sure you get your questions answered during that discussion.
After reviewing with your experts, you should have most of your questions answered. If any remain, it will be up to you to answer those questions. By this point, you should have enough information to make an educated best guess.
You want a map full of answers when you are done building the map. When its done, you can use it to quickly move into your next step of development, whether it’s user stories or something else. I find that the reality map can act as both a vision document and a requirements document in an agile process. It can be easily be referenced if needed as you continue through your process.
Rules for defining the workflow
The workflow is one of the hardest things to build. When you start out, you see all of the paths that can happen and want to define them all. Don’t do this. You want to focus on the primary path. Keeping the steps as high-level as possible helps simplify your paths. Comments in the step column can define where paths may deviate.
If defining your workflow is troublesome, then you might have too broad of a focus. Try to break your idea down into different subsets, or epics, and pick one to start with. This will make other steps of your process easier as well.
What do you need?
You can go low-tech or high tech to build your maps. If your team is in one location, you can use a whiteboard. All you need is a few different colored post-it notes and some whiteboard markers. If you have a distributed team, you’ll need something more high-tech and digitally shareable. An excel spreadsheet works, or a tool like trello, or another tool might fit your need as well. You can even combine a whiteboard with video conferencing tools. I’ll be posting some future articles to explain my methods for doing this with both a whiteboard and with trello.
Overall, starting a project with a reality map is a good start to any software project. It’s a brainstorming task combined with an information gathering process. It provides you with concrete foundation that will launch you into other steps of your process.