软件消亡的迹象

发布于 2024-07-16 15:28:15 字数 1436 浏览 8 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

南笙 2024-07-23 15:28:15

以下任何一项都明确表明您的系统已列入濒危物种名单:

  • 允许存在单点故障(只有一个人理解)
  • 管理层没有分配资源来修复缺陷
  • 六个月没有积极开发
  • 没有发布周期一年
  • 基础供应商产品/库失去支持
  • 项目中的资源被取消且在一个季度内没有更换超过两次
  • 环境变化(例如,用户量增加)没有得到纠正
  • 性能未进行测量,并且不定期进行调整(性能 基础设施变化迫在眉睫
  • (操作系统、数据库、硬件)
  • 由于系统中的缺陷、挫折或错误,用户已经创建了变通办法
  • 用户群正在下降

保持项目活力的方法:

  • 公开、直接地与管理层接触
  • 准确报告缺陷率并根据管理成本对其进行量化
  • 尽可能多地自动化构建、测试、打包和部署周期 尽可能
  • 模块化系统 制定
  • 明确的指标,并在必要时调整应用程序
  • 了解用户最常发现的内容关键并满足这些需求

在软件库起死回生时,我必须将第一名丝带给 Objective- C。

Any of the following are clear indication that your system is on the endangered species list:

  • Single point of failure permitted to exist (only one person understands it)
  • Resources are not allocated by management to fix defects
  • No active development for six months
  • No release cycle in a year
  • Underlying vendor products/libraries go out of support
  • Resources taken off a project and not replaced more than twice in a quarter
  • Environmental changes (higher volume of users for example) are not remediated
  • Performance is not measured and tuning does not regularly occur (performance degrades)
  • Infrastructure changes are looming (OS, DB, HARDWARE)
  • Users have created work arounds due to flaws, frustrations, or bugs in your system
  • Users base is falling

Ways to keep a project vital:

  • Engage your management openly and directly
  • Report defect rates accurately and quantify them in terms of cost to management
  • Automate as much of the build, test, packaging, and deployment cycles as you can
  • Modularize the system as much as possible
  • Have clear metrics in place and tune the applicaiton if necessary
  • Understand what your users find most critical and address those needs

On sofware libraries coming back from the dead I would have to give the first place ribbon to Objective-C.

舞袖。长 2024-07-23 15:28:15

在此插入古怪的 Windows 笑话。

实际上有几个迹象:

  • 缺陷到达率增加
  • 每个缺陷修复的成本较高
  • 每个新功能的成本较高

所有这些都表明代码中的熵较高,即信噪比较低。

有很多方法可以解决这个问题; 最有效的方法可能是识别具有高缺陷率的模块——缺陷往往呈帕累托分布,即 20% 的模块占 80% 的缺陷。 您为这些模块构建一个测试框架,并从一个干净的页面重新实现它们,构建良好的测试(适当使用单元测试框架等),然后将它们重新安装到整个系统中。

Insert cranky Windows joke here.

There are really several signs:

  • increasing defect arrival rate
  • higher cost per defect repaired
  • higher cost per new feature

All of these suggest higher entropy in the code, ie, a low signal to noise ratio.

There are a number of ways to attack this; probably the most effective one is to identify modules that have high defect rates -- defects tend to have a Pareto distribution, ie, 20 percent of the modules account for 80 percent of the defects. You build a test frame work for these modules, and re-implement them from a clean page, building good tests (using unit testing frameworks etc as appropriate) then fitting them back into the overall system.

陌若浮生 2024-07-23 15:28:15

我相信,由于您所想到的内部“技术原因”而导致软件死亡的情况相对较少。 我实在想不出任何例子; 也许是德尔福(尽管它并没有死,只是病得很重)。

软件死亡的情况似乎更为常见,因为

  • 底层硬件或操作系统变得过时,并且软件无法实现过渡(WordPerfect、Lotus 1-2-3)
  • 竞争产品提供了卓越的功能,而市场领导者则因自满而停滞不前(Amiga)
  • 软件因“范式变化”而变得过时 (Encarta)

虽然前两点可能部分是由于质量问题造成的(这使得对市场变化的反应速度太慢且成本高昂),但后者则不然。

I believe that software dying from the internal "technical reasons" you seem to have in mind is relatively rare. I can't really think of any examples; maybe Delphi (though that's not dead, just badly ailing).

It seems far more common for software to be die because

  • The underlying hardware or OS becomes obsolete and the software fails to make the transition (WordPerfect, Lotus 1-2-3)
  • A competing product offers superior features while the market leader stagnates due to complacency (Amiga)
  • The software becomes obsolete through "paradigm changes" (Encarta)

While the first two points are probably often partly the fault of quality problems (which make it too slow and costly to react to market changes), the latter isn't.

月亮坠入山谷 2024-07-23 15:28:15

不尽快修复严重错误。 假设您发布的新版本有一个影响 10% 用户的错误。 如果您不立即修复它并发布修复版本,这些用户将无法完全使用该程序,并将寻找替代品。 当您最终交付延迟的固定版本时,它们就消失了。

Not fixing critical bugs soon. Say you ship a new version that has a bug affecting 10 % of users. If you don't fix it promptly and ship a fixed version these users will be unable to fully use the program and will search for a replacement. When you finally ship the delayed fixed version they are gone.

旧人九事 2024-07-23 15:28:15

当开发人员找借口_不_接触或支持该软件时。

When the developers are making excuses _NOT_ to touch or support the software.

彡翼 2024-07-23 15:28:15

唯一重要的衡量标准是源自您上面引用的“用户视角”的衡量标准。

最有可能的候选人是:
1. 支持请求增加,并且
2、销售额减少。

The only measure that counts is the one that derives from the "user perspective" you reference above.

The most likely candidates are:
1. Support request increases, and
2. Sales decreases.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文