有个朋友的朋友想做一个公益的事。因为出资的都是教育水平较高的精英人士,所以对项目的监控透明度要求比较高。于是这个朋友的朋友就想了,信息时代嘛,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 技术提升能力,首先需要的是互联网思维,是设计能力。首先理解自己的目标用户,理解用户的整个体验,理解体验之中的困难与挑战,然后选择适当的工具来应对这些困难与挑战。当你把问题细化到一个具体的设计挑战,往往就能找到现成的工具来解决它。至于开发一个新软件这种又贵又费神的事情,还是能不做就不做吧。
免费领取LAMP兄弟连原创PHP视频教程光盘/《细说PHP》精要版,详情咨询官网客服:http://www.lampbrother.net
分享到:
相关推荐
《软件开发及管理讲稿》是一份深入探讨软件工程实践与管理的重要资料,它结合了作者丰富的职业经历,为读者提供了宝贵的实战经验。这份讲稿不仅涵盖了软件开发的基础理论,更强调了在实际工作中如何有效地进行项目...
这份珍贵的资源包包含了20个常见的设计文档,对于提升软件开发效率和质量有着重要作用。以下将详细介绍这些文档的主要内容及其在软件开发中的作用: 1. **需求规格说明书**:描述了软件需要实现的功能和性能,它是...
### 软件开发专业求职信撰写技巧及案例分析 #### 一、求职信的重要性 在软件开发领域求职时,一份精心准备的求职信能够帮助求职者从众多候选人中脱颖而出。求职信不仅是向招聘方展示自己的窗口,也是展现个人职业...
书 名:凌波微步:软件开发警戒案例集 作 者:王咏刚 / 周虹 出 版 社:清华大学出版社 出版时间:2002-11-1 ISBN:9787900643681 纸书页数:420 定 价:42.00 内容简介:本书是面向程序员的“天龙八部”...
"HW项目管理及软件开发全过程相关文档.zip" 提供了一系列珍贵的资源,帮助我们理解并实践这些重要环节。这个压缩包包含的文件涵盖了从需求分析到项目收尾的每一个阶段,为专业人员提供了宝贵的指导。 首先,接口...
C#是一种现代化、类型安全且面向对象的编程语言,因其简洁和高效而被广泛应用于各种软件项目,尤其是在游戏开发领域。在Unity3D中,C#与引擎的组件系统相结合,使得开发者能够构建高度交互的3D和2D应用。 首先,...
《C#与Halcon开发的流程式机器视觉软件系统详解》 在当今的智能制造领域,机器视觉技术扮演着至关重要的角色。本项目“源代码-C#与halcon开发的流程式机器视觉软件系统”旨在为学习者提供一个实践平台,通过C#编程...
### 金融软件开发与银行知识学习 在当今数字化时代,金融软件开发已成为推动银行业务现代化的关键因素。通过深入了解银行知识,尤其是银行业务的基础知识、银行的分类、商业银行的起源及发展历程,可以为金融软件的...
- 贵司需开发软件,提供源代码、目标代码和维护服务,必要时采购硬件和软件。 - XX 公司则按协议支付费用。 6. **知识产权**: - 明确了双方各自拥有的技术,包括贵司技术和XX 公司技术,以及基于这些技术的派生...
本书不仅深入探讨了敏捷开发的核心理念和技术实践,还收录了与多位敏捷方法论创始人的访谈记录,包括Kent Beck(极限编程)、Alistair Cockburn(Crystal)、Ken Schwaber(Scrum)、Bob Charette(Lean)等,为读者...
XX作为委托方,提出软件开发需求,而贵司作为开发方,负责设计、开发和维护软件。协议生效日标志着双方合作关系的正式确立,此时贵司应具备开发XX指定系统的能力,并愿意接受XX的委托进行开发工作。 在协议的定义...
对于这两种类型,有对应的开发方法,如CMM模型用于软件项目,微软的经验则适用于软件产品开发。 软件的发展经历了程序设计时代、程序系统时代到现在的软件工程时代,开发工具和技术不断进步,从早期的机器语言到...
【MTK平台与手机软件开发概述】 MTK(MediaTek)是一家全球知名的集成电路设计公司,以其在移动通信、数字电视、物联网等领域的芯片解决方案而闻名。MTK平台,特别是用于手机软件开发的部分,是许多入门级和中端...
同时,我期望通过这个平台结识更多软件开发领域的专业人士,共同探讨软件开发的前沿技术和Java编程的精髓。我相信,这种交流不仅能增强我的专业技能,还能培养团队合作精神和解决问题的能力,使我在未来的工作中更加...
在受托开发软件的会计实务操作中,涉及的账务处理相当复杂,主要取决于软件的著作权归属以及是否涉及代垫款项。以下是对不同情况的详细解释: 1. 软件著作权归受托方(即贵公司): 在这种情况下,贵公司将被视为...
软件特征:开发技术有很大进步,但未获得突破性进展,软件价格不断上升,未完全摆脱软件危机 三、软件危机 * 软件危机是由于软件的规模越来越大,复杂度不断增加,软件需求量增大 * 软件开发过程是一种高密集度的...
《软件开发合同范本》是IT行业中常见的法律文件,它规范了软件开发过程中委托方(XX)与受托开发方之间的权利和义务。本合同详细列出了开发过程中的各项条款和条件,确保双方的利益得到保障。 1. **合同定义**:...