Project management 使项目保持最新版本的技术
我正在做一个新项目,我们使用了一个非常好的堆栈。NHibernate,Spring,MVC。。。这个名单还有很多 我注意到的一件事是,在我们开始的6个月里,我们有了一个新版本的NHibernate,一个新版本的第三方控制工具包,Windows7即将面世Project management 使项目保持最新版本的技术,project-management,Project Management,我正在做一个新项目,我们使用了一个非常好的堆栈。NHibernate,Spring,MVC。。。这个名单还有很多 我注意到的一件事是,在我们开始的6个月里,我们有了一个新版本的NHibernate,一个新版本的第三方控制工具包,Windows7即将面世 我们以前也遇到过这样的问题,因为使用旧版本的技术会让我们付出高昂的代价,所以我想知道我们可以使用哪些技术来帮助确保我们尽可能轻松地过渡到最新版本的产品?只需将其作为一个优先事项,并在进行升级。如果您保持最新版本的更新,与一次更新5个版本相比,会有
我们以前也遇到过这样的问题,因为使用旧版本的技术会让我们付出高昂的代价,所以我想知道我们可以使用哪些技术来帮助确保我们尽可能轻松地过渡到最新版本的产品?只需将其作为一个优先事项,并在进行升级。如果您保持最新版本的更新,与一次更新5个版本相比,会有更少的破坏性更改 也许可以创建一个分支并对Beta进行测试更新,以便在使用该版本的RTMs时(如果您担心使用Beta),您可以意识到即将出现的问题。尽早更新,经常更新 如果您等待,这将是越来越困难,所以把更新系统的高度优先权。开发人员大多喜欢站在最前沿,所以他们不会太在意,关键的挑战是向管理层推销这一理念 在一个一个工具的升级中,一步一个脚印的方法总是好的。如果您需要回滚到旧版本,那么也会更容易。大爆炸方法更难,很多事情都可能出错
让我们现实一点,每次更新都会花费您和您的团队时间来切换到新的工具版本,但经过一段时间后,团队学会了如何处理它,切换版本时的压力会大大降低。我同意这里关于经常更新的其他评论。如果您等待的时间太长,您将在项目生产力中注意到这一点 我们的做法如下
- 团队中的一名人员,获取最新版本,并确保所有测试都运行
- 该人员将升级任何要升级的dll/工具
- 他还记录了升级过程
- 生成所有代码对其进行必要的更改以生成
- 运行所有测试,确保它们运行
- 用户界面的人工烟雾测试
- 将信息与升级文档一起发送给团队其他成员
- 签入/确保它构建在构建服务器上
这样我们就不会在升级过程中降低团队的生产力。注意,如果没有单元测试,这将非常困难。从管理的角度来看,除非有令人信服的原因,否则不要升级。你必须看看升级给你的项目带来了什么。如果升级没有好处,就不要这样做。显然这不是一个硬性规定,但我知道的大多数团队没有时间无缘无故地升级系统,他们忙于功能请求和bug修复。我建议在以下基础上进行升级:
我建议保留项目使用的所有软件及其版本和上次升级日期的列表(以及其他重要信息,如许可信息、支持信息等)。每年评估此列表中的每个项目一次,以确保您不会错过任何与您可能错过的升级原因相匹配的更新。此列表中包含旧版本/日期和新版本的软件可能足以激励管理层进行升级。通过分支机构管理更改绝对是一种选择。这在理论上是好的,但是,如何确保您没有在早期和经常引入问题?@lomaxx:如果您不测试升级,那么以后肯定会引入问题。引入变更只是测试和QA的一部分。这很简单,应该是你过程的一部分。