开发软件的费用跟软件用途息息相关。
题主谈到了“好像除了程序员人力成本及一些必要硬件支持其他也没太多化大钱的地方”,也对,因为单独就开发软件这个动作,基本成本就是研发人力成本和硬件成本,比如有程序员会自己开发个小软件自娱自乐,成本相对而言并不算太高。(但还是要付出很多心血,只是成本相对成熟市场软件没有那么高)
但一旦软件需要公开让更多人使用,比如企业IT部门自主研发软件,就必须考虑到实用性,此时程序员的工作负担会大大增加,而且涉及到的也不仅仅是IT部门。自主研发软件尚且如此,更何况需要走向市场服务更多人的软件。
下面具体对比下三者之间的差异:
1)当独立程序员想要根据自己想法研发一个软件:
?1?32)当企业选择自主开发软件时,一般要经过以下步骤:
其中涉及几项成本:
1、人员成本:自主研发一个新软件并非是简单的代码堆砌,过程中需要涉及产品负责人、视觉/交互设计师、研发人员、测试人员,最终才能发布并让所有员工安装APP使用;
2、时间成本:一个软件从零起步到研发上线,一般会经历比较漫长的周期,当业务人员经过半年的等待发现产品终于研发完成时,业务需求却已经产生了变化,研发人员劳动成果作废,重新开始,开发时间再次被拉长??
3、维护成本:开发人员实力、团队项目经验会直接影响后续维护迭代,企业自主研发软件的团队常常是缺乏经验的,后期复杂的改进与维护几乎是在项目开始的时候就是已经注定的事,更别提因为不断更新的需求带来的二次开发任务。
以上成本均为单个企业承担,这种软件使用模式成本非常之高。(除非企业随便对付着做了个很难用的软件)
3)当开发的软件面向整个市场时,一般要经过以下步骤:
相比较自主软件研发,面向市场的软件需要经过市场的检验,对产品的创新性、实用度要求都更高,产品研发的每一步都需要更加细化,软件功能不断更新进步,每个岗位都需要专业人员负责。因此除了研发人员,也产生了如产品经理、测试人员、UI设计师、视觉设计师、市场、运营、技术支持、实施顾问等岗位,人力成本明显是提高的。
不过这类软件因为创新性较高、实用度高,经过市场检验,符合大多数人的需求,因此成本是分摊开来的,很多软件价格其实并不高(甚至很多软件是免费使用,通过其他方式来回收成本,比如广告、高级服务),反倒是上述第二种专门为一个企业研发的软件成本都是企业自己承担,成本要高得多。
软件开发费用非常高,要想降低软件开发成本,首先要知道软件开发成本是怎样产生的。
软件开发成本 = 软件工程师人力成本 + 项目管理人力成本 + 返工成本 + 其它成本。其中,软件工程师人力成本,包括与需求获取、架构设计、编码和测试、交付、辅助文档等活动相关的人力成本。
项目管理人力成本,包括与项目计划和跟踪、解决问题和管理风险等活动相关的人力成本。返工成本,包括与需求变更和bug修复等活动相关的人力成本。其它成本,包括设备采购、工具费用、差旅等额外成本。
占比较大的软件开发成本
这些成本中,哪个占大头?有人说当然是软件工程师和项目经理的人力成本占大头。有这种想法的人是想当然了。权威数据显示,返工成本占整体软件开发成本的40%-80%!【1,2】就是说,软件开发费用的大部分都花在了修复缺陷和需求变更上。觉得挣钱少的老板们是不是可以算一下自己公司的返工成本?
知道了“要降低研发成本,必须首先降低返工成本”的道理以后,那如何降低返工成本呢?本文给出4点建议。
如何降低返工成本?
1、提高人员能力
开发软件,不管是设计还是编码,争取第一遍就要做对。这就需要软件工程师和项目经理有很强的专业能力。提升能力的方法无外乎培训和招聘有能力的人。其中,加强培训是很多公司常用的做法。
2、选对开发方法
过程决定结果。方法错了,再有经验的人,结果也不会好。例如,软件开发方法从70年代的瀑布,一步步从迭代、快速原型等进化到现在的敏捷、规模化敏捷、DevOps等。统计数字显示,使用敏捷方法,平均上市时间加快了37%,团队效率平均提高了16%【3】。这只是其中一个例子。
需求、设计、编码、测试、交付等各个开发环节中,都有很多好的方法。那么怎样确保选对好的开发方法?答案是要么自学成为软件过程专家,要么聘请有经验的软件过程专家来帮助自己。
3、使用辅助工具
俗话说,“好记性不如烂笔头”、“再破的自行车也比走路快”。使用工具使我们事半功倍,软件开发也是如此。常见的软件编程工具例如Eclipse、IntelliJ IDEA、VSCode、SVN、Git等自不必说,是必须用的。项目管理工具、测试管理工具、持续集成和持续构建工具、自动化测试工具等也是很多企业常用的辅助工具。有些工具使用成本极低,但是收益极高,达到了四两拨千斤的效果,是开发团队的首选。
例如CoCode软件众包平台的评审分析工具【4】,能自动预测代码里的缺陷数,让项目在第一时间消除大多数缺陷,从而降低返工成本。数据显示,这一个工具的使用,就能使整个开发成本降低20%【5】。那么怎样获得好的辅助工具?首先应该了解公司的具体情况,包括已有的工具情况,同时参考软件过程专家的建议,选择最适合公司情况的辅助工具,然后采用自研、开源、购买等方式获得。
4、持续改进
罗马不是一天建成的。降低开发成本也不是通过一次培训、一个方法、一个工具而达成,而是需要不断地改进,直至达到期望的结果。持续改进的动力来自目标。所以期望降低开发成本的老板们应该首先设一个改进目标,例如降低20%的开发成本,然后锲而不舍地改进,直至目标达成。等一个目标达成后,再设定更高的目标。这样在目标驱动下,开发能力不断螺旋上升,软件开发成本才能真正降下来,软件企业才能达到期望的盈利水平。
道 法 术 器 人
最后记住“道、法、术、器、人”这五个字,您将在“降低成本、提升能力”的战斗中,无往而不胜!
道:过程决定结果。结果无法直接改变,但我们可以通过改变过程来影响结果。
法:选对方法很重要。做软件开发可以参考CMMI、敏捷、DevOps等经过业界验证的好方法。
术:只有好的方法是不够的,还需要落地的手段。这时候需要的是经验。
器:好的工具让落地实施事半功倍。
人:找到做事的人,尤其是找到有能力的人,才能心想事成!
参考资料:
1.IBM White Paper. (2009). Reducing rework througheffective requirements management.
2. MarkusSprunck, SoftwareEngineering Candies - Selected Rules of Thumb in Software Engineering(sw-engineering-candies.com)
3. https://apiumhub.com/tech-blog-barcelona/benefits-of-agile-project-management/
4. https://www.co-code.cn/tool
5. https://mp.weixin.qq.com/s?__biz=MjM5NjY1OTEzMg==&mid=2649781830&idx=1&sn=4022dbbc58ca580a573ddadef20840a4&chksm=bee13c958996b5838906bd915c1be930d7897f61e902a7e14d9d9eb449dda04da7ac86d40247&token=790976633&lang=zh_CN&scene=21#wechat_redirect
6. 睿思得咨询提供专业的软件过程辅导和CMMI认证服务,敬请关注。http://raysdom.cn
软件为什么那么贵
软件价格高昂的原因:一、研发成本 软件的研发涉及多个环节,包括设计、编程、测试等,这需要投入大量的人力和时间。软件开发者的工资、设备费用以及研发过程中的各种开销,都会反映在最终的软件价格上。此外,为了保持软件的持续更新和升级,还需要不断的投入研发资源,这些成本也会转嫁给用户。二、品牌与价...
软件开发为什么有贵有便宜?
软件开发的价格因素很多,主要包括以下几个方面:1.项目规模:软件开发的费用与项目规模相关。对于小型项目,费用相对较低,而大型项目需要更多的人力、时间和资源,因此费用更高。2.技术难度:软件开发的技术难度也是影响价格的重要因素。对于技术难度较高的项目,需要更高水平的开发人员和更多的时间和资源,...
app开发费用,怎么算的,开发一个app软件需要多少钱?
1. 功能需求:APP的功能越复杂,开发的工作量就越大,费用也会相应增加。比如,一个基本的新闻阅读APP的功能相对较少,开发成本相对较低;而一个包含社交、电商、支付等功能的综合APP,开发成本则会更高。2. 开发平台:iOS和Android是两个主要的移动操作系统,针对这两个系统的开发难度和工具不同,开...
开发APP价格悬殊为什么那么大?
首先,软件公司开发APP是要盈利的,这是必然的,盈利部分一般是60%-80%,一般成本1万的报价3~5万很正常,5万的报价15万20万也很正常,(小提示:谈价时对半砍准没错)。那么出去盈利部分,主要成本就是项目解决方案的成本,而 项目开发解决方案成本=前期的沟通成本 + 功能开发复杂圈度 + 版权费...
APP软件开发成本分析?
再到签订合同落实开发,时间会比较长,所以App软件开发价格成本也会相应高一些。三、App的质量要求:要求的App质量越高,开发费用越高 一样的手机App软件,质量不同开发价格肯定也受影响,并且App还有一个升级的问题,这个升级是有大量工作要做的,是否承担升级和完善的责任也会影响价格;开发App的价格并...
一个软件的开发费用怎么算?
开发人员薪资:开发人员的薪资是计算软件开发费用的另一个重要因素。根据开发人员的技能、经验和地理位置等因素,开发人员的薪资会有所不同。其他资源成本:除了开发人员的薪资,软件开发还可能涉及到其他资源成本,如购买或租赁开发工具、硬件设备、云服务等费用。为了更准确地计算软件开发费用,可以采用以下...
开发软件费用为什么这么贵?
00007.OSS存储费用(教育类、商城类需要)00008.小程序开发费用(根据实际情况做评估)前面运营可能只有几千上万的花费,但第八点开发费用就贵了,一般在4-5万作用,功能定制更有可能达到10多万 最后送一个福利给大家,最近整理了各行各业带后台的小程序源码,顺便分享给大家,请给这个问答点赞评论一下,...
开发一款app软件需要多少钱?
开发一款简单的只是展示类的app不用多少钱,一般几千块就可以了,甚有些是免费提供生成app。但是如果需要那些定位功能、预订功能、支付功能这些app的话,就不会这么便宜了。几千到几万不等
开发一个App要多少钱,软件定制开发报价?
开发一个App的费用因多种因素而异,一般来说,定制开发的App价格会比较高。根据不同的开发方式和需求,App开发的价格可以从几千元到数十万元不等。如果是一些简单的App,比如一些工具类App,开发费用可能相对较低,一般在几千元到几万元之间。但是,如果是一些复杂的App,比如游戏、社交媒体应用等,由于...
做个app的费用大概多少?
一般来说,制作苹果系统的手机APP软件费用要比安卓平台的贵一些,因为苹果公司对苹果平台的封闭性和手机APP开发语言Objective-C的难度,都让APP开发者加大了苹果系统手机APP开发的难度。 三、APP制作成本包含参与人员的工资 通常情况下,开发一款APP需要产品经理、客户端工程师、后端工程师和UI设计师各一名,这已经是制作手机...