软件正在消亡的迹象是什么?
开发人员如何发现早期警告以防止软件死亡?
从用户的角度来看,我认为这很清楚 - 他们不能有效地使用什么,他们就会垃圾。
除此之外,软件可能会因为它的代码而死掉——架构、编码风格、代码库的大小、代码库的组织和程序员的质量。
我想知道如何倾听软件死亡的迹象并采取纠正措施。任何著名的示例软件因为没有开发人员听过这些迹象而死了吗?任何垂死软件被保存的例子?
软件正在消亡的迹象是什么?
开发人员如何发现早期警告以防止软件死亡?
从用户的角度来看,我认为这很清楚 - 他们不能有效地使用什么,他们就会垃圾。
除此之外,软件可能会因为它的代码而死掉——架构、编码风格、代码库的大小、代码库的组织和程序员的质量。
我想知道如何倾听软件死亡的迹象并采取纠正措施。任何著名的示例软件因为没有开发人员听过这些迹象而死了吗?任何垂死软件被保存的例子?
以下任何一项都清楚地表明您的系统在濒危物种名单上:
保持项目活力的方法:
在起死回生的软件库上,我不得不将功能区放在首位Objective-C。
在这里插入胡思乱想的 Windows 笑话。
确实有几个迹象:
所有这些都表明代码中的熵较高,即低信噪比。
有很多方法可以解决这个问题;可能最有效的方法是识别具有高缺陷率的模块——缺陷往往具有帕累托分布,即 20% 的模块占缺陷的 80%。您为这些模块构建了一个测试框架,然后从一个干净的页面重新实现它们,构建良好的测试(适当地使用单元测试框架等),然后将它们重新安装到整个系统中。
我相信由于您似乎想到的内部“技术原因”而死亡的软件相对较少。我真的想不出任何例子。也许是德尔福(虽然那还没有死,只是病得很重)。
软件死机似乎更为常见,因为
虽然前两点可能通常部分是质量问题的过错(这使得对市场变化做出反应的速度太慢且成本太高),但后者并非如此。
不会很快修复关键错误。假设您发布的新版本存在影响 10% 用户的错误。如果您不及时修复它并发布一个固定版本,这些用户将无法完全使用该程序并会寻找替代品。当您最终发布延迟的固定版本时,它们就消失了。
当开发人员找借口_不_接触或支持软件时。
唯一重要的衡量标准是源自您上面提到的“用户视角”的衡量标准。
最有可能的候选人是:
1. 支持请求增加,
2. 销售额减少。