In Chapter 17 of "Agile Management...", I take a serious look at product management for software services and examine the business model - I choose to use the telecom industry as an example. In order to explain how to do product mix selection, I first have to recast the standard telecom financial model of EBITDA=ARPU-CCPU (Earnings before interest, tax, depreciation and amortization equals average revenue per subscriber less cash cost per user (times the number of subscribers)), into a proper Throughput Accounting model. This was non-trivial.
As many people who read this column know, I work in the wireless data services industry. It is no secret that I used to work for one of the big US carriers, often considered one of the smarter and more innovative - Sprint PCS. When deploying wireless data services, any marketing manager at a carrier is required to construct a business model for the service - remember the service is basically just software in operation. Hence, the business model relates directly to the features that must be coded in the software. Many managers are trained to think in cost accounting terms and work their plans around the "cost per megabyte" and the "revenue per megabyte". The supposition is, that if revenue exceeds cost then you build the software and deploy the service. What's wrong with this model? Simply put it - there is no such thing as a "cost per megabyte" and framing a business case in these terms is simply trying to measure the wrong things.
It is way past time that wireless phone companies realized that there business is more like selling seats on aircraft than commoditized physical components as this article [E+ membership required] in the Economist explains. The essence of the problem is that the cost of building the wireless data network is a sunk cost. There is virtually no marginal cost to carrying megabytes of data across the network. Hence, the true "cost per megabyte" is really $0.00 - nothing!
When might this not be true? In 2.5G networks, the data and voice carrying capacity exist in the same channel space though voice is essentially traditional circuit switched technology whilst data is packet switched. Networks are configured to transfer capacity between voice and data depending on demand. Usually voice takes precedence since it was assumed that voice was (a) more important for customer service and expectations, and (b) more valuable - this assumption may prove to be wrong but that is another story. Hence, the total capacity or bandwidth of the network is a constraint - ah ha! So we have the system constraint. In the event that the capacity is full, then and only then, is there a potential cost of carrying an extra megabyte. That cost is essentially the opportunity cost of carrying some other traffic which might generate more revenue. Until the capacity is completely allocated - there is no cost per megabyte. The cost is already sunk from the build out of the network and is being amortized as a fixed cost rather than a marginal cost per megabyte transported. When the constraint is reached, the ideal carrying mix would be determined by the highest revenue per megabyte.
In Good to Great, Jim Collins explains that great businesses figure out what drives their economic model and what determines the correct denominator with which to measure performance. He gives an example of Walgreens which chose to measure "profit per customer visit" rather than "profit per store". The latter would have driven behavior which encouraged them to close small stores and open fewer larger ones, serving larger areas. This would not have made them great. They became great by opening more stores in convenient locations and generating more customer visits as a result. In turn those greater number of visits generated more profits because store managers were asked to focus on how to make the most "profit per customer visit". The choice of denominator which made Walgreens great was "customer visit".
Coming back to wireless data telecoms, "megabyte" is the wrong denominator. What would be a better denominator? "Subscriber month", or possibly even better is "subscriber communication". In this latter model, the wireless data services product manager is focused on generating the most number of unique communication events. However, "cost" is the wrong numerator. The numerator must be "revenue". In Throughput Accounting, revenue is most important factor, investment is of second most importance and cost a distant third. I explained this in Chapter 2 of "Agile Management...".
Why is all of this relevant to software engineering management? Well, the business model for the service, determines whether the software is commissioned or not. Further to this, it affects engineering decisions and architecture as well as features. If the mind set of marketing is set by "cost per megabyte" rather than "revenue per subscriber communication", imagine the difference it makes to both functional and non-functional requirements in the release mix.
Requirements start with product concepts and product concepts are enabled by market opportunities and a realistic go-to-market strategy (or business model). With the wrong business model, the wrong software gets written, the consumer is disappointed and profits are left on the table when they might otherwise have been turned into shareholder value. The most agile thing any software engineering manager can do, is refuse to build what the customer doesn't need. In order to do that, the product or service definition must have been couched in the correct business terms.