维护代码时要遵循的最佳实践和经验法则是什么?在开发分支中只有生产就绪代码,或者开发分支中是否有未经测试的最新代码,这是一种好的做法吗?
你们如何维护开发代码和生产代码?
编辑 - 补充问题 - 您的开发团队是否遵循"尽快提交 - 通常 - 甚至是代码包含 - 次要错误或不完整"协议或"提交 - 只有完美的代码"协议,同时将代码提交给开发分支?
最近我有一些关于软件开发指标的有趣对话,特别是它们如何在一个相当大的组织中使用,以帮助开发团队更好地工作.我知道有一些关于哪些指标可以使用的Stack Overflow问题 - 比如这个,但我的问题更多的是关于哪些指标对哪些利益相关者有用,以及在什么级别的聚合.
作为一个例子,我的观点是代码覆盖率在以下方面(也可能是其他方式)是一个有用的指标:
但我不认为高级管理层在逐个团队的基础上看到这一点是有用的,因为这鼓励人为尝试通过仅运用而不是测试代码的测试来支持覆盖.
我在一个管理层次结构中有几个级别的组织中,但绝大多数管理人员都具有技术头脑和能力(许多人仍然沾沾自喜).一些开发团队在推动敏捷开发实践方面处于领先地位,但其他开发团队则落后,现在有一个严格的要求从最高层开始,以便组织的工作方式.我们中的一些人正在启动一项计划来鼓励这一点.在这种组织中,您认为哪种指标有用,对谁,为什么以及在什么级别的聚合?
我不希望人们根据他们可以人为影响的指标来评估他们的表现.与此同时,高级管理层将需要某种证据证明正在取得进展.根据您自己组织的经验,您可以提供哪些建议或警告?
编辑
我们绝对希望将指标用作组织改进的工具,而不是作为个人绩效评估的工具.
一些上下文:
想象一下,200多家开发公司最终建立了一个或多或少独立的架构团队/部门.由20多个"项目"/生产中不同规模的应用程序组成的软件组合由团队负责人/技术负责人负责,他们负责并负责项目"架构".
由于必须整合和控制架构并在整个系统上实现某些必要的大型返工,除了所有需要的知识交换之外,公司还决定建立一个架构部门.
什么是DO和DO不是这样的事业?
组成这样一个建筑团队的人是谁?
他们应该承担什么责任?
什么超出了他们的范围?
公司有哪些有用的过渡战略?
每当有人提到"建筑团队"时,如何防止那些歪歪扭扭的样子?
贵公司是否已成功进行此类更改?
为什么会失败?
为什么成功?
这不应该是关于"什么是建筑师?"(这是非常密切相关的)的讨论.
真正有趣的观点是可接受的/现实的,甚至是无摩擦的方式来安装这样一个团队,当然除了一些关于战斗的警告,最好不要开始.