保持项目最新版本的技术

时间:2009-07-27 13:24:24

标签: project-management

我正在开发一个新项目,我们正在使用一个相当不错的堆栈。 NHibernate,Spring,MVC ......这个名单还在继续。

我注意到的一件事是,自从我们开始使用新版本的NHibernate后的6个月内,第三方控件工具包和Windows 7的新版本即将发布。

我们之前遇到过一些问题,因为我们非常担心技术的旧版本会花费我们的成本,所以我想知道我们可以使用哪些技术来帮助确保我们向最新版本的东西转换为尽可能无痛?

4 个答案:

答案 0 :(得分:10)

非常简单地将其作为优先事项并随着您的进展而升级。如果您与最新版本保持同步,那么与您一次更新5个版本相比,其中的更改次数会更少。

也许创建一个分支并对beta进行测试更新,以便您知道该版本RTM时即将出现的问题(如果使用beta是您的担忧)。

答案 1 :(得分:8)

我同意这里有关经常更新的其他评论。如果你等待的时间太长,那么你就会注意到它在项目生产力方面的作用。

我们这样做的方法如下。

  • 团队中的一个人员获取最新版本,并确保所有测试都运行。
  • 升级任何dll /工具升级的人
  • 他还记录了升级。
  • 构建所有代码,对其进行必要的更改以构建
  • 运行所有测试,确保它们运行。
  • UI的手动烟雾测试
  • 使用升级文档
  • 向其他团队发送信息
  • 签入/确保它构建在构建服务器上

这样我们就不会在升级过程中降低团队的工作效率。请注意,如果没有单元测试,这将更加困难。

答案 2 :(得分:4)

“提前更新,经常更新”

如果等待会越来越困难,所以要优先考虑更新系统。开发人员大多喜欢处于最前沿,所以他们不会介意太多,关键的挑战是将这个想法卖给管理层。

一步一步地逐步升级工具总是好的。然后,如果您需要回滚到旧版本,也会更容易。大爆炸的方法更加困难,很多事情都可能出错。

让我们切合实际,每次更新都会花费你的时间,而且你的团队也会花时间切换到新的工具版本,但经过一段时间后,团队会学会处理它并在切换版本时压力水平要低得多。

答案 3 :(得分:1)

从管理角度讲,除非有令人信服的理由,否则不要升级。您必须查看升级为您的项目带来了什么。如果升级没有任何好处,请不要这样做。显然这不是一个严格的规则,但我认识的大多数团队都没有时间无缘无故地升级系统,他们太忙于功能请求和错误修复。我建议在以下基础上进行升级:

  1. 新版本正在运行 [显着]更快或更多 有效率和你的 客户/客户会看到这一点 改善或它会减少你的 内在的硬件需求。
  2. 特性 已经添加了你或你的 客户/客户希望并且可以采取 [立即]的优势。
  3. 安全性的安全性增强 影响你当前或。的缺陷 眼前的未来架构。
  4. 许可/支持原因。如果你是 在你的合同结束时,你 可能想要进入决赛 跳到最后一个版本 您有权获得的软件 虽然你仍然有支持 升级。或者,如果你在 这样一个旧版本的软件 找到支持文档 因为它很难升级 当然需要。
  5. 您所在项目的某些方面 工作直接受到影响 可能的软件 升级。如果你已经去了 使用它和测试 功能,它可能是一个 升级的好时机和[可能] 不会增加重要的负担 项目。
  6. 重大变化。如果你的 项目或它依赖的软件 经历了重大变化 可能是添加的好时机 更新到您的项目计划中。 重大变化意味着更多 艰难的升级路径应该是 而是定期坚持 因为需要修理或改进而不得不在最后一分钟出现鞋角。
  7. 不升级的具体原因:

    1. 软件,安装和回归测试需要花钱。因此需要有令人信服的理由进行升级。
    2. 新软件经常出现问题或具有未知的“功能”。出于这个原因,许多人选择在最新版本之后保留一个版本。
    3. 较新的版本通常比以前的版本慢,对于小型更新和补丁尤其如此。
    4. 兼容性问题。升级会破坏,最好跳过尽可能多的增量升级,以避免更新破坏兼容性,兼容性可能会在下次更新中修复。
    5. 我建议保留项目使用的所有软件列表及其版本和上次升级日期(以及其他重要信息,如许可信息,支持信息等)。每年评估此列表中的每个项目一次,以确保您不会错过任何与您可能错过的升级原因相匹配的更新。此列表中包含旧版本/日期和更新版本的软件可能足以说服管理层进行升级。