不久前another question提到了(可能是城市故事)统计数据
......软件的平均寿命约为3年
当时我想出了以下原因(我确信还有更好的原因):
实施了一个新的主要系统(ERP,CRM等),它有一个“集成”模块来取代旧的应用程序。
相同,但没有集成的应用程序 - 但现有的应用程序不适应(人们离开,技术已经改变,当前的IT策略已经改变,用户不喜欢现有的应用程序。)
< / LI>您从中获取基本应用程序的公司已根据您的需求进行自定义。
或者你不再与他们相处得很好。
现有应用程序的技术“已经过时”(根据框架供应商/微软/顾问/行业专家/管理人员的新IT经理而言)。
“我们正在逐步淘汰(Windows 95 / Windows 98 / Windows 2000 / Windows XP / NT),我们的应用程序需要匹配技术”。
“我们从(应用版本n)中学到了很多东西,我们会在第二次/第三次/第四次/第n次和第一次的时候做得更好。”
开发人员/ IT经理/部门副总裁/咨询公司的工作理由。
用户讨厌它。
我们合并/收购了竞争对手/被竞争对手收购,他们的竞争对手更好。
其中一些是不可避免的(例如贵公司被收购),但总的来说这肯定是需要避免的东西。您的组织是否故意对抗这种综合症?你会推荐哪些有效的策略?
答案 0 :(得分:3)
这就是为什么应用程序需要易于扩展,并且您应该能够轻松添加所有流行语。
如果您有一个可靠的基本代码,大多数流行语都与UI相关(Vista控件,Ajax,.net,ASP.net 3.5)......
你可能在后端运行COBOL(我不会)。
我还会说,当你在内部与商业应用进行比较时,这是不同的,如果你正在做一个内部应用程序,更改保证你的工作(如果你知道你在做什么)。如果你正在做一个商业应用程序,改变是一个赚更多钱的机会,新功能可以让你从现有客户和寻找流行语的新客户升级,这些流行语可能成为你的竞争对手的优势。 / p>
答案 1 :(得分:1)
我现在写的软件的平均寿命可能是几天。 (我写了很多脚本,所以我可能会感觉不正常。;-)但我使用的核心系统现在可能已经有15到20年了。底层操作系统大约有30年的历史。无论是老软件还是年轻软件都没有任何内在错误。实际上,当软件可以适应新用途时,软件会老化。
在功能部件之间进行抽象层可以更容易地替换系统中的功能。例如,我们已经在我们的系统上浏览了几个不同的磁带库,现在我们正在考虑将来使用磁盘存档。由于我们系统的“存档”部分位于抽象层之后,因此我们可以非常轻松地替换它,而无需替换系统的其余部分。
如果可能,最好使用标准零件。这样,如果你遇到一些限制,很可能其他人会遇到同样的问题,更有可能会有人提出修复。
答案 2 :(得分:0)
答案 3 :(得分:0)
在收集要求时,有人说“情况X总是如此,没有例外”,请将其配置为可配置。它总会改变,没有例外。
答案 4 :(得分:0)
大多数公司5年没有成功。他们的软件实现预计不会持续很长时间。