In this presentation, you identified a root cause of software product failure: Your product didn't align with your customer's strategy. Can you explain what you mean by this?
Maintaining customer focus is key to developing great software products. If you try to create a product for all possible customers, you will fail at least some of them by missing their unique needs. One technique for focusing on a particular group of customers is using market segmentation to find groups of customers who share similar problems. When developing business-to-consumer (B2C) products, you will usually further divide that market segment into user personas -- that is, a group of users who share common problems. When developing business- to-business (B2B) products, user personas are an effective way to identify the different roles that people play when using your product. Understanding that customer -- and company -- strategies vary within a market segment provides a tool for focusing your efforts.
To help understand the concept of customer focus in product development, it's helpful to look at an example that's not software: restaurants that sell hamburgers. They are a segment of the restaurant market. These restaurants are competing with each other, using different strategies. They may be executing a strategy to provide low-price, low-value hamburgers (think fast-food chain), hoping to get the lion's share of the market with the most cost-effective product. Or they may choose to provide high-price, but high-value hamburgers. To deliver a high-value hamburger, you have to differentiate it. That could mean grinding the meat fresh every day and including unique toppings, like avocado or goat cheese, or special artisan bread. 'High value' is in the eye of the beholder -- only a subset of customers will value goat cheese more than cheddar, but those that do will pay a premium for these hamburgers. The effective way to survive with high prices and value, when market forces are driving the commoditization of your product, is to differentiate your product, focusing on a segment of your customers.
Maintaining customer focus is key to developing great software products.
This effectively requires you to think not of B2B markets, but of business-to-business-to-consumer markets. You need to understand how your customers (other businesses) are choosing to compete in order to better serve their customers.
Imagine that you are considering two features to introduce in a software product that you sell to restaurants. The first feature allows them to cost-effectively manage utilizing wide varieties of food ingredients when making hamburgers. The second feature allows them to reduce the costs of managing large quantities of a smaller group of food ingredients. Both features are some value to all hamburger restaurants, but the relative value of each feature changes depending on the strategy of the restaurateur.
When prioritizing the capabilities you add to software products, you need to maintain customer focus. If you ignore the strategies your customers are using to compete in their markets, you will misinterpret the value of those capabilities to your customers and prioritize incorrectly. As a result, you will create a product that is less valuable to any given customer -- and therefore less likely to succeed -- by diluting your efforts across a watered-down view of what is important to your customers.
How software development teams can affect product quality
Dig Deeper on Topics Archive
Related Q&A from Scott Sehlhorst
Application performance monitoring fixes a system before it breaks. IT strategist Scott Sehlhorst offers insight into preventive performance testing. Continue Reading
'Continuous development' is still a relatively new and confusing term. Find out what it means beyond the hype. Continue Reading
Scott Sehlhorst offers strategic guidance on how to approach application portfolio management with a focused vision. Continue Reading