我正在开发一个新项目,我们正在使用一个相当不错的堆栈。 NHibernate,Spring,MVC ......这个名单还在继续。
我注意到的一件事是,自从我们开始使用新版本的NHibernate后的6个月内,第三方控件工具包和Windows 7的新版本即将发布。
我们之前遇到过一些问题,因为我们非常担心技术的旧版本会花费我们的成本,所以我想知道我们可以使用哪些技术来帮助确保我们向最新版本的东西转换为尽可能无痛?
答案 0 :(得分:10)
非常简单地将其作为优先事项并随着您的进展而升级。如果您与最新版本保持同步,那么与您一次更新5个版本相比,其中的更改次数会更少。
也许创建一个分支并对beta进行测试更新,以便您知道该版本RTM时即将出现的问题(如果使用beta是您的担忧)。
答案 1 :(得分:8)
我同意这里有关经常更新的其他评论。如果你等待的时间太长,那么你就会注意到它在项目生产力方面的作用。
我们这样做的方法如下。
这样我们就不会在升级过程中降低团队的工作效率。请注意,如果没有单元测试,这将更加困难。
答案 2 :(得分:4)
“提前更新,经常更新”
如果等待会越来越困难,所以要优先考虑更新系统。开发人员大多喜欢处于最前沿,所以他们不会介意太多,关键的挑战是将这个想法卖给管理层。
一步一步地逐步升级工具总是好的。然后,如果您需要回滚到旧版本,也会更容易。大爆炸的方法更加困难,很多事情都可能出错。
让我们切合实际,每次更新都会花费你的时间,而且你的团队也会花时间切换到新的工具版本,但经过一段时间后,团队会学会处理它并在切换版本时压力水平要低得多。
答案 3 :(得分:1)
从管理角度讲,除非有令人信服的理由,否则不要升级。您必须查看升级为您的项目带来了什么。如果升级没有任何好处,请不要这样做。显然这不是一个严格的规则,但我认识的大多数团队都没有时间无缘无故地升级系统,他们太忙于功能请求和错误修复。我建议在以下基础上进行升级:
不升级的具体原因:
我建议保留项目使用的所有软件列表及其版本和上次升级日期(以及其他重要信息,如许可信息,支持信息等)。每年评估此列表中的每个项目一次,以确保您不会错过任何与您可能错过的升级原因相匹配的更新。此列表中包含旧版本/日期和更新版本的软件可能足以说服管理层进行升级。