Measuring Industry Knowledge

When I meet with software developers I will ask questions such as, “Who are your competitors?” and, “What are some industry trends?” I am trying to understand their level of industry domain knowledge. I don’t ask them to rate their industry knowledge on a scale of one to five. I am shocked at the number of software developers who cannot list any of their companies competitors and who can’t give me one current industry trend. These same individuals do not subscribe to any industry publications or attend any industry trade shows. Many of them have never even met one of their customers or users of their applications. Their business domain knowledge is almost nonexistent.

Aside from relying on what people tell me, I often look at individual’s performance reviews. I scan looking to see if industry domain knowledge or something similar is ever mentioned in a performance review. If learning about the business domain is not rewarded, then more than likely it is not going be a priority.

There is one relationship that is crystal clear. Those software organizations where developers have strong domain industry knowledge have small growth rates in their software projects. The less software developers know about their industry, the higher the growth rate they have in their software projects. This means there is an inverse relationship between domain knowledge and project growth. When software developers know little about their core business, functional growth rates in software projects can exceed 300 percent.

Those software organizations that send developers into their customers’ jungles typically have smaller applications than those software organizations that rely on question and answer sessions only. I explained in the first chapter that when I work on an acquisition I am often looking at 3 to 6 companies all in the same line of business and all developing a similar product. Even though the applications serve a similar business purpose, the functional size of the applications can be quite different. It appears as if those applications where the developers have strong domain knowledge are smaller than those applications where the developers have little domain knowledge. The less the development team knows about the industry domain, the larger the software project.

The difference in sizes can often be explained by redundant and/or unused functionality. The software developers are fumbling around adding functionality in hopes of stumbling upon the solution to the unknown problem. They are relying on someone else to define the problem and solution. Many companies have bloated applications and are missing key functionality that exists in competitor’s software products.

The churn rate is not constant across software development organizations either. The churn rate is how many times a specific piece of functionality changes during the software lifecycle. Again, the more the software development team knows about the core business, the less the churn rate.