你的每行代码值多少钱?

我知道,“line of code”(LoC)是一种非常愚蠢的计量方式。不要急着喷我,请大家先听我讲讲我最近参与的两个项目,看一下一些非常有意思的数字。

项目#1:传统的同地协作

第一个项目是由一组程序员通过传统的同地协作来执行的。人数为20(不包括项目经理、分析人员、产品负责人、SCRUM大师等等)。该项目是一个大流量的网络拍卖网站(每天有超过200万的页面访问量)。

代码库的大小约为20万行,其中15万是PHP,3万5是JavaScript,其余则是CSS、XML以及Ruby等。这20万行只包括使用cloc.pl的非空和非注释行代码.

这是一个商业项目,所以具体名字我不便透露。

Brazil (1985) by Terry Gilliam

大家在欧洲的同一个办公室里,每个人都“朝九晚五”地工作。我们可以一起开会、吃饭、面对面聊天以及通过其他多种非正式方式沟通。所有的任务都使用了JIRA跟踪。

项目#2:分布式

第二个项目是一个开源的Java产品,通过一个约15人的分布式团队开发。我们没有任何的交流也不做任何非正式的沟通。我们都是在Github上讨论问题。代码库明显要小很多只有大约3万行,其中约90%Java,其余则是XML。

Shaolin Temple (1982) by Chang Hsin Yen

成熟的开发

这两个项目都是托管在Github上的代码库。

两个团队都使用了自动化构建、持续集成、静态分析和代码审查。这表明这两支项目团队都已经比较成熟。

这两个项目都满足了用户的需求。我提这一点是想强调,这两个项目的代码,都是有价值的。没有废物,也几乎没有重复的代码。

看看项目回报

在这两个项目中,我的角色是首席架构师。除此之外,我还有权限访问两者的Git代码库。所以我可以知道在某段时间内,比如说三个月时间里,代码库中新添加(或者改动)了多少行代码。

现在,让我们来看看这些数字。

第一个项目一个优秀的开发人员每年可以拿到大约50,000欧元,也就是约5600美元每月或35美元每小时。第二个项目则只需要对于已完成的任务支付20-35美元每小时。

第一个项目,在三个月内,写了59000行新的代码,并在改变主分支时删除了29000行,那么总计就是88000行代码。此过程历时约10000个工时(20程序员,三个月,每月170个小时)——相当于约35000美元。因此,每行代码的价格为

3.98美元

第二个项目,在同样三个月时间里,新代码产生了45000行,删除了9000行,也就是54000行。为了完成这项工作,根据XDSD原则,我们只花了7000美元(约用了350个工时完成了650个任务)。因此,该项目一行代码的成本仅仅是:

13美分

$35000 VS$7000,3.98美元VS0.13美元,你有何感想呢?

结论

我将这些数据公诸于众是为了告诉大家,分布式编程比传统的同地协作团队更为高效,也更节约资金。你看,0.13美元与3.98美元,相差30倍呢!

The Big Lebowski (1998) by Joel Coen

怎么做?

当然,你说你为了达到分布式合作的目的,决定让你的程序员在家工作而不必来办公室的话,那我就该笑你只会硬搬硬套了。可以实行XDSD这个严格的质量原则,整个团队都应该遵守的原则。

如果这些原则都能应用到位的话——那么你所需要付出的资金将会减少30倍。

顺便透露给大家以下这些项目的成本:

$12-103:crazyontap.com

$15-40:betterembsw.blogspot.nl

超过$5:joelonsoftware.com

如果大家有不同意见,欢迎指教。

收藏 1 评论

相关文章

可能感兴趣的话题



直接登录
最新评论
  • Bright Fire   2015/02/03

    对于整个开发用网段完全从物理上切断外网连接的高安全性项目来说,分布式开发是完全不可能的。

跳到底部
返回顶部