如果你是互联网行业的,尤其是做产品或开发工作,总会遇到有人问你这样一个问题:开发一个App多少钱?
因为在自己的知识和能力覆盖范围之内,所以遇到这样的问题,我会耐心的问为什么要做App, 这个app给什么样的人使用,实现什么样的功能,满足什么样的需求,预估初期有多少用户,要开发安卓还是ios等等。
但是慢慢我发现这样问很多人会不耐烦,有的人觉得这涉及到他们的商业机密闪烁其辞,即使都问了一遍,最后的关注点,还是在让你能给出一个固定的费用,并不注重前面的分析,等于问了一大堆问题都是白问,浪费了彼此的时间。
为什么要问这些问题,一个是为了了解开发App背后的目的和用户的需求,方便给出准确的建议,在没有明确需求的情况下,不管是谁都无法估计出一个App多少钱,另外一个是要让提问的人知道,开发一个app的费用并非只有一个影响因素,还有其它很多因素要考虑。很多产品也没有必要开发App,为什么现在很多人说起互联网产品,就只知道App呢?虽然现在开发一个App并非难事,但也不是那么简单,在回答开发一个App需要多少钱之前先说说下面的这些问题。
一. App的构成
首先我们来看看App的构成,一般一个完整的App产品包含服务端和客户端两个部分(如上图所示),没有服务端的App也有,像简单的工具类,单机游戏,但是非常少,从经营的角度考虑,为了积累用户和数据,大部分App都有服务端;客户端就是平常我们从应用商店下载到手机上的部分, 服务端一般提供数据读写存储,处理业务逻辑,进行图片,视频等资源存储,部署在服务器上,用户使用客户端通过接口和服务端进行交互,享受App提供的服务。
客户端用户更能容易感知(大部分用户所理解的App,也就是客户端),实际上,服务端才是App中最重要的部分,从代码量上来说,一般一个客户端容量大小在几兆到上百兆不等,但是服务端往往会非常庞大,比如我之前工作的公司,每次更新代码量都在好几G,这还不是全部,所以在整个App产品中,客户端只是“小荷才漏肩尖尖角”中的尖尖角,大头是服务端。
客户端需要根据手机操作系统来开发,不同的操作系统,有不同的要求,对于开发者来说,只需要满足主流的的操作系统即可,目前用的最多的操作系统分别为(如上图所示)苹果的iOS系统,谷歌的Android系统和微软的Windows Phone(简称为WP),目前iOS系统和Android系统占据了大部分市场,WP的用户量非常小,如果人力和物力有限,只需开发iOS版和Android版本即可,没有必要全部开发,如果是为了测试市场,根据目标群体使用手机的特征,在iOS版和Android版中任选一个开发即可,要不然会造成资源浪费,总的来说,一个App构成如下图所示:
二. 开发一个App需要的人员配置
开发App最大的开销是人力成本,在一个完整的产品团队中,一般需要包含如下角色成员:
项目经理
产品经理
UI设计师
ios开发工程师
Android开发工程师
服务端开发工程师
测试工程师
运维工程师
根据项目的大小,公司财力和项目的紧急程度,这些人员的数量配置会不等。
一个小的项目组,项目经理一般只需要一个,设计师和测试工程师在初期一个也可以满足,不够用的时候可以增加实习生,产品经理和工程师大概比例在1:4。
不论是处于创业期的团队还是大公司,开发资源永远都是稀缺的,很多都达不到满意的配置,在资源有限的情况下人员配置还可以压缩如下:
产品经理
ios开发工程师
Android开发工程师
服务端开发工程师
项目经理由服务端开发工程师或产品经理担任,产品经理负责产品需求梳理,产品设计,文案等工作,UI设计部分如果产品经理不能设计,外包解决,ios和Android开发各一个,服务端工程师负责开发和运维,测试大家一起测,这样一个最小的四人团队就组成了。在这里面对产品经理和服务端开发工程师的能力要求都比较高,需要全栈型人才。两个人或者一个人也可以开发App, 但是这样的人凤毛麟角,也很难持续。
三. 开发一个App需要多长时间?
在评估时间之前,我们先将开发过程拆分为以下6个部分:
(1)需求梳理
(2)产品设计及评审
(3)UI设计及评审
(4)开发任务分解和排期
(5)开发与联调
(6)测试并修改bug
每个环节的使用的时间加起来就是一个App大概的开发时间。
在上面每个环节里面,一部分时间会花在沟通上,另一部分会花在执行实施上 ,沟通时间包括需求讨论,评审,会议,以及等待确认的时间,执行实施时间就是干活的时间。在这里面很多人都容易忽略沟通的时间成本,尤其是和甲方合作的项目,沟通成本会非常大,而这部分成本甲方是最不理解的, 大多数时候,沟通的时间比执行的时间要大很多,所以在评估时间的时候,千万千万不要忘记这部分时间。
作为产品的owner,往往希望产品提前或者按期上线,但是人生不如意事十有八九,很多时间即使有排期,也因为一些突发事件导致项目延期,所以在评估时间的时候,一定要想到项目延期的情况。导致延期的情况各种各样,但有两个比较严重:
一个是需求方需求不明确,经常变更需求。比如开发了一半了,突然要加功能或修改功能 , 这种情况在新人和对互联网不了解的人身上经常发生 ; 另一个是研发中没有对过程进行干预,比如按照排期10天后产品上线,产品设计完成后交给研发,10天后到了上线时间,问研发的小伙伴,发现才做了一半,一问原因,是因为中间有人请假,这是好点的情况,如果是找外包的开发,有可能一点都没有做,这不仅浪费了资金,也白白浪费了时间,所以在需求阶段,一定要把需求描述清楚,排好优先级,在开发阶段,要做到过程干预和风险控制,要不然就等着延期吧!
四. 开发一个App需要多少钱?
谈钱不伤感情,终于要谈到正题了,前面已经介绍了App的构成,人员配置和时间预估,开发一个App的费用成本主要在于开发人员配置和开发的时间(工作量),那么我们用一个20个页面,包含50个常规功能,需要同时开发ios和安卓客户端的产品为例来说说需要多少费用:
人员配置:
产品经理1枚
UI设计师1枚
服务端开发工程师1枚
安卓开发工程师1枚
ios开发工程师1枚
时间预估:
需求梳理:7天,输出物为包含功能点,功能描述及优先级排序的需求文档
产品设计:10天,输出物为流程图,产品原型和产品需求文档
UI设计:7天,输出物为UI设计图
开发任务分解及排期:1天,输出物为甘特图
开发:60天,包含客户端和服务端开发,客户端和服务端联调(客户端按照每天一个页面计算,服务端按每天一个功能点计算,因为客户端和服务端时间有重合端部分,所以算了60天)
测试并修改bug:10天,输出物为最后可上线运行的产品
开始计算了:
假如工作地点在北京,每个人的平均成本按1000元/天来计算(包含办公和社保等成本)
最后预估总时间为:7+10+7+1+60+10=95天
费用大概是5*1000*95 =475000元
上面说的是评估费用的大概思路, 在具体实施的时候,同一个项目,不同的目标,不同的执行人来操作最后的时间差别会很大。比如在产品设计环节,领导发话说就照着某个产品来抄吧,那么产品和设计部分工作量会减少,在开发环节,如果用开源的框架或者开发者之前开发过类似的产品, 那么开发的时间也会大大缩短,如果采用敏捷开发的方式,时间预估按小时预估会更准确,设计师在完成UI设计后, 后面的不参与的部分可以不算工作量,开发团队放在成都,西安等地方,成本也会降下来,如果团队里面有大牛级别人物,成本也会增加,以上只是一个思路让大家知道怎么去评估开发一个App需要多少费用,遇到具体的问题,还需要具体分析。
分享干货我们是认真的,更多干货尽在爱盈利!