首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪些软件开发实践提供了最高的ROI?

哪些软件开发实践提供了最高的ROI?
EN

Stack Overflow用户
提问于 2008-11-27 02:35:33
回答 8查看 1.3K关注 0票数 3

我所在组织中的软件开发团队(负责开发API中间件)正准备一次至少采用一种最佳实践。以下是列表中的内容:

单元测试(真正意义上的),自动化单元测试,测试驱动的设计和开发,静态代码分析,持续集成能力,等等。

谁能给我指出一项研究,该研究表明,哪些“最佳”实践在采用时具有更好的ROI,并更快地提高软件质量。外面有研究吗?这应该有助于我(支持我的主张)确定这些实践的实现的优先级。

EN

回答 8

Stack Overflow用户

发布于 2008-11-27 02:47:21

“一项研究表明,哪些‘最佳’实践在采用时具有更好的ROI,并更快地提高软件质量。”

那不是很棒吗?如果真有这样的事情,我们都会这么做,你只需要在DDJ上读到它就行了。

既然没有,你就得做出痛苦的判断。

没有“投资回报率为8%的do X”。其中一些技术需要大量投资。其他的可以免费启动。

  • 单元测试(真正意义上的)--免费--投资回报开始immediately.
  • Automated单元测试--不是免费--需要自动化。
  • 测试驱动设计与开发-免费-投资回报立即开始。
  • 静态代码分析-需要tools.
  • Continuous集成功能-价格低廉,但不是免费的

你不可能知道投资回报率。所以你只能优先考虑投资。有些东西比其他东西更容易被人们采用。你必须考虑到你的团队是否愿意接受这项技术。

编辑。单元测试是免费的。

  • “花时间编码测试本可以用来编码列表中的下一个功能”是的,测试意味着开发人员做更多的工作,但支持做更少的调试工作。我认为这不是1:1的交易。多花一点时间编写(和通过)正式的单元测试可以极大地降低支持成本。
  • “遗留代码呢?”重点是,免费是一个管理成本的问题。如果您将单元测试添加到遗留代码中,则成本不是免费的。所以别这么做。相反,将单元测试添加为维护、错误修复和新开发的一部分--那么它的free.
  • "Traning就是一个问题“在我的经验中,这只是几个可靠的例子,以及除了代码之外对单元测试的管理需求。它不需要召开全体人员会议来解释单元测试是必需的,下面是示例。然后,它要求每个人将自己的状态报告为“已编写测试/已通过测试”。你没有完成60%的测试,你在315个测试中只有232个。
  • “如果它对给定的项目有效,平均来说是免费的”Always true,good point.
  • "require more time,time point.
  • “require lot for the business”你可以写出几乎不起作用的糟糕的代码,需要大量的支持,或者你可以写出好的代码,但是不需要太多的支持。我认为让测试真正通过所花费的时间减少了支持、维护和调试成本。根据我的经验,单元测试对于重构的价值极大地减少了进行架构更改的时间。它减少了添加功能的时间。
  • “我也不认为它会立即获得投资回报”事实上,一个单元测试的投资回报率如此之大,以至于很难对其进行表征。首先要通过的测试就是你认为可以真正信任的测试。只有一段值得信赖的代码可以节省时间,因为这是一件你必须花费大量时间思考的事情。

战争故事

本周,我不得不完成一个批量数据加载器;它验证并加载了我们从客户那里接受的30,000个行文件。我们有一个很好的库,用来上传一些内部开发的文件。我想将该模块用于客户文件。但是客户文件有很大的不同,我可以看出库模块API并不是真正合适的。

因此,我重写了API,重新运行测试,并将更改签入。这是一个重大的API变化。很多破损。找到每一个引用并修复它们的源码。

在运行相关测试后,我将其签入。然后,我重新运行了一个我认为不是紧密相关的测试。哦哦。它失败了。它正在测试的东西不是API的一部分,它也崩溃了。已修复。再次签到(晚了一个小时)。

如果没有基本的单元测试,这将破坏QA,需要错误报告,需要调试和返工。看一下工作量:1小时的QA人员找到并报告bug +2小时的开发人员时间来重建QA场景并定位问题+1小时来确定要修复的内容。

使用单元测试:1小时来意识到测试没有通过,并修复代码。

底线。我写测试花了3个小时吗?不是的。但是这个项目从我写测试的投资中得到了三个小时的回报。

票数 8
EN

Stack Overflow用户

发布于 2008-11-27 02:50:18

你在找这样的东西吗?

  • The ROI of Software Process Improvement A New 36 Month Case Study by Capers Jones
  • Agile Practices with the Highest Return on Investment
票数 1
EN

Stack Overflow用户

发布于 2008-11-27 12:14:58

您假设您所呈现的列表构成了一组“最佳实践”(尽管我同意这一点,顺便说一句)

与其试图挑选一个流程变更,为什么不检查一下您当前的实践呢?

问问你自己:

你觉得哪里最痛?您可能会更改哪些内容来减少/消除它?

重复以上步骤直到不痛为止。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/322807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档