Over the past 10 years, I’ve probably done hands-on analysis the functionality and usability of over 300 software products and online services (not including mobile apps).
Why so many? Because playing with software is not just my job, but also my weird hobby. I’m always on the hunt for a new application to solve whatever problems I encounter in my life and business.
I’ve done this analysis through the lens of someone who is a product manager by training and experience, as someone who does a lot of competitive analysis work for software industry clients, and as someone who has deep familiarity with the way users interact with software products (especially business applications) and their expectations of them.
After working with the first hundred or so products, I realized something:
About 80% of the functionality in each of these software products was essentially the same.
- Most B2B servers let you integrate with your business’s existing security systems and user directory.
- Most content designers provide (or should provide) a way for users to preview the content as it would be displayed to other users.
- Most installed software provide (or should provide!) a way to let users easily upgrade to the latest version of the software, without the user losing work.
- Most platforms that generate new content, or receive new content from users or outside sources, needed a way to notify users of what’s new.
- Much software that manages content provides a way for users to give reviews and feedback about the quality that content.
And so on. Deja vu. Over and over. No matter what the domain, the business problem, or the type of user, the same types of functionality and use cases come up again and again. For my product management clients, I find myself working on requirements for the same buckets of functionality as I had for many other clients in the past. Even for clients that are in very different problem spaces.
Because product managers love to name things, I decided to refer to these recurring bits of functionality as “Product Patterns.”
Product Patterns - the concept
I tried researching what others had discovered about “Product Patterns”, and I didn’t turn up much. Perhaps I have been looking the wrong places or with the wrong Google keywords. (If you know of other people talking about these, please share the sources with me in the comments).
In contrast, I did find a lot of information about
- Software design patterns, but these were at a lower level—deep in the code – than what I was looking for.
- User interaction design patterns. Jennifer Tidewell wrote an excellent (although dated, by now) book on these patterns.
Both were promising, especially for Software Engineers and User Interaction Desigers. But what about some pattern tools for product managers?
What I sought were descriptions of common Product Patterns, the common functionality building blocks that are used to develop software product. Ideally, each would have:
- a overall description of the pattern
- what the pattern is typically used for
- how to determine which patterns are applicable to the target market and cusotmer problem
- what questions to ask customers and prospects
- tips for implementing the pattern
- traps to avoid
- sample user stories
I didn’t find this, so, I started to create descriptions of Product Patterns on my own. I then started using them and refining them with my product management consulting clients.