项目花费多少时间和精力来实现向后兼容?

时间:2009-02-09 09:15:29

标签: project-management backwards-compatibility

鉴于每个软件项目只有如此多的程序员专用时间,您将花多少钱确保产品向后兼容以前的版本?实际上有几点需要考虑:

  • 软件的使用年限会影响您的决定吗?当程序较新时,您是否会减少向后兼容的时间?
  • 决定是否仅基于已安装副本的客户端数量?
  • 您是否积极努力制作支持未来变更的代码和文件格式?
  • 当您开发v1.0时,您是否尝试构建以使v2.0更容易向后兼容v1.0? (留下“保留”字段就是一个例子。)
  • 你如何决定“不,我们不再支持那个”?

5 个答案:

答案 0 :(得分:9)

答案 1 :(得分:2)

您的系统日常使用的越多,您就应该关注它越多。

您的系统深深植入客户的核心流程中,您应该关注的越多。

您的系统越多,竞争对手就越多,您应该关注它。

使用旧版本的用户越多,您应该关注的越多。

对于您的系统中的客户来说,更复杂和更深入的支持,就您的软件对其业务的影响程度而言,您应该越注重向后兼容性。

如果你无法通过有吸引力的定价等帮助他们进入新版本,那么可能值得考虑强迫每个人的风险。

与Vista或Office 2007一样。那些帮助我成为Apple的人非常棒。

答案 2 :(得分:1)

我对软件的向后兼容性的看法:

1.)如果它是许多客户已经广泛使用的产品,那么我将确保该产品的新版本仍然使用相同的“基本代码”(实现正在开发的应用程序的基本功能的代码) 。新功能应该考虑到此代码库中,或者构建在此代码库之上,尽可能少地在此应用程序的执行环境中进行更改。您不希望让现有用户在其现有安装中执行大量更改。因此,它需要在支持新功能和改进客户端的现有设置和使用过程之间进行权衡。

2.)在新产品中,如果可能,即使在v1.0发布之前,也要在开始时识别该应用程序的所有可能功能。确定您将在v1.0中发布哪些功能。以及哪些将保留以供以后发布。在设计,代码实现,最终确定应用程序的输出以适应未来版本中的功能时,尽可能记住这些“以后的时间特性”。例如在数据结构中保留其他元素/位字段。

-AD。

答案 3 :(得分:1)

很多。如果您不想惹恼每一位忠诚的客户!

答案 4 :(得分:0)

我的经验是复杂的收缩包装系统,用户相对较少(100 - 5000) 营销往往必须对后向兼容性持有态度,而不必充分了解生命周期成本。 例如,在系统生命周期内,新用户的支持成本可以轻松地为当前用户群维护系统中的错误而节省成本。