开云体育 开云平台开发软件费用为什么这么贵?
别觉得智力劳动很简单,或者看不见摸不着、可以轻松下载到的东西就廉价。不信你试试自己学一门编程语言试试。说句难听话,大型点的项目,我把整个 Project 打包给你,你也不会编译。
况且,不是软件开发出来以后就能卖一辈子了。要 Debug,要升级,要维护服务器端,各种破事情很累的。
做个软件究竟有多贵?我们可以做一个非常粗略的估算。市场上定制开发软件的人工成本按一人月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应用,拥有它们的成本都在百万人民币以上。
一是,开云体育 开云官网虽然确实只有程序员的人力成本,但程序不是谁都能写的,程序员的工资支出很大,其他回答中已经有很多例子了。
然后,一个公司并非开发的所有产品都会盈利,通常当发现一个项目失败的时候,已经投入了很多成本了,所以用户还需要为失败的项目买单。
最后,应该说软件究竟应该如何开发还没有一个统一个标准,所有人都在尝试如何提高效率。不同于其他的行业,软件行业并非多一倍的人就能多一倍的产出,也并非多一倍的人就能把时间缩短一半。应该说越大的项目管理成本越大,这个是和其他很多行业(规模越大成本越小)相反的。
吐槽程序员人工成本高的,有没有想过,没有程序员们免费开源的各种组件,开发软件的费用还要乘以10。
这个问题轻易地拉了太多仇恨!只能说上面的很多答案只是答题者的发泄,而没有认真回答题主的问题。
软件开发费用的大头的确在于开发人员的成本,所以从简单的角度来说,上面的所有牢骚基本上也是事实。但这并不是全部的故事。那些成百上千万的软件项目真的非花这么多钱吗?我看未必!
作为非软件从业者来说,很难理解软件开发工作的复杂性以及工作量大小,特别是,作为一种无形的产品,除了人力成本,没有多少可估算的原料成本及其它成本,因此题主提出这样的问题非常容易理解。但也正因为如此,报价的灵活性也就大了许多,有时候功能相似的软件在开发成本或销售价格上会有几十甚至上百倍的差别。不可否认,看似功能相似的软件在功能的丰富程度、美观、易用性、可靠性等方面都会存在相当大的差别,但是那些价格较高的软件项目或产品有更大的利润空间的可能性仍然要高很多。
软件开发是一件非常复杂的事,很多时候开发人员或承包商都没有办法准确的评估开发成本,只能依靠过去的经验以及风险综合来评估。所以一直都有很多失败的软件项目,失败一般有两个含义,一是关键技术点无法解决,二是成本超出预期。但是大部分项目中出现的无解难题如果给予足够长的时间实际上都是可以解决的,最终也还是成本的问题。也就是有说很多项目尽管价格很高,但是仍然无法盈利。软件工程的概念的起源就是因为各种各样的项目失败,各门各派的理论也都是以提高开发效率和成功率为目标的,直白点说就是为了省钱。
开发工具和程序库的使用,这其实都属于软件工程的领域。类似于Eclipse这样的开发工具普及以后,它本身就能够提高所有Java等程序语言的开发效率,所以在这个层面上,所有程序员的起点相当。但是Eclipse有很多插件,这些插件可以进一步提高生产率,这一点却不是所有的程序员都会去使用或者熟练运用的了。有的团队甚至不使用svn或git进行任何版本管理,于是有可能出现集成的问题需要花费大量的时间来解决,甚至出现删掉有用代码而不能恢复的情况,这些都属于灾难,当然对于高手来说,是引入源码管理不一定是问题。还有程序库,一知半解的程序员反而更倾向于重新发明轮子,开云体育 开云官网本来有大量现成解决方案的问题,他们宁可重头来。但是程序库也不总是如此管用,遴选的过程也会花费大量的代价,不得不自己动手的情况也多的是。
很多不成熟的软件企业,没有能力准确评估开发人员的能力,如果企业的主要负责人对软件开发缺少最起码的认识,弃用工资较高但是技术熟练,而启用大量工资较低但不熟练的程序员,往往会导致开发成本数倍甚至数十倍的增加!
软件开发也不是简简单单写写代码就完事,需要非常多的前后期工作,以及外围的支撑工作,比如分析、设计、测试等等,甚至有时候软件销售人员的工资都超过了开发人员。有时候,开发人员的工资和奖金可能占比不到总成本的20-30%。
不少软件都能极大的提高生产力,那么除了开发成本,生产力提高的程度也可以作为给产品定价的一个标准。但是并不是谁都可以按这个标准定价,高价格要么是因为大环境,要么本身是强势或高端的供应商,比如SAP、IBM、ThoughtWorks等。否则这条路不容易走通,客户不是傻子。开云 开云体育平台开云 开云体育平台开云 开云体育官网开云 开云体育官网
扫一扫关注微信公众帐号