【问题标题】:Improving productivity to 1 Bug correction per man/day [closed]将生产力提高到每人/天 1 个错误修正 [关闭]
【发布时间】:2009-03-31 04:42:39
【问题描述】:

我是一名高级软件工程师,几个月前我被要求帮助协调错误更正。项目经理(非技术人员)给了我一个目标,将生产力提高到每人/天 1 个错误修正。这是一个真正的挑战,我想知道其他开发人员/经理可能采取了哪些措施来提高错误纠正率。

在这种情况下起作用的一些因素:

  • 团队分布在地理上(欧洲、亚洲、澳大利亚),每个区域有 10-20 名开发人员
  • 我在这家公司才 9 个月,所以我不太熟悉的大型代码库
  • 只有最缺乏经验的开发人员会被分配到错误更正,最有能力的开发人员正在努力改进
  • 我们遵循敏捷,因此我们使用源代码控制、持续集成、错误数据库,项目有新工作的时间表和规范,我们有测试人员并进行可用性测试
  • 我们的代码依赖于许多内部和第三方组件/库
  • 项目经理有一些旧的错误纠正指标,显示每人/天纠正 0.7 个错误。我担心的是,这是基于一组经验丰富的开发人员开发原型,纠正他们自己编写的代码中的错误。现在我正在协调一个不熟悉代码的开发人员团队,并且错误来自验证团队。

阅读前几个答案后的更多信息:

  • 我曾试图反对使用错误更正的生产力指标,但这种方法并没有走得太远
  • 所有错误都按优先级排序 (1-5),包括严重性 (1-5) 并标有其他信息(例如,被另一个错误阻止、崩溃、不可重现等)
  • 大多数错误在纠正后都会编写单元测试用例
  • 如果可能,特定代码区域的错误会分配给熟悉该区域的人员
  • 按团队跟踪错误纠正率,并保留纠正历史记录
  • 在日常站立会议中,我试图通过提出阻止问题并解决问题来让人们感动
  • 所有新代码都是用单元测试编写的
  • 是的,我一直在尽我最大的努力通过各种方式提高生产力指标 - 关闭旧的不相关的错误,创建和纠正在没有错误报告的情况下可以解决的问题
  • 我开发了 python 脚本,可以直接访问错误数据库,以自动执行错误管理和报告创建的一些普通方面

  • -

【问题讨论】:

    标签: project-management bug-tracking maintenance


    【解决方案1】:

    我认为一个很好的起点是将错误修复过程系统化。如果您每天的 bug 少于 1,我假设您的代码库很大,并且这些 bug 很难找到/重现。我先分析一下

    1) 多长时间了解这个 bug

    2) 找到/复制多长时间

    3) 修复了哪些代码(这里有模式吗)

    4) 修复时,是否添加另一个单元测试

    5) 您是否会审查发生错误的个人和团队

    几周的时间会为你未来的方向打下一个非常好的基础。这也是您的经理应该接受的专业方法。

    【讨论】:

      【解决方案2】:

      虽然错误纠正率在某些情况下是一个有效的指标,但在其他情况下可能会产生误导。有些错误显然比其他错误更难修复。

      您可能想尝试的想法包括将错误分类到不同的类别。根据修复难度、对客户的重要性或复杂性等指标进行排序。

      在敏捷环境中,您主要专注于编写测试代码。想想他的一个bug的生命周期。您尝试做的第一件事就是复制它。如果您可以针对它编写一个测试用例,您就可以衡量您在修复错误方面的进展情况。这样做会提高错误纠正率。

      【讨论】:

        【解决方案3】:

        在经验丰富的开发人员修复错误和初级开发人员创建增强功能之间切换会很有帮助,但在您的情况下这听起来不太可能。

        尽量不要让人们陷入困境。如果有人遇到问题但无处可去,请鼓励他们寻求帮助并走上正轨。

        根据上面的海报,让经验丰富的开发人员编写测试用例以进行增强。 (当然,这会让 bug 更难修复)

        您总是可以故意添加错误并修复它们。

        【讨论】:

        • “你总是可以故意添加错误并修复它们” - 嘘,嘘
        • obDilbert:“今天下午我要给我写一辆小型货车!”:Wally
        【解决方案4】:

        您可以询问开发人员他们认为错误修复周期中最耗时的部分是什么,并思考如何使用这些信息。

        他们正在做实际的工作,他们对瓶颈是什么拥有最多的信息是合理的。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-09-26
          • 1970-01-01
          • 1970-01-01
          • 2010-09-11
          • 1970-01-01
          • 2010-11-20
          • 2013-04-09
          相关资源
          最近更新 更多