Project management 开发工作的估计-分配的开发时间和bug修复之间的比率

Project management 开发工作的估计-分配的开发时间和bug修复之间的比率,project-management,estimation,Project Management,Estimation,我现在有一个很好的评估项目开发工作的过程,考虑到最坏的情况,我想我需要花多少时间来做,然后我把这个数字翻了一番。对于我的每个团队成员,我有另一个比率(更高或更低),但想法是一样的 我的问题是在修复阶段,很难预先告诉我为解决问题预留了多少时间,因为这取决于许多参数(项目的复杂性、员工技能水平、管理和设计质量、QA质量等) 我仍然需要从项目纯开发估算中确定一个百分比,我应该始终为问题修复添加该百分比(仅在修复阶段,直到“上线”/“生产”/“下一版本”等) 是否有一种方法可以定义实际的黄金分割率?有人

我现在有一个很好的评估项目开发工作的过程,考虑到最坏的情况,我想我需要花多少时间来做,然后我把这个数字翻了一番。对于我的每个团队成员,我有另一个比率(更高或更低),但想法是一样的

我的问题是在修复阶段,很难预先告诉我为解决问题预留了多少时间,因为这取决于许多参数(项目的复杂性、员工技能水平、管理和设计质量、QA质量等)

我仍然需要从项目纯开发估算中确定一个百分比,我应该始终为问题修复添加该百分比(仅在修复阶段,直到“上线”/“生产”/“下一版本”等)

是否有一种方法可以定义实际的黄金分割率?有人有吗?
20%? 50%?

测试驱动开发减少了这些痛苦。以编写测试的时间为代价,您可以立即(如果您实际运行了测试)检测回归

正如你所说,有很多变数。对我来说,一个共同点是看添加的行和删除的行。当每次提交都添加和删除大约相同数量的行时,这些就是错误修复

使用SCM跟踪这是多少次提交/周/行


注意:在某些情况下,删除器可能比加法器做得更好。(只要它们不引入bug)

测试驱动开发可以减少这些痛苦。以编写测试的时间为代价,您可以立即(如果您实际运行了测试)检测回归

正如你所说,有很多变数。对我来说,一个共同点是看添加的行和删除的行。当每次提交都添加和删除大约相同数量的行时,这些就是错误修复

使用SCM跟踪这是多少次提交/周/行


注意:在某些情况下,删除器可能比加法器做得更好。(只要他们不引入bug)

在传统瀑布式项目中,我们发现一个好的经验法则是20/20/20/40-20 HLD、20 DD、20 CCUT、40集成和测试。我总是发现它很有用,因为它既适用于初始估计,也适用于在您进入周期的一部分时的检查点

从正在进行的交付后维护来看,我没有那么好的比率。我知道的大多数项目甚至都不尝试,它们只是预算了一些支持小时数,并且认为有些是错误修复,有些是用户手动操作

补充-意识到我应该澄清我的首字母缩略词:

HLD=高级设计 DD=详细设计 CCUT=代码、编译、单元测试


我在这里借鉴了传统的瀑布概念,因为这是我获得最多指标的地方。因此,这些假设是,您(或多或少)必须在DD之前进行HLD,在CCUT之前进行DD,等等。实践经验表明,它们可以混合得更多,但如果HLD和CCUT同时发生,则存在一些实际风险。

在传统瀑布式项目中,我们发现一个好的经验法则是20/20/20/40-20 HLD、20 DD、20 CCUT、40集成和测试。我总是发现它很有用,因为它既适用于初始估计,也适用于在您进入周期的一部分时的检查点

从正在进行的交付后维护来看,我没有那么好的比率。我知道的大多数项目甚至都不尝试,它们只是预算了一些支持小时数,并且认为有些是错误修复,有些是用户手动操作

补充-意识到我应该澄清我的首字母缩略词:

HLD=高级设计 DD=详细设计 CCUT=代码、编译、单元测试


我在这里借鉴了传统的瀑布概念,因为这是我获得最多指标的地方。因此,这些假设是,您(或多或少)必须在DD之前进行HLD,在CCUT之前进行DD,等等。实践经验表明,它们可以混合得更多,但如果HLD和CCUT同时发生,则存在一些真正的风险。

正如您所说,修复错误在很大程度上取决于代码的复杂性。像ProjectCodeMeter这样的自动化工具通过分析源代码来计算这一点,根据代码的不同,它通常会为调试和测试提供%30%到%60%的支持。

正如您所说,bug修复在很大程度上取决于代码的复杂性。ProjectCodeMeter之类的自动化工具通过分析您的源代码来计算,它通常会为我提供%30%到%60%的调试+测试,取决于代码。

如果有一个好的经验法则如何估算固定成本-此规则必须考虑到固定成本将随着项目变更的增加而增加。如果有一个好的经验法则如何估算固定成本-此规则必须考虑到固定成本将随项目变更的增加而增加应用于项目的变更数量。