Customer value and development effort framework

Last year I was thinking about the relationship between product effort and product value to try an answer a few questions like:

How much effort would feature X require? Is this feature worth the effort? What is hampering us from building this feature quickly to deliver that customer value? Etc.

So I started white-boarding, and I came up with this concept.

Image

This is meant to be a framework to think about how products are built and for it to be a conversation piece for product and engineering teams to use for product planning. Typically, to build any amount of customer value, there’s a certain amount of development effort needed. When I say development effort I mean both design and development effort.

Usually there are diminishing returns to the customer value as more development is done. (more explained later)

Customer value really has to do with the expectations they have about your solution solving their problem or improving their lives. The expectation of value they have is influenced by, more often than not, things outside of your control.

To understand this graph better, anything that can be achieved above the line is delightful, because it’s low effort and high value. Anything bellow the line is riddled with plight, because it would require a high level of effort but would return little value for customers.

It’s extremely important to understand the dynamics and factors that will influence the graph.

Customer value expectations can be influenced from a number of things like:

  • Functional & Technical expectations set by sales/marketing.
  • ROI/Economic expectations of what they product can deliver.
  • Competitors setting expectations in the market.
  • Market trends.
  • Customers’ own imagination (usually the case in new or nascent technologies like general AI, cryptocurrencies, blockchain or Web 3.0).
  • Reviews and testimonials by other customers.

Engineering effort is also influenced by a number of other factors:

  • Code base size and complexity.
  • System architecture.
  • Complexity of functional requirements set by product.
  • Tech stack choice: building a web application in Django vs C++ is definitely a big difference in effort.
  • Talent experience and team size.
  • Existing customers dependent on existing feature/functionality: try changing an API that a large enterprise customer has baked into their world.
  • Bugs and functional/technical gaps.

All of the above factors create complex dynamics that will influence your ability to build a product. You can see that there are a lot of things that you can and can’t control. It’s extremely important to understand these factors to see what levers you can pull or things you can influence when analyzing your own product/feature.

Investment Gap

Every new initiative (product or feature) requires a certain amount of effort before realizing the minimum customer value. The example of this would be building an authentication system for your social media app. The authentication system does product customer value because it protects the user’s data, but it’s not enough value to meet the minimum customer value expectations of what a social media system does.

This investment gap needs to be managed very carefully as it can require a significant investment, and is something that isn’t immediately sell-able to customers before the product can meet the minimum customer value expectation. Over investing too much in areas that are outside of the core value driver can be a waste of time and effort.

Now, let’s take a look at a few scenarios and examples to understand the framework even more.

The nightmare scenario for every company would be this:

The worst case scenario would be a product or feature that would require a high level of development that doesn’t meet minimum customer value. This is very common in nascent technologies like general AI, or human like androids. As of today, it would take a huge amount of investment to produce anything that would satisfy the general consumer market. If you look at customer expectations, something like androids should surpass the Uncanny Valley. This customer expectation is difficult to overcome or hack because it’s deeply rooted in our subconscious. In addition, we do not have the full range of technologies that can come together to product something that is realistic. It would require the machine to have a more advanced grasp of verbal and non-verbal communication.

The dream of every company would be this:

Low effort to release something that generates a huge level of customer value. Any incremental level of effort leads to a bigger jump in customer value. This rarely happens, and if it does it would be in niche markets with little good solutions. These solutions usually expose an arbitrage in space where customer needs are not met.The arbitrage quickly vanishes once more people know about this because it becomes a race to who can create the most value, and customer value line shifts up constantly where more effort is needed to generate value.

Take for example Tesla. Producing a new gas car and car company requires a huge amount of investment, engineering and strength to compete in a very competitive market. However, Tesla was able to tap into the unmet needs of customers that wanted a sexy electric car. Producing an electric car is simpler and requires less engineering effort because there are less components, and customers didn’t have any serious alternatives to pick from.

How can the line change?

Changing Customer Expectations

Customer expectations can change over time for a number of reasons. It could be that your competition has done something to change customer’s perceptions about their product and your product.

The real danger here is when customer expectations of value shift beyond the company’s ability to achieve that expectation. Let’s take the introduction of the iPhone in 2007 as an example. The iPhone coming into the market shifted customer expectations of what they’re looking for in a phone. This left dominant leaders like Blackberry in a serious execution gap to meet these expectations. It was years before Blackberry was even on par with what their competitors were able to achieve, but it was too late.

What to do when customer expectations rise?

It’s important to understand what are the causes of shifting customer expectations. Often times it is due to highly competitive environments changing customer perception.

  • Marketing can play a huge rule here in differentiating your product and solution from your competitors. Look at Lufthansa and it’s competition with the low cost carriers. Rather than competing with them on price, they competed on quality, and comfort.
  • Acquiring other solutions from the market that can be added to your offering to meet those rising expectations. In the same example Lufthansa acquired Air Berlin to directly compete with the low cost carriers, without needing to change their own company’s marketing and service strategy.
  • This usually requires you to have enough flexibility in product and development effort to move quickly enough to meet the rising customer expectations.
  • If there is little flexibility in development effort, then you’ll have to either find other value drivers that can overshadow this deficiency or to invest into changing the factors that influence the development effort.

Changing Engineering Effort

Throwing talent at the problem

What can bend the curve?

  • Re-architecting the system
  • Rewriting inefficient parts of the codebase
  • Deprecating features that are not well used
  • Remove dependency from customers on a particular feature that needs change.
  • Leveraging a new technology stack that enables you to do more. For example Django is great MVC to use because it comes out of the box with a lot of things.

Investment Gap:

Thanks to: Faraz K, Nish and Johel D.