What proven practices have you seen are vital behaviors that significantly contribute to customer success with our platform and products? …
That’s a common question I get, having spent the bulk of my time at Microsoft in patterns & practices.
I get to see how customers struggle with products, platforms, and services, especially when it comes to pulling the Legos together.
Here is my attempt to distill some of what I’ve learned. Let me first set the stage that this information is primarily what contributes to a product’s success aimed at “developers.”
Bang on Products from Multiple Angles
Banging on products from multiple angles helps you see the good, the bad, and the ugly.
I’ve had a chance to see the good, the bad, and the ugly in terms of our products and how they land with customers. I’ve participated in many dog-fooding exercises, supportability reviews, platform evaluations, etc., so I‘ve learned what to look for.
Because I’ve worked across so many products and technologies, I’ve had the chance to see what success patterns, as well as anti-patterns, show up time and again. In fact, one of the things I often do is cross-pollinate the best practices that I see across various product teams.
As an aside, before I joined patterns & practices, I worked in Microsoft Developer Support, which means I was on the receiving end of customer pain, and I learned how to walk a product from a usability and supportability standpoint, as well as learn many of the supportability (and “un-supportability”) patterns.
A Quick Sampling of Product Success Patterns …
Here is a quick example to light up the idea of how some teams set the state for product success. For example, the ASP.NET team drove significant improvements into their platform early on through eating their own dog food and performing application building exercises.
This created a lot of empathy for customers and customer scenarios.
Having “Blue Books” or “Platform Playbooks” for security and performance helped win significant accounts, as well as create a glide-path for customers coming from the Java world.
The QuickStart for ASP.NET with it’s amazing set of “Common Tasks” helped many, many developers get up and running with the platform in a simple way.
Having a set of common baseline architectures and deployment patterns helped us show customers how to make the platform work for their scenarios in a proven and repeatable way.
Some Products are Destined for Success
To share what I’ve learned, I’ve created a simple frame that encapsulates some of the things that I’ve seen make a key difference.
Creating prescriptive guidance has always been a combination of creating a “driver’s guide,” test driving the product against customer scenarios, finding effective solutions and workarounds, and improving the story around qualities, such as security or performance.
During the process, I’ve found that some products are destined for success and have a strong customer adoption story out of the gate, while others face an uphill battle or never really succeed.
Sadly, I can easily see products that will fail, right up front too.
Product Success Frame for Adoption and Satisfaction
Here is the frame I’ve been using for sharing some of the most important product success patterns.
It needs some iterations, but it’s been useful so far for putting some key success patterns into buckets. The table below shares some examples of what would fall under these buckets. After the table, I’ve provide some visual examples to help illustrate.
How to picture, think about, and talk about the problem space.
- A Language for the Space (“Domain Model” / “Folksonomy” )
- Application Scenarios (Common Patterns)
- Canonical Architecture
- Customer Solution Stacks (common combos of product and technologies)
- Deployment Patterns
- Frame (Lens for looking at the space, what’s in, what’s out)
- Hot Spots (Top Areas of Pain or Opportunity)
- Pattern Language (Shared vocabulary for the key concepts)
Sharing and scaling expertise, including driver’s guides and proven practices.
- Action Guides (“Blue Books”)
- Application Blocks (“Blue Bricks”)
- Application Scenarios Catalog (Flip book of whiteboard solutions)
- Best Practices
- Checklists (Example – Security Checklists)
- Guidelines (Example – Source Control Guidelines)
- Getting Started
- How Tos (Example – Security How Tos)
- Platform Playbooks
- Practices at a Glance (Example – Team Build Practices at a Glance)
- Reference Application
- Resources Map
- Questions & Answers (Example – Source Control Questions and Answers)
- Quick Starts / Common Tasks
“Train-the-Trainer” material for wide-spread adoption and viral expertise.
- Architecture Kit
- Case Studies
- Offerings (MCS / Service SKUs)
- Rude Q&A
- Webcasts / Podcasts
- Capabilities Matrix
- Competitive Studies
Knowing your unique value and where you stand in the market or how you relate.
- Capabilities Matrix
- Competitive Studies
Building for the customer and with the customer to co-create a better future, as well as simplifying the user experience, and making it easy to find all the blocks.
- Customer-Connected Development
- Dog-Fooding (“App Building”)
- Feature List
- One-Page Spec
- Personas (Example – Personas at patterns & practices)
- Scenarios Map (Example – Windows Phone Scenarios Map)
- Scenarios Scoreboard
- Test-Driven Product Design
- User Experience Scenarios (Example – User Experience Scenarios)
Assume bad things happen to good people and making it easy to fall into the pit of success or get back to a successful state, or avoid falling off the cliff in the first place.
- Fault-Tree Model
- Supportability Review
- Supportability Whitepaper
Know the touch points and the constellation of channels where users interact with your stuff, along with the user experiences for each of those channels.
- 3rd Party / Partner Sites
- Community Site (Home)
- Dev Centers
- Customer Proof Points
- Product Support Reviews (“BillG Reviews”)
- SEO Analysis and Data
- Usability Studies
Get the network on your side, from a tribe of raving fans, and closer followers, to a wider community base.
- 5 Pillar Customers (Reference examples and champions)
- Blogger Team
- CAT (Customer Advisory Team) Team (“SQL CAT”)
- Champs (Internal / External)
- Community PM
- Insiders (“ASP.NET Insiders”)
- Product Support / Escalation Team
- Rangers (“TFS Rangers”)
A Quick Tour of Examples …
The following is a quick visual tour of some of the common things that help customers make the most of the product.
Application Scenarios and Solutions Example
Application Scenarios and Solutions are a quick sketch of how to solve an end-to-end problem, along with key information on how to prototype the solution and test whether the solution will work for your scenario.
Canonical Application Architecture Example
A canonical application architecture helps customer see how to put the building block technologies together into an ideal pattern.
CAT “Customer Advisory Team” Teams
Customer Advisory Teams site between the product and the customer and they help address the patterns of customer problems through prescriptive guidance and hands-on support.
They can also provide in-depth product feedback because they see the patterns and practices of large sets of customers, against specific scenarios and solutions.
- Focused team that connects the customer scenarios to the product team.
- Strong engineering team with a solution focus.
- Solves customer problems (with a by-product of code and content re-usable assets.)
- Provides actionable product feedback to the product teams.
For an example, see the SQL CAT Team.
Catalog of Solution Assets Example
When you build out a catalog of solution assets, it’s a proven practice to have a set of content types.
This helps users know what to expect in your catalog.
This also helps you streamline your efforts for populating your catalog. The key is to focus on a small set of high ROI, strategic content types. For example, a common pattern is to focus on code samples, how tos, videos, and tutorials.
Customer Proof Points
Customer Proof points are simply verbatums and scores on a slide from a customer to help show impact.
The verbatums provide qualitative and the scores provide quantitative.
The two key numbers to see are overall satisfaction and a change in confidence in the product, tool, or platform.
Deployment Patterns show how the common ways that the application is physically distributed. This can help you very quickly see the end in mind.
Feature Set Example
Having your feature set at a glance, helps users quickly see all the dials, knobs, switches at a glance. Having the features at a glance is also an easy way to help your users learn the scope of your product.
You can also use the features at a glance as one way for organizing, driving, and prioritizing your documentation. This, in conjunction with a Scenarios Map is a powerful combination.
Hot Spots for Architecture
Hot Spots are basically a heat map of common pain points or key engineering decisions.
They help you quickly see the forest from the trees in a given domain. For example, in a typical application, some of the cross-cutting concerns are auditing and logging, authentication, authorization, data access, exception management, etc.
Knowing the Hot Spots helps inform you as an product designer or engineering, by helping inform you where to invest more energy.
Hot Spots for Security Example
You can think of Hot Spots as a lens and you can overlay or focus on a particular topic, such as security, and highlight just those Hot Spots.
Hot Spots for Performance Example
Here is an example of bubbling up common performance Hot Spots for a Web application.
How Tos provide step-by-step instructions for performing a task or solving a problem. When done well, they are among the most valued content because they directly map to user challenges, scenarios, and tasks.
See Security How Tos for an example of a How Tos collection.
Scenario Maps Example
Scenario Maps are an easy way to gather and organize all the user scenarios in a meaningful way.
Scenarios put requirements into context by showing what a particular user would try to accomplish.
A collection of scenarios acts as a map that helps you see the landscape of your product, from both the engineering and the user view.
Scenario Scoreboard Example
A Scenario Scoreboard is a simple way to evaluate the effectiveness of your product against the user scenarios. You simply add evaluation criteria and rate each scenario against the products, tools, and platform.
QuickStarts (Simple Starts for Common Tasks)
QuickStarts are a way to share a quick map of common tasks, along with examples and step-by-step guidance.
See example at – http://quickstart.developerfusion.co.uk/QuickStart/howto/
The big thing to remember with any platform, product, or services is this …
If you don’t build a tribe of raving fans, and a community of evangelists that pave the way, it dies.