J.D. Meier's Blog

Software Engineering, Project Management, and Effectiveness

Scenario Maps Roundup for ADO.NET, ASP.NET, Silverlight, WCF, Windows Azure, and Windows Phone

Scenario Maps Roundup for ADO.NET, ASP.NET, Silverlight, WCF, Windows Azure, and Windows Phone

Rate This
  • Comments 0

image

Scenario Maps are a simple way we collect, organize, and share user scenarios for a given problem space or technology.  They serve as a fast and scannable index of the problems that users face.  They are one of the most effective ways to see the forest from the trees.  Rather than get lost in a single scenario, they are a step back and a look across all the key scenarios.  This helps for ranking and prioritizing the problems for a given space.  They are also a powerful way to perform competitive assessments, shape a product, and to drive prescriptive guidance (I’ve used Scenario Maps to create platform Blue Books for patterns & practices.)

Here is a roundup of my most recent Scenario Maps related to building block technologies for building applications for Cloud, Web, and Phone, and for building Web services:

Why Scenario Maps
The better the map of the problem space we have, the better we can shape our platform and technologies, improve our tooling, and create more effective prescriptive guidance.  The key to an effective map of the problem space is creating a simple lens for the problem space, and getting customers to share their key scenarios.  When customers share their scenarios in a Scenarios Map, it helps make sure their problems are heard in a simple and effective way.  The better their problems are heard and understood, the easier they are to address.

What is a Scenarios Map
A Scenarios Map is simply a collection of user scenarios organized using categories.  The categories with the most pain or opportunity serve as “Hot Spots.”    You can think of this map as a “Heat Map” of user scenarios where “Hot Spots” bubble up.  This helps see show the forest from the trees and to prioritize investments.

5 Keys to Effective Scenario Maps
The most effective way I’ve found to collect customer scenarios is to create “Scenario Maps.”  The Scenario Map ends up being a highly scannable index of one-liner scenarios.  The scenarios serve as test cases that we can measure the platform, tooling, and prescriptive guidance against.  An effective Scenario Map has five key attributes:

  1. “How To” - Each scenarios is stated using a one-liner “how to” statement, such as “How to connect to SQL Server from an ASP.NET Application using ADO.NET.”   This is crucial.  This helps turn a scenario right down into an actionable goal that can be easily understood, analyzed, and tested against.
  2. Hot Spots – Hot Spots are simply categories that group the scenarios.  Think of the problem space as a heat map.  On this heat map are pain points and opportunities or key choice points.  By focusing on the extreme pain points or opportunity, you can simplify the map and get the highest ROI.  This also keeps the map dynamic, since patterns of problems can keep bubbling up and then create a new category or Hot Spot.   
  3. Prioritized – In the early stages, a Scenario Map is simply a laundry list or brain dump.  But the key is to refine this map over time.  As you refine this map, you get rid of duplication, improve the clarity of each scenario, and you prioritize the lists.  While I’ve prioritized using P1, P2, P3, I’ve actually found it more helpful to prioritize using “Core,” “Common,” and “Niche.”  Core represents the most fundamental scenarios.  Common represents the common cases, which you can find with SEO or by getting a group of domain experts in a room to share their stories or by combing the forums.  Niche represents the corner cases or advanced scenarios, such as extreme security, performance, reliability, or architecture and design patterns, or advanced deployment patterns, etc.
  4. Durable but evolvable – The Scenarios Map should be durable in that the categories (Hot Spots) reflect patterns of problems.  However, it’s an unfolding process so the map should easily evolve as you learn more about the space and continue to collect scenarios.  The durability helps create a shared map of the problem space, while the flexibility helps the map address the changing needs in the space or reflect your current understanding of the space as it continues to evolve.
  5. User scenarios – If the scenarios aren’t from users, there’s a problem.  The idea of the map is to capture and share real-world problems from users.