InfoQ|种提高开发速度的方法,5( 二 )


正如我们的一位客户提到的那样 , 他们意识到他们并没有充分利用自己的资源来最大程度地提高效率 , 而且他们的开发人员将大量时间花在研究生产环境的问题上 。 他们找到了一种工具 , 可以帮助开发人员在生产环境中进行调试 , 并最终为他们在每个bug上节省了大约1个小时或更多时间 , 让他们能专注于创造价值的任务 。
像我们的客户那样做 , 通过事半功倍来避免选择 。 找到可以让你能充分利用现有资源的工具和方法 , 特别是开发人员 。 其中一些工具能帮助你实现代码的自动化或减少代码的复杂性 。 与其制定一个新员工的入职流程或试图在有限的资源下工作 , 不如充分利用现有工具 , 以确保你不必在这两个选项中做出选择 。
4.找出你的修复方法速度降低的另一个原因是修复bug所花费的时间和资源 。 你会发现开发人员的大部分时间都花在修复bug上 , 而不是花在开发新代码或创建新功能上 。 调试对于运行良好的机器(即你的软件)来说是必不可少的 。 然而 , 它完全耗尽了开发人员的时间(准确地说是60%) , 从而降低了开发速度 。
对那些花了无数时间进行调试的人来说 , 即使你认为已经结束了 , 但它并没有 。 这可以从“完成”(done)的定义中看出 , “完成”指的是“当软件产品必须满足的所有条件或验收标准都得到满足 , 并准备被用户、客户、团队或消费团队所接受时” 。 无论你是如何实现它的 , 这都意味着每个使用该软件的人(不论他们在软件的哪一端)的所有需求都得到了满足 , 它才会被认为是真正完成了 。 然而 , 获得这种水平的成品可能需要投入大量时间 , 这使得开发人员无法专注于产品的其他方面(这些方面同样需要他们关注) 。
那该怎么办?你是选择做得好的产品 , 还是持续优化的半成品?相反 , 我们建议尽快找到能为你提供所需数据的工具和方法 , 以解决bug并缩短解决bug的时间 。 通过释放开发人员处理bug的时间 , 让他们有更多的时间来处理其他事情 , 包括确保你的软件达到完美状态 。
我们一个客户提到他们缺少合适的Lambda调试工具 。 这大大降低了他们开发新特性的时间 , 延长了发布新补丁所需的时间 。 他们了解到 , 无论如何 , 他们都需要找到一种方法来帮助他们的开发人员进行调试 。
5.找出你的数据数据使世界运转 。 但通常情况下 , 你的开发人员可能会被大量数据所淹没 。 实际上 , 软件开发的每个方面都需要数据 。 然而 , 这种对数据的迫切需求导致开发人员积累了大量数据 , 这些数据大多会在代码中制造噪音并分散开发人员的注意力 。
InfoQ|种提高开发速度的方法,5
文章图片
通常 , 正如我们的一位客户所发现的那样 , 这种过剩的数据可能是由一种称为LoggingFOMO的现象造成的 。 它代表了对丢失日志行及其所包含数据的恐惧 。 开发人员非常害怕丢失某些内容 , 以至于他们设置了过多日志行 , 希望其中的某个能为他们带来所需的数据 。 然而 , 这些日志会在系统中产生过多的噪音 , 并且维护这么多的日志会导致高昂的成本 。
另一方面 , 有时开发人员并没有编写足够的日志 , 从而阻碍他们获取所需的数据点来继续前进并解决问题 。 这是一个陷阱 , 但它有解决办法!有些工具既可以帮你准确地获取所需的日志 , 也能让你在事后进行日志记录 , 从而避免数据过多的问题 。
InfoQ|种提高开发速度的方法,5
文章图片
总结虽然前进的道路可能会很艰难 , 但这并不意味着需要沿着艰难的道路继续前进 。 不管环境如何影响你团队的速度 , 都有各种各样的解决方案可以帮他们提高速度 。 如果有正确的工具和方法 , 上述所有痛苦都可能只是一段记忆 。 例如 , 在Rookout中 , 我们搭建了一台机器 , 让开发人员可以毫不费力地调试 , 立即获得他们所需要的数据 , 并随时记录任何内容 , 即使是在prod中也是如此 。 找出团队的弱点 , 并消除挫折感 。