我从事一个软件项目,并希望估算出我在软件开发中所做贡献的百分比。有这样的工具吗?例如,这种工具可用于评估或谈判。毕竟,我们为赚钱而工作(是的,不仅仅是金钱,还有点保留)。我认为对于最重要的事情,有足够的挥手。
估计是非常主观的(至少对我而言),但我不知道任何提供甚至主观估计的工具。我知道Sloccount使用代码行来说明总体工作量,但不是基于每个开发人员。
我对此目的的理想工具的想法是:
很难区分实施的复杂性和问题的内在复杂性。如果存在或者对于每个子模块单独进行比较,也许可以与等效的开源对应物进行比较。
如果没有这样的工具,有没有这样的工具的优点?或者你相信“我做工作,我不衡量”?毕竟需要时间。也许项目经理应该连续进行这种估算,比如每周一次。有标准吗?是的,标准化很难,因为每个项目都有不同的目标,但也许这应该意味着应该有多个标准,而不是没有标准。这看起来类似于公司在市场中的价值。
更新:看到一些初步答案后:想象一个只输出百分比的工具是没有意义的。是否有工具可以帮助人类(尤其是管理者)做出更好的决策?或者,做出更好决策的充分统计数据是什么?这些统计数据可用吗?
答案 0 :(得分:2)
我真的怀疑有任何可靠的值得信赖的方法来衡量个人对解决方案的贡献。有时候重写一些复杂的遗留代码会导致代码行数减少,复杂性较低的解决方案(较小的圈复杂度等)可以被视为一个非常重要的贡献,而在其他情况下,删除有价值的代码覆盖导致相同统计数据的边缘情况(更少的代码行,更小的CC等)肯定是坏事。这一切都归结为人,信任和合作,团队中的个人主义几乎总是错误的,我宁愿避免它,特别是不要把它作为动机因素。
答案 1 :(得分:2)
这是一个独立的研究课题。有几种工具尝试定义 code ownership 等指标。还有其他方法可以解决协作开发的其他方面,例如我们可以在代码中使用的 trustability 。
还有一些研究尝试使用错误跟踪器中的信息。例如,识别更有可能引入错误的开发人员。但是很难客观(一个杰出的开发人员被分配到系统中最关键的部分,仍然更有可能引入关键错误)。
实际上很难货币化开发任务。错误的成本是多少?重构的好处是什么?然而,这将是估算开发人员贡献的一种方法。
我看到的最后一个酷工具是Hudson 持续集成系统的Game Plugin。根据每个开发人员的行为分配一个分数
这又是一种以某种方式评估开发者贡献的方式。
总而言之,我确实觉得你要求存在,但仍然非常不成熟。
答案 2 :(得分:0)
我认为您无法获得评估项目份额的工具。测量线的来源非常好,但是该源的质量如何呢?如果工作可以在20 ...中轻松完成,你不会希望有人获得200行资源。
此外,考虑到我的雇主片刻,很多人以不同于代码的方式为项目做出贡献。我能想到的直接例子是项目经理和测试人员 - 他们都是必不可少的,他们都应该获得一些荣誉。
马丁
答案 3 :(得分:0)
我唯一能想到的就是投票系统。我完全不知道,如果这可以在你的团队或任何地方工作 - 但我敢肯定,你需要人类对代码质量的任何实际估计。
答案 4 :(得分:0)