Stop Thinking It’s Not Your Problem

(image credit: pixabay)

Engineers form the core of a product company. Although I have the greatest respect for sales people and know how hard a job that can be, it’s the engineers that design and develop the product that, in the end, is needed to have anything to sell.

Building a product that sells of course requires that customers actually want it and are willing to pay for. Although this may seem obvious, this is where the problem starts in many companies. The process of figuring out what customers want as well as the process of monetizing the product, and the associated business model, tends to get split over multiple functions and roles in the organization. Among others, we have sales & marketing, product management, engineering and user experience/usability experts. Each of these functions and roles owns part of the process of building and selling the product or service.

In most companies that I work with, the responsibilities between the roles has resulted in engineers basically asking for requirements and declaring success when they’ve delivered a solution that passes all test cases and satisfies the various edge cases that might exist. Although this attitude is considered to be the right one in most engineering cultures, it has several problems associated with it.

The first problem is that many engineers build whatever feature they are asked to build in the same way: basically a solid implementation that covers all exceptional cases, minimizes interactions with other features and deals elegantly with those where necessary. In our research, however, we see that companies build at least four different types of features [1]. As shown in the figure below, we recognize duty, checkbox, wow and flow features. Each of these features requires a different implementation as well as a different level of coverage. A “wow” feature should show one use-case really well so that marketing and sales can use it, but doesn’t have to cover all alternative use cases. A checkbox or duty feature should be built to just enough to satisfy the regulator or to allow the company to claim that they have feature parity with a competitor product. It’s only “flow” features that require a full “gold-plated” realization and the best possible user experience. Engineers not understanding the difference between the categories of features tend to waste a significant amount of resources for the company.

Figure: Feature Types model [1]

The second challenge that engineers run into is picking items from the backlog that do not actually generate revenue for the company. In a company that I visited recently, engineers tended to focus on improving a mature product for which the customers paid a yearly maintenance fee. The company was also building new products to offer to existing and new customers, but the R&D organization throttled those efforts due to a claimed lack of resources. In practice, however, engineers tended to build features that did not generate any additional revenue for the company and ignored spending time on the new products that would generate additional revenue. This lack of understanding of the business that the company is in leads to significant lost revenue and opportunity cost.

The third challenge that I see several R&D teams end up in is a highly limited and distorted understanding of what customer success looks like. Especially when the agreed division of work is one where product management throws requirements and specifications over the wall and R&D teams just build to spec, the realization of functionality tends to leave a lot to be desired from the user perspective. Customer empathy is incredibly important when building a product that delivers on customer needs and expectations, but I still meet many teams that have not realized this yet.

Concluding, my dear, esteemed engineers, business is too important to leave to the business folks. You have to get involved and deeply understand what business we’re in, how revenue is generated, what matters for customers and what sales needs to convince customers to go into business with us. You can’t ignore this and think it’s not your problem. Especially in a world that is changing ever faster, engineers need to be in tune with the market and act accordingly. It is your job, after all!

[1] Fabijan, Aleksander, Helena Holmström Olsson, and Jan Bosch. “Differentiating Feature Realization in Software Product Development.” International Conference on Product-Focused Software Process Improvement. Springer, Cham, 2017.

To get more insights earlier, sign up for my mailing list at jan@janbosch.com or follow me on janbosch.com/blog, LinkedIn (linkedin.com/in/janbosch) or Twitter (@JanBosch).