哪些软件开发实践提供了最高的ROI?
我所在组织的软件开发团队(开发API的中间件)准备一次至少采用一种最佳实践。名单上有以下内容: 单元测试(在其真正意义上), 自动化单元测试, 测试驱动设计与开发, 静态代码分析, 持续集成能力等 有人能告诉我一项研究,该研究表明,采用哪种“最佳”实践可以获得更好的投资回报率,并更快地提高软件质量。外面有研究吗?哪些软件开发实践提供了最高的ROI?,roi,Roi,我所在组织的软件开发团队(开发API的中间件)准备一次至少采用一种最佳实践。名单上有以下内容: 单元测试(在其真正意义上), 自动化单元测试, 测试驱动设计与开发, 静态代码分析, 持续集成能力等 有人能告诉我一项研究,该研究表明,采用哪种“最佳”实践可以获得更好的投资回报率,并更快地提高软件质量。外面有研究吗? 这应该有助于我(支持我的主张)优先考虑这些实践的实施。有一些关于单元测试和TDD的ROI参考资料。请参阅我对这个相关问题的回答 “一项研究表明,采用哪种‘最佳’实践具有更好的投资回报率
这应该有助于我(支持我的主张)优先考虑这些实践的实施。有一些关于单元测试和TDD的ROI参考资料。请参阅我对这个相关问题的回答 “一项研究表明,采用哪种‘最佳’实践具有更好的投资回报率,并更快地提高软件质量” 那不是很好吗!如果有这样一件事,我们都会去做,你只需在DDJ中阅读即可 既然没有,你就必须做出痛苦的判断 没有“为8%的投资回报率做X”。有些技术需要大量投资。其他的可以免费启动
- 单元测试(真正意义上的)免费ROI立即开始
- 自动化单元测试——不是免费的——需要自动化李>
- 测试驱动的设计和开发-免费-立即启动ROI李>
- 静态代码分析-需要工具
- 持续集成功能-价格低廉,但不是免费的
- “编写测试代码的时间可能用于编写列表中的下一个功能” 诚然,测试意味着开发人员要做更多的工作,但支持调试所做的工作更少。我认为这不是1:1的交易。多花一点时间编写(并通过)正式的单元测试可以显著降低支持成本
- “遗留代码呢?” 重点是,免费是一个管理成本的问题。如果将单元测试添加到遗留代码中,那么成本并不是免费的。所以不要那样做。相反,添加单元测试作为维护、bug修复和新开发的一部分——这样就免费了
- “培训是一个问题” 根据我的经验,这只是几个可靠的示例的问题,除了代码之外,管理层还需要进行单元测试。只需要召开全体会议就可以解释需要进行单元测试,下面是示例。然后,它要求每个人报告他们的状态为“编写的测试/通过的测试”。你还没有完成60%的测试,315次测试中你只完成了232次
- “只有在为给定项目工作时,它才平均免费” 总是正确的,好的观点
- “需要更多的时间,时间不适用于业务” 您可以编写几乎无法工作且需要大量支持的坏代码,也可以编写可以工作且不需要大量支持的好代码。我认为让测试真正通过所花费的时间减少了支持、维护和调试成本。根据我的经验,重构单元测试的价值大大缩短了进行架构更改的时间。它减少了添加功能的时间
- “我也不认为这是立即的投资回报” 实际上,一个单元测试的ROI非常大,很难描述。第一个通过的测试就是你认为你可以真正信任的测试。只有一段值得信赖的代码可以节省时间,因为它减少了你花大量时间思考的事情
底线。写测试花了我3个小时吗?没有。但是我花了三个小时写这个测试,这个项目又回来了。你在找这样的东西吗
- 有一种东西叫做“局部最优”。你可以在戈德拉特的书《目标》中读到。它说,创新只有在提高总体吞吐量的情况下才有价值。实施新技术的决策应与项目内部的关键路径相关。如果技术的速度已经足够快,那么它只会造成不必要的模块积压。这并没有必要提高项目开发的总体速度。您假设您提供的列表构成了一组“最佳实践”(尽管我同意它可能是这样,顺便说一句)
与其试着挑选一个过程变更,为什么不检查一下您当前的实践呢
问问自己:
你在哪里感觉最好