How Much Do You Pay Per Line of Code?

The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:

是的,我知道,“代码行”(LoC)是一个非常错误的度量标准。有大量的文章和著名的书籍涉及到这个问题。然而,我想比较我最近参与的两个项目,并讨论一些非常有趣的数字。

我参与的第一个项目是由传统的共同工作的程序员小组完成的。其中大约有20人(我不包括经理、分析师、产品负责人、SCRUM主管等)。该项目是一个访问量相当高的网络拍卖网站(每天超过两百万次页面浏览量)。

代码库的规模约为20万行,其中15万行是PHP,3.5万行是JavaScript,剩下的是CSS、XML、Ruby和其他一些内容。我只计算非空和非注释的代码行,使用cloc.pl

这是一个商业项目,所以我不能透露它的名称。

团队位于欧洲的一个办公室,每个人都在“九点到五点”工作。我们有会议、午餐、面对面的交流以及许多其他非正式的沟通方式。所有任务都在JIRA中进行跟踪。

第二个项目是一个开源的Java产品,由一个大约有15名开发人员的分布式团队开发。我们没有任何聊天或其他非正式的沟通方式。我们在GitHub的问题上讨论了所有事情。代码库相对较小,只有大约3万行代码,其中约90%是Java,其余的是XML。

这两个项目都在GitHub上托管了他们的代码库。两个团队都在开发过程中使用功能分支,即使是为了小修复。

两个团队都使用了构建自动化、持续集成、预检构建、静态分析和代码审查。这表明项目团队的成熟度。

这两个项目都满足了用户的需求。我提到这一点是为了强调这两个项目都产生了有价值和有用的代码行。没有垃圾代码,几乎没有代码重复

在这两个项目中,我的角色被称为首席架构师,我了解它们的财务细节。除此之外,我可以访问这两个Git仓库,因此我可以衡量两个团队在三个月内引入了多少行新代码(或变更了多少行代码)。

现在,让我们来看看具体的数字。

第一个项目(被共同定位的那个)每年支付给一名优秀开发人员大约50,000欧元,相当于每月5,600美元或每小时35美元。而第二个项目(分布极广的那个)每小时支付20-35美元,仅根据XDSD的原则支付已完成的任务。

第一个项目在三个月内产生了59,000行新代码,并在master分支中删除了29,000行变更,总计达到了88,000行代码。完成这些代码需要约10,000人时(20个程序员,三个月,每月170个工作小时)—相当于大约350,000美元。因此,这个项目的成本高得惊人。

在同一个三个月的时间段内,第二个项目产生了45k行新代码并删除了9k行,总共为54k行。为了完成这项工作,我们仅花费了7k美元(大约350个工作小时,共650个任务)。因此,该项目的成本仅为:

这也意味着程序员每小时大约编写150行代码,或者每天超过一千行。《人月神话》(The Mythical Man-Month)中提到每天只有10行代码,这比我们项目中看到的少了一百倍。

How to Validate the Numbers?

如果你好奇的话,我正在使用hoc从Git中获取这些数字(它在《使用Hits-of-Code而不是SLoC》中有解释)。你可以在GitHub上验证第二个项目的数字:jcabi/jcabi-github

我尝试用这些数字表达的是,分布式编程从经济角度来看比一个共同办公的团队更加有效。再次提醒,我可以听到你说“代码行数”不是一个合适的衡量标准。但是,拜托,0.13美元对比3.98美元?贵了三十倍?

这已经不仅仅是关于衡量标准了。这是关于防止浪费的人时以及由此而来的巨额金钱浪费。

当然,只是告诉你的程序员在家工作并且不需要来办公室,是无法达到同样的效果的。XDSD不是关于这个的。XDSD是关于严格的质量原则,整个团队都应该遵循。

而当这些原则得以实施时,你将支付的费用会少三十倍。

顺便说一下,这是人们对他们的项目所说的。

“$15–40: betterembsw.blogspot.nl“(15至40美元:betterembsw.blogspot.nl

你们有什么数字?请在下方发表你的评论。

Translated by ChatGPT gpt-3.5-turbo/42 on 2023-11-17 at 16:44

sixnines availability badge   GitHub stars