有时,我们会被问到一个问题,公司使用PVS-Studio会获得多少货币价值。 我们决定以文章的形式提出答复并提供表格,以显示分析仪的用途。 我们无法在本文中证明所有计算的绝对准确性,但我们认为读者会同意我们的想法,这将有助于就获得许可做出决定。
首先,我们要在站点上实现ROI-Calculator,并发布其工作原理的详细说明。 然而,已经准备好描述,很明显计算器是不必要的。 描述中给出的表就足够了。 因此,我们只是作为您现在正在阅读的文章来草拟此解释。 希望它能帮助您充分了解PVS-Studio静态代码分析器正常使用的合理性。
PVS-Studio是一种工具,旨在检测用C,C ++,C#和Java编写的程序源代码中的错误和潜在漏洞。 它适用于Windows,Linux和macOS环境。
让我们在开发过程中通过使用PVS-Studio静态代码分析器来计算投资回报率-首先是在“怀疑模式”下,然后是更实际的情况。
开发人员工作时间的价值
为了确定PVS-Studio将退还多少钱,首先我们需要计算开发人员工作时间的实际成本(价值)是多少。
事实是,仅拿开发商的年薪除以1900个小时的工作时间是不够的。 顺便说一下,选择数字1900相当随意。 每年的工作时间数在很大程度上取决于国家。 例如,在韩国,一年的工作时间为2069,在俄罗斯-1974,在美国-1783和在英国-1676。尽管如此,就40周工作时间而言,1900是完全合适的,我们将精确地使用此数字进行进一步的计算。
那么,为什么仅用1900除以年薪呢?
首先,程序员和任何领域的其他员工一样,所赚的钱要比他们的薪水多得多,否则,企业将处于亏损状态。 程序员需要配备工作区,Internet和Cookie,还需要支付租金等。 哦,是的,还有经济奖励,公司活动和各种奖金。
综上所述,开发人员必须能够获利,这意味着他应直接或间接为公司带来净利润。 实际上,这意味着开发人员的工作(根据情况)带来的收入是其薪水的2到10倍。 需要强调的是,开发人员与其他受薪雇员没有什么不同。 有一些与外包有关的特性,但这是另一回事了。
对于持怀疑态度的读者,我们将使用乘数2。这意味着开发人员带来的收入是其薪水的两倍。 实际上,拥有这种乘数的公司正处于收支平衡的边缘。 更诚实的方法是乘数至少等于3。
这到底是什么意思? 如果程序员在开发过程中退出了1个小时,那么公司损失的钱不会等于他工作一个小时的时间,而是损失了2到3倍。
还有第二个c因素会影响当前工作时间的价格。 事实是,员工每天不编码8个小时。 令人难以置信的是,一个人只是早上来,在整个工作日中要花8个小时来处理代码。 一个开发人员正在与Trello一起工作,参加会议,回复邮件中的信件,参加代码审查。 最后,他需要去厕所喝茶:)。 在最佳情况下,他将直接使用代码工作6个小时。 如果您不是以“怀疑模式”阅读本文,则可以理解实际上4个小时实际上是更合理的时间。
事实证明,一个小时的成本需要乘以8/6 = 1.33(怀疑模式)或8/4 = 2(更接近实际)。
现在,让我们将讨论的两个乘数相乘并得到最终的乘数,您需要乘以一个开发人员一小时的费用:
- 怀疑论者的乘数:2 * 1.33 = 2.66
- 一个接近现实的乘数:3 * 2 = 6
实际上,该系数会更大一些,因为我们在计算中没有考虑假期。
现在让我们看看当平均年薪为74,000美元的开发人员在工作流程中停留1小时时,这对公司意味着什么。 根据StepStone门户网站2018年的平均薪水,德国的平均年薪为74,000美元。
注意事项 为了更好地理解,应该注意,实际上公司可以在薪金上花费超过74,000美元。 应该注意的是,公司可能会向各种基金捐款并缴纳不同的税款。 但是,它是如此依赖国家和税收计划,以至于我们甚至都不会尝试考虑所有这些选择。 为简单起见,我们假设该公司不承担任何额外费用,并且仅花费开发人员的薪水每年74,000美元。 我们决定要注意,我们四舍五入数字不赞成PVS-Studio。
如果工资是$ 74,000,则小时工资为$ 74,000 / 1900 = $ 39。 事实证明,如果开发人员在修复错误上分心了1个小时,那么该公司将无法获得:
- 怀疑者:$ 39 /小时* 2.66 = $ 103 /小时
- 实际上超过:$ 39 /小时* 6 = $ 234 /小时
这是开发人员在做有用的事情时一小时的实际工时成本(价值)。
PVS-Studio可以节省多少小时
很难确定在早期发现错误时,PVS-Studio每年将节省多少小时。 错误可能非常不同。 开发人员可以自己注意到其中的一些,并立即对其进行修复。 尽管如此,有时错误可能会使开发人员
在几天内无法进行有用的活动。
根据对怀疑论者的经验考虑,假设分析仪每周可以节省至少2个开发人员的工作时间,这使他不必再查找单元测试或测试部门发现的错误。 是的,修复错误本身通常需要花费几分钟,但是对于重现问题的尝试,在bugtracker中的对话,测试运行,合并等,这很容易需要2个小时。
上面提到的两个小时是一个怀疑的选择,实际上可能要花费更多。 请记住,有时分析仪可以防止硬性重现的
黑臭虫 ,平均值可以明确地指定为3小时。
一年大约有50周。 在一年中,分析仪节省了以下实际的开发人员工作时间:
- 对静态分析的怀疑态度:2小时* 50 = 100节省的时间
- 积极的态度:3小时* 50 = 150节省的时间
是时候计算投资回报率了
然后使用PVS-Studio,一名程序员的薪水为74.000美元,每年将重返业务:
- 如果您是持怀疑态度的人:$ 103 /小时* 100小时= $ 10.300
- 现实:234美元/小时* 150小时= 35.100美元。
现在,让我们以一个由10个人组成的典型团队为例。 引入PVS-Studio后,我们可以期望,由于节省了时间,该团队将能够执行有用的工作,而这些工作的成本为:
- 怀疑论者:103,000美元
- 现实:351,000美元
最终公式
因此,现在让我们将所有这些合并为一个公式。
让我们将程序员的年薪表示为S。
团队中的开发人员数量为N。
- 怀疑者的公式:N *(S / 1900)* 2.66 * 100
- 真实公式:N *(S / 1900)* 6 * 150
我们如何引用表中具有不同开发人员数量的团队的计算。 该表显示了如果一年中开发人员忙于创建新事物而不是编辑错误的话,开发人员团队可以为公司赚取的预计金额。 这些是需要与许可价格进行比较的数字。
表说明。 第一行:开发人员的年薪。 左列:团队中的程序员人数。 表单元:如果不编辑错误(PVS-Studio可以找到错误),团队将忙于有用的编程,那么团队在这一年中将为公司额外赚取多少钱。
怀疑者表:
表N1。 怀疑论者。 红色:使用PVS-Studio可能不合理。 绿色:使用静态分析仪是合理且有用的。 蓝色:用法非常有益。实际表:
表N2。 现实性 红色:使用PVS-Studio可能不合理。 绿色:使用静态分析仪是合理且有用的。 蓝色:用法非常有益。我们认为,第二张表是有效的,并且在评估许可证获取的可行性时考虑到这一点是合理的。
注意事项
当然,给定的计算并不总是适用,也不是无处不在。 例如,如果该项目的错误和漏洞的价格很高,则没有理由将使用PVS-Studio的价值与薪水联系起来。 在此类项目中,应评估可能的金钱和声誉损失,并在使用代码分析器时将其与降低风险相关联。 这是它自己的故事,从计算的角度来看,我们还不知道如何处理它。
同样,计算对于外包公司可能不起作用。 这听起来可能不是很漂亮,但是这些公司有兴趣在开发,测试和维护上尽可能多地销售时间。 从某种意义上说,使用分析仪甚至会减少他们的收入。 PVS-Studio的客户中没有外包公司这一事实间接证实了这一点。 此外,乍一看,在这些公司中可能会发生一些奇怪的过程。 在活动减少时,公司甚至可以亏本地承接项目。 这比在假期中解散一些开发人员要好。 他们宁愿忙于某些事情。
结论
因此,尽管计算可能并不适合所有公司,但我们希望我们能够设法说明如何从整个业务角度评估使用PVS-Studio的有效性。