PVS-Studio投资回报率

PVS-Studio投资回报率

有时我们会被问及使用PVS-Studio分析仪将给公司带来什么经济利益。 我们决定以文章的形式发布答案,并提供表格来说明分析仪如何有用。 我们无法在文章中证明所有计算的绝对可靠性,但是我们认为读者会同意我们的想法,这将有助于就获得许可的问题做出决定。

首先,我们希望在网站上实现投资回报率计算器,并发布其操作原理的详细说明。 但是,在准备好说明之后,很明显计算器是多余的。 解释中给出的那些表已足够。 因此,我们只是以您现在正在阅读的文章的形式来构成这种解释。 我们希望这将有助于确保合理使用PVS-Studio静态代码分析器。

PVS-Studio是用于检测用C,C ++,C#和Java编写的程序的源代码中的错误和潜在漏洞的工具。 它可以在Windows,Linux和macOS上运行。

让我们通过在开发过程中以“怀疑”模式使用PVS-Studio静态代码分析器,然后以更实际的版本来计算投资回报。

程序员小时值


要确定PVS-Studio可以退还多少钱,首先您需要计算程序员工作时间的实际成本(价值)是多少。

事实是,仅仅拿程序员的月薪再除以160(每周工作40小时的平均小时数),还不够。

首先,程序员与任何其他领域的员工一样,带来的收入超过了获得报酬的收入,否则,企业的收益就会减少。 程序员需要有一个工作场所,为房地支付租金,为他们购买cookie,为他们提供Internet,等等。 哦,是的,还有奖金,公司聚会,各种奖金。

同时,使用程序员应该是有利可图的,也就是说,他必须直接或间接为公司带来净利润。 在实践中,这意味着程序员的工作,根据情况,所带来的收入是其薪水的2-10倍。 我们再次强调,这里的程序员与任何其他员工没有什么不同。 外包具有某些功能,但这是另一回事。

对于持怀疑态度的读者,我们采用系数2。也就是说,程序员带来的收入是薪水的两倍。 实际上,具有这种比率的公司即将达到收支平衡。 更为诚实的是,系数至少等于3。

这一切是什么意思? 如果程序员在开发过程中退出了1个小时,则该公司收到的金额不等于其工作时间,而是两倍或三倍。

还有一个因素会影响实际工作时间的价格。 事实是,员工根本不每天编程8个小时。 无法想象一个人是早上来坐下的,所以连续8个小时不停地从事代码工作。 程序员与Trello一起工作,参加会议,答复邮件中的信件,参加代码审查。 最后,他仍然需要去厕所喝茶:)。 在最佳情况下,它将直接与代码一起使用6个小时。 而且,如果您不以怀疑的态度阅读本文,那么您会理解,实际上4个小时是一个更加可信的时间。

因此,事实证明,一个小时的成本需要额外乘以8/6 = 1.33(怀疑模式)或8/4 = 2(更接近现实的选择)。

现在,我们将两个考虑的系数相乘,得出最终的系数,您需要用该系数乘以程序员工作时间的成本:

  • 怀疑论者的系数:2 * 1.33 = 2.66
  • 接近现实的系数:3 * 2 = 6

实际上,由于我们的计算中未考虑休假,因此系数会稍大。

现在,让我们来看看一家公司从工作流程中退出一个薪水为100,000卢布的程序员1小时意味着什么。

注意事项 为了理解,我们注意到实际上该公司在薪金支付上花费了100,000多卢布。 应当指出,公司向各种基金捐款(“工资税”)。 而在扣除13%的税款后,每个人将获得87,000卢布。 为了简化计算,我们将不考虑扣除额,并假设该公司仅花费了100,000。

以100,000卢布的薪水计算,一小时的工作效率为625卢布。 事实证明,如果程序员分心1小时来纠正错误,则由于以下原因,该公司将无法赚钱:

  • 怀疑者:625卢布/小时* 2.66 = 1660卢布/小时
  • 实际上超过:625卢布/小时* 6 = 3750卢布/小时

这是程序员忙于有用工作时一小时的实际价值(价值)。

PVS-Studio可节省多少小时


很难说通过在早期发现错误,PVS-Studio每年可以节省多少小时。 错误非常不同。 其中一些会立即被程序员注意到并立即得到纠正。 有时bug会使程序员分心几天

出于怀疑的经验原因,我们说分析仪每周将节省至少2个小时的程序员工作,而无需查找由单元测试或测试部门发现的错误。 是的,修复错误通常需要几分钟,但是尝试重现问题,错误跟踪器中的对应关系,测试运行,合并等,将很容易花费这两个小时。

以上两个小时是一个怀疑的选择,实际上可能还有更多。 考虑到分析仪有时可以防止硬复制海森袋的出现 ,因此很可能会指出3小时的平均值。

一年大约有52周。 在一年中,分析仪节省了以下真正的程序员工作时间:

  • 对静态分析的怀疑:2小时* 52 =节省104小时
  • 积极的态度:3小时* 52 =节省156小时

是时候计算投资回报率了


然后,一名程序员的薪水为100,000卢布的PVS-Studio使用将每年恢复营业:

  • 如果您是怀疑者:1,660卢布/小时* 104小时= 172,640卢布
  • 真的:3750卢布/小时* 156小时= 585,000卢布

现在,让我们来一个由10人组成的典型开发团队。 实施PVS-Studio之后,我们可以期望,由于节省了时间,因此该团队将能够执行有用的工作,而所需的成本为:

  • 怀疑论者:1,726,400卢布
  • 现实:585万卢布

最终配方


因此,现在让我们将所有内容组合为一个公式。

用S表示程序员的月薪。

团队中的程序员人数用N表示。

  • 怀疑者的公式:N *(S / 160)* 2.66 * 104
  • 实数公式:N *(S / 160)* 6 * 156

现在,我们以表格计算的形式介绍其他规模的团队。 该表显示了该公司的开发团队如果在一年中而不是编辑错误会忙于创建新事物,则可以赚取的预计金额。 这些数字应与许可费用进行比较。

表格说明。 第一行:开发人员的月薪。 左列:团队中的程序员人数。 表格单元格:如果该团队可以进行有用的编程,而不是编辑PVS-Studio发现的错误,那么该团队在这一年将为公司赚多少钱。

怀疑者表:

表N1。怀疑论者。红色:使用PVS-Studio可能不合理。绿色:使用静态分析仪是合理且有用的。蓝色:使用显然是有益的。


表N1。 怀疑论者。 红色:使用PVS-Studio可能不合理。 绿色:使用静态分析仪是合理且有用的。 蓝色:使用显然是有益的。

实表:

表N2。现实性红色:使用PVS-Studio可能不合理。绿色:使用静态分析仪是合理且有用的。蓝色:使用显然是有益的。


表N2。 现实性 红色:使用PVS-Studio可能不合理。 绿色:使用静态分析仪是合理且有用的。 蓝色:使用显然是有益的。

我们认为,第二张表是可靠的,在评估获得许可证的经济可行性方面,可以合理地指导她。

注意事项


当然,以上计算并不总是也并不总是相关的。 例如,如果一个项目的错误和漏洞的代价很高,那么将使用PVS-Studio的价值与程序员的薪水联系起来是没有意义的。 在此类项目中,应该评估可能的金钱和声誉损失,并且在使用代码分析器时,应该已经与降低风险相关联。 这是一个单独的故事,从计算的角度来看,我们还不知道如何处理它。

同样,计算对于外包公司可能不起作用。 这听起来可能不太好,但是这些公司对尽可能多的时间进行开发,测试和维护感兴趣。 从某种意义上说,使用分析仪只能减少他们的收入。 PVS-Studio客户之间没有外包公司这一事实间接证实了这一点。 另外,乍看之下,这类公司有时可能会发生奇怪的过程。 在工作量少的时候,一家公司可以承担某种项目,甚至是无所适从。 这比让一些开发人员休假要好。 让他们在工作中变得更好并且忙于一些事情。

顺便说一下,上述计算和表格与本文英文版中给出的不同。 我们必须考虑不同的薪水水平,事实证明PVS-Studio对几乎所有团队都有用。 好吧,大概就是这样。 美国和欧洲向我们提供的订单比俄罗斯多得多,尽管在俄罗斯,他们对我们的了解更多,这间接证实了这一点。

结论


因此,尽管计算可能并不适合所有公司,但我们希望我们能够从整个业务的角度演示如何对使用PVS-Studio的有效性进行评估。



如果您想与说英语的读者分享这篇文章,请使用以下链接:Andrey Karpov。 PVS-Studio的投资回报率

Source: https://habr.com/ru/post/zh-CN437968/


All Articles