何时升级到新版本的语言或框架?

Jon*_*ins 3 language-agnostic technical-debt

当出现新版本的框架或语言(例如.NET 3.5,SQL2008)时,人们采用什么方法来采用/升级?

一般来说,开发人员会尽快说出来(他们希望在他们的简历上以及从管理角度为他们提供他们想要的东西提供动力提升)但商业上通常没有什么动力(很少有客户要求最新版本)并且从成本的角度来看(重新测试,培训)经常有抑制因素.

我特别想到"正在进行"的系统和项目(例如在软件公司中),这些系统和项目多年来一直存在和发展,其中"新项目使用新技术"方法不起作用.

人们是否受特定要求的驱动(需要使用新功能,潜在或现有客户需要支持它),他们是否正式评估它(在这种情况下是什么标准)或者他们是否按常规升级(在哪种情况下 - 前缘与出血边缘)?

人们是否认为不应该使用最新版本的东西应该被视为技术债务并按此管理?

或者"如果没有破坏不修复它"是一种有效的方法吗?

S.L*_*ott 5

阅读技术债务.这是一个简单的成本效益决策.

在"如果不破不修"是一个通用的管理政策,说:"明天的美元是不值得不亚于今天的,所以不要为今后的改进计划." 最终技术债务累积到产品不再跛行的程度.

最常见的突破点是不再支持某些基础架构.到那时,增量变化是不可能的.

从头开始重塑是一项新的资本投资.修复现有代码是一项费用.这些帐户迫使管理层做出技术上疯狂的决定.

对于开源软件,它需要仔细的技术管理,因为Oracle/Sun没有正式的"支持日落"公告.当然,糟糕的技术管理会导致技术破产.