When Should You Stop Support for Software?
hahafaha asks: "I am currently working on a website for a small organization. We (I am not alone in this) have a beta version ready, and are currently testing the site on browsers. We have tried all of the big browsers (Firefox, IE, opera), as well as other browsers, such as lynx, links, w3m and even NetFront. So, when can one decide that they will stop supporting a system. Obviously, going (for example) down to IE 1 is crazy, but is IE 3 crazy? This is not only relevant to web design but to any programming at all. When, for example, can you say that I will *not* support a certain version of Windows. Can you say that now about Windows 98? How about 95?"
Whenever the cost of supporting the customers that comes from supporting those customers, exceeds the benefits of satisfying those customers.
You don't ever stop supporting your customers. You just switch to paid support after your warranty or contracted support period has expired.
I'm still supporting the first commercial software I ever wrote (a refrigerator controller for a meat packing company) because it still does the job I originally wrote it for, and the company using it occasionally pays me to port it to newer hardware. I'm not making a loss, and it's not a huge money spinner for me, but I'll continue supporting it because it's mine.
"I've got more toys than Teruhisa Kitahara."
I'll disagree with this. The company I work for recently stopped support for some software we wrote in 1999. We provided more than 2 years notice, and a reasonable upgrade path.
Our entire code base was rewritten in 2000 and once again in 2005. Supporting 3 different code bases is not practical.
First of all, for front line support people, have them trained on 3 different products is simply not practical.(While the 3 pieces of software are similar in general functionality, they're are significant differences in how the achieve that functionality.)
More importantly, the number of developers that are familiar with the original code base is small. And these are the most senior developers and having them spend the their time looking at the old case base is not a productive use of their time.
I suppose we could have offered a support contract to the customers of the older version that represented the realistic cost of what it would be to support the older code base. But, the number would have been ridiculously high and would probably be seen as quite insulting by the customer.
It made more sense to announce the sunset of the product with a large amount of advance notice, and provide a reasonable upgrade path.