有个朋友的朋友想做一个公益的事。因为出资的都是教育水平较高的精英人士,所以对项目的监控透明度要求比较高。于是这个朋友的朋友就想了,信息时代嘛,IT工具不是可以促进交流提升效率么?于是他对我说:我们想做个app,可以干这个这个这个……我打断他说,别着急,做软件很贵的,你不一定玩得起。
做个软件究竟有多贵?我们可以做一个非常粗略的估算。市场上定制开发软件的人工成本按一人月20,000人民币来算,平均每人天1,000人民币。根据《软件估算》提供的经验数据,随软件复杂度变化,在整个交付项目期间,平均每个程序员每天产出的代码量在2行到200行之间。如果以平均每天产出100行代码来算,则编写每行代码的成本是10元钱。
把软件写出来只是第一步。软件要放在某个环境上去运行的。服务器端的软件要部署在可靠的服务器上,要有可靠的网络连接。客户端的软件(比如一个app)要安装在使用者的电脑或手机上。软件要维护要升级要管理要排错的。有了一个软件,有了一台服务器,就得有掌握这个技能的人来管理它的。根据Oracle引用Enterprise Management Associates的数据,60%~70%的IT预算耗费在运营和维护上。于是我们可以大致估算到,加上运营和维护成本,一行代码的成本就会达到30元。
那么一个app会有多少行代码呢?当然也随复杂度不同会有很大变化,只能举两个例子作为参考。RapidFTR是一个用于“家庭跟踪和团聚”的Android应用。当战争、地震、海啸等灾害发生时,国际援助团队可以用这个应用来寻找失散的儿童。这个软件大约有34,000行代码。另一个Android应用是克林顿健康倡议给非洲国家开发的基层医疗物流管理软件,乡村医生可以用这个工具来管理他们的药品库存。这个软件的代码超过46,000行。换句话说,这两个目标很单纯、功能并不复杂的Android应用,拥有它们的成本都在百万人民币以上。
而且上面估算的还只是软件本身的开发、运营和维护成本。在IT的基础上调整组织机构、优化工作流程、创造高质量内容、市场传播推广……那需要的人财物力就更加难以估计了。更不用说,移动互联网本身是一个充满变化与创新的领域,犯错与试错是家常便饭。所以你看,想开发一个新软件,这是多么贵的事。
软件这么贵,是不是没钱的组织、尤其公益组织就注定享受不到科技带来的强大能力了?不是。其实有大量的软件工具已经存在,它们非常成熟,它们经过了无数用户的检验、能很好地完成它们想要完成的任务,而且它们非常便宜甚至免费。要做个网站吗?Ghost或者WordPress都可以。要点对点的传播?微信和QQ是蛮不错的工具。想收集很多人的观点和意见?金数据就是干这个的。发邮件期刊?可以考虑MailChimp。需要客户关系管理(CRM)?其实一个设计合理的Excel表单就可以做得很好。
所以,一个机构想要用IT技术提升能力,首先需要的是互联网思维,是设计能力。首先理解自己的目标用户,理解用户的整个体验,理解体验之中的困难与挑战,然后选择适当的工具来应对这些困难与挑战。当你把问题细化到一个具体的设计挑战,往往就能找到现成的工具来解决它。至于开发一个新软件这种又贵又费神的事情,还是能不做就不做吧。
本文转载于:http://gigix.thoughtworkers.org/2015/6/3/how-expensive-developing-software/