Sunday, September 23, 2012

Software Product Management & Product End of Life

No software product can be sold and supported forever. All software products must be phased out in a planned manner - which must be planned at the time of product release. An outdated software can turn into a maintenance & support nightmare. Knowing when to discontinue a product is vital for company's profitability.

A key aspect of product management is to determine when and how a product must be retired.
How to decide?

How do you kill a product that is no longer profitable? And how do you know that it's time?

To know when to retire a product, one needs to understand the underlying costing of software products,  Product life cycles and opportunity costs.

Product Costs Model

In a software product life cycle, the majority of costs are incurred during the product development phase. Once the product development is completed, the cost of making subsequent copies is zero, but there are other costs associated with the software product. These costs are not obvious but are substantial.

The two biggest costs are: Cost of selling and Cost of customer support. These two costs tend to have a "U" curve behavior. The costs of selling is very high at the launch of the product and goes down as the product becomes more popular. But as the product ages, the product becomes outdated and the cost of sales start to climb up. Similarly, product maintenance costs - i.e, customer support will be very high when the product is launched and customer discover various bugs or need help/support to implement the software. As the usage increases and bugs are fixed, customers also develop best practices, the product support costs reduces. But as the product ages, the system environment (Hardware, OS, databases etc) changes and the older software may not be compatible with the new environment - which prompts increased support calls & hence increasing support costs.

Another factor to consider is the opportunity costs. Companies can persuade customers to upgrade to a new version of the product - that can bring in additional revenue only if the current product is killed. So if the company continues to sell an old product, it can often eat into the potential sales of new product.

When, the cost of sales + Cost of support + opportunity costs = Net revenue; for a product, It is time to retire the product.

Companies such as Microsoft, Oracle, HP etc.  routinely announce EOL for their current products and also have replacement products for their customers. For example, Microsoft announced the EOL for Windows XP after releasing Windows 8, so customers can upgrade to Windows 8.

Product Strategy Directive

The final factor to consider is the overarching product strategy. This is probably the easiest to decide. When a product no longer fits into the company's distinctive competence & market strategy, it is best to kill the product. (regardless of the profitability and costs).

Usually product managers know when a product is past its prime and well managed products are retired. But there are cases when products are maintained beyond its useful life - mainly due to the political pressures:

1. The product is a pet project for one of the founders or CEO or VP.
2. The product is critical to one or few customers.
3. Salesforce resist removing the product from their list of products in their bag. In large companies with direct salesforce, salesmen often use some software products as a deal sweetener: "Sign the deal by this date & get this software free" offers.

The best way to plan for the product retirement is to build a financial data based reports for each product in the portfolio and then retire the product before it becomes no longer profitable. The costs of sustaining a product can be estimated ahead of time & based on these estimates the product can be retired. Most companies review their product portfolio on a quarterly basis to determine the support costs and decide when to retire a product.

For example, if it costs roughly $150,000 per technical employee per year to support the product, so if the product is bringing in less than $200,000 per year then it is time to kill the product.

Once the decision to retire a product is made, the next challenge is how to implement it?

Ideally, a product must be retired without losing any customers. So when a product is retired, customers must move to another product which has higher profitability. This is usually done my offering upgrades to a newer product which is better, has more features/functionality and has a larger user base (thus increase the wallet share).

Companies accomplish this by releasing a newer version of the product - Oracle 9.0 was replaced by Oracle 10.0 etc.

EOL communications 

First, an internal communication must go to all sales & customer support about the product's EOL and date. This helps removing the product from all sales pipelines and manufacturing plans (in case the product is still shipped as physical kits in CD/DVD). After the EOL date sales will not get any commission for selling the product. If there is an alternate or a replacement product available, then sales teams must be trained about the new product that will replace the one being retired.

Next, communication to all customers, customer support teams, external sales partners, channel support partners, value-added-resellers must be sent about the planned EOL and its replacement product.

Usually, EOL is implemented in two phases:

1. End of Sale
2. End of Support

End-of-Sale: After a particular date, the retired product cannot be sold. The existing customers are encouraged to migrate to the newer/replacement product at the earliest.

The next important date is End of Support. This marks the true EOL for the product. After this date, the product will no longer be supported. Customer can continue to use the old product at their own costs. The product support teams will no longer offer support or provide bug fixes to the retired product after this date.

In case the EOL decision was based on strategic direction and there is no replacement product, then tell all employees and customers that this product is no longer viable for the company and hence will be discontinued. Company may choose to provide technical support and bug fixes for some more time till "End of Support" is reached.  This notification is usually done via letter or e-mail to the buying contact in the client site.

If the product is an service, then End of Life communication must provide a time frame for customers to retrieve and transfer all data/services to an alternate provider. Also after the EOL, customers must be provided with an option of retrieving their data (at a cost)

In case the EOL decision was based on strategic direction and there is no replacement product, then there is a potential risk of losing customers for good. Losing a customer for one product may trigger a "run" response from the customer and customer may opt to exit all other products from the same company/vendor as well. Care must be taken to retain the customer while retiring a product. This is best accomplished by tying up with an alternate vendor who has a similar product/service - which customers can migrate to, and provide necessary help for migration.

Pre-planned EOL

Today, with Agile product management strategy, products come with a predefined EOL. The product's EOL dates are defined at the time the product is launched and is written into the product agreements. Typically, the product use agreement would state that the current product would automatically hit an End of sale, once the next version of the software is released and the product will be supported for a fixed period of time after it hits the End-of-sale date; i.e, Version 1.0 will not be sold once Version 2.0 is released and Version 1.0 will be supported for next 18 months only.

This pre-planned EOL is a good practice, especially for  mature products which undergo periodic upgrades. Today companies have predefined EOL policies in place. Example of an EOL:


Closing Thoughts 

End-of-life planning and execution is a critical function in product management. The main objective of EOL is to maintain product profitability while enhancing sales by moving customers to newer products. Retire the product, Retain the customer is the mantra for all EOL activities.

Product EOL is also a good time to fire/eliminate unwanted customers. There may by customers who may not be worth keeping. Such customers can be eliminated by offering a very high cost of upgrade/replacement - which will force them away from your products.

For customers who are worth retaining, special services may be offered like: Free upgrades, or free technical services for the upgrade, or extended support on older product till the customer upgrades etc.

In enterprise software, EOL is not a blanket activity, it needs to be planned carefully and executed well to retain valuable customers. All products must be retired before the profitability is affected. It is always a rational financial decision.

"A product whose costs exceeds its revenue must be retired."

No comments: