当前位置:  开发笔记 > 编程语言 > 正文

哪些软件开发实践提供最高的投资回报率?

如何解决《哪些软件开发实践提供最高的投资回报率?》经验,为你挑选了1个好方法。

我的组织中的软件开发团队(开发API - 中间件)正准备一次采用至少一个最佳实践.列表如下:

单元测试(实际意义上),自动化单元测试,测试驱动设计与开发,静态代码分析,持续集成功能等.

有人可以请我参加一项研究,该研究表明采用哪种"最佳"做法可以获得更好的投资回报率,并更快地提高软件质量.那里有研究吗?这应该有助于我(支持我的主张)优先实施这些做法.



1> S.Lott..:

"一项研究表明,采用哪种'最佳'做法可以获得更好的投资回报率,并更快地提高软件质量"

那不是很棒!如果有这样的事情,我们都会这样做,你只需在DDJ中阅读它.

既然没有,你就要做出痛苦的判断.

没有"为8%的投资回报率做X".一些技术需要大量投资.其他人可以免费开始.

单元测试(实际意义上) - 免费 - ROI立即启动.

自动化单元测试 - 不是免费的 - 需要自动化.

测试驱动设计和开发 - 免费 - ROI立即启动.

静态代码分析 - 需要工具.

持续集成功能 - 价格低廉,但不是免费的

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

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

"编写测试代码的时间本来可以用来编写列表中的下一个功能"真的,测试意味着开发人员做了更多的工作,但支持工作调试的工作量更少.我认为这不是1:1的交易.编写(和传递)正式单元测试花费的时间大大减少了支持成本.

"遗留代码怎么样?" 关键是免费是管理成本的问题.如果将单元测试添加到旧代码中,则成本不是免费的.所以不要这样做.相反,添加单元测试作为维护,错误修复和新开发的一部分 - 然后它是免费的.

"培训一个问题"根据我的经验,这只是一些可靠的例子,除了代码之外,管理层还需要单元测试.它不需要比召开全体员工大会更解释说,单元测试需要和这里的例子.然后它要求每个人报告他们的状态为"测试书面/测试通过".你没有完成60%,你在315次测试中有232次.

"如果它适用于特定项目,它只能平均免费"总是如此,好的一点.

"需要更多的时间,时间对于业务来说是免费的"你可以写出几乎不起作用并且需要大量支持的坏代码,或者你可以编写有效的代码并且不需要很多支持.我认为实际通过测试所花费的时间会降低支持,维护和调试成本.根据我的经验,重构的单元测试的价值大大减少了进行体系结构更改的时间.它减少了添加功能的时间.

"我不认为这是ROI的立即"实际上,一个单元测试具有如此巨大的投资回报率,很难刻画.第一个通过考试的人认为你真的可以信任.只有一个值得信赖的代码就可以节省时间,因为你花费大量时间思考这个问题要少一些.

战争故事

本周我必须完成批量数据加载器; 它验证并加载我们从客户接受的30,000个行文件.我们有一个很好的库,用于上传一些内部开发的文件.我想将该模块用于客户文件.但客户文件足够不同,我可以看到库模块API不太合适.

所以我重写了API,重新测试并检查了更改.这是一个重大的API更改.很多破损.很多人在寻找每个参考资料并修复它们.

在运行相关测试后,我检查了它.然后我重新考虑了我认为是一个不密切相关的测试.糟糕!它失败了.它正在测试一些不属于API的东西,它破坏了.固定.再次入住(延迟一小时).

如果没有基本的单元测试,这可能会导致QA中断,需要错误报告,需要调试和返工.看看人工:1小时的质量检查人员找到并报告错误+ 2小时的开发人员时间来重建质量保证方案并找出问题+ 1小时来确定要解决的问题.

使用单元测试:1小时即可实现测试未通过,并修复代码.

底线.我花了3个小时写测试吗?没有.但是这个项目得到了三个小时的回报,我的投资用于编写测试.

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有