因服务于公司业务原因,只开发 WiFi、蓝牙产品线配套的APP(主体是蓝牙、WiFi方案商),工作中所接触的大部份是原生应用的开发(小程序因平台的各种限制及海外政策而用的不多),所以 APP 开发评估以原生开发为主。
一、前言
如今,移动互联网发展十分迅猛,手机上充斥着各式各样的 APP,在日常工作中,我也有碰到一些客户,连需求自已都讲不清楚,然后就一句 “ 我想做一个类似 XXX 的 APP 要多少钱” 。想起了网上的段子:
客户:“你好,我想做一个类似“XXX”的软件大约多少钱。”
软件公司:“您好,要开发的软件内容能否详细说明下,我们按照开发的内容进行报价。”
客户:”就是跟 XXX 差不多,需要公司Logo、登录、设备管理、产品展示,用户能下单购买就行了,很简单。”
软件公司:“好吧,那费用大约在 10W 左右。”
客户:“啊,这么贵,我要的功能很简答啊,就是一些简单的界面啊......”
软件公司:“#$%……#%…..@%….&%#¥&¥……#&”
移动开发通常称为 APP开发,默认情况下包含 iOS 和 Android。那么 APP开发到底需要多少钱呢,实际上,影响 APP开发价格的因素有很多。在没有明确需求的前提下,开发日程及费用都是不明确的。
移动开发(APP)开发分为以下几类:
- 原生开发
- 跨平台开发(RN、Flutter)
- 混合开发(H5)
- 小程序或公众号开发
客户想要知道具体开发一个 APP软件需要的费用是多少,首先就需要了解自己想要一个什么样的APP,提供哪些功能。比如使用软件的用户是哪个行业的、使用场景是什么、APP需要具备什么样的功能、APP 的版本等。
我知道有一些“ 聪明 ”的软件公司会不谈需求就报一个很低的价格,来跟你促成下一步的商谈,一步步入戏。一旦客户入套了,只有不断加钱,关键项目还一定做成。
二、移动开发(APP)评估
不同的地方、不同的公司对 APP 的报价肯定是不一样的,每家公司的服务水平也是参差不齐,作为甲方,在选择的时候需要考虑是三个问题(开发技术能力、开发时间、后续服务)。而作为乙方,需要根据自身的情况,该项目的需求是否明确,是否符合公司的利益(我司的移动团队是只服务于公司蓝牙、WiFi产品线,只做跟产品线有关的APP)来进行评估的-- 术有专攻。
开发一个 APP 的成本从几万到几十万,甚至于百万、千万都有可能,对于运行淘宝那样的APP来说,其每年的投入则要上亿。当然,并不是每个APP的开发和投入成本都需要那么大。根据APP的功能、需要哪些平台、APP质量等因素的不同,价格都会有所不同。对蓝牙、WiFi相关的APP,没有涉及外部资源费用的话,大都在10W以内,具体项目具体分析。
2.1 需求分析
“ 需求分析 ”,就是对待需要解决的问题进行详细分析,分析研究清楚需要解决的问题。需要了解客户的需求,然后体现在APP中。只有真正理解客户的需求,才能设计出客户所需要的 APP。准确的评估是建立在详细需求梳理的基础上。如果在没弄清需求就去盲目的尝试,将会无形中增加试错的成本。
通过业务、项目经理的对接,沟通后需要确认具体的需求如下:
- 项目形态(APP、小程序、公众),APP又分Android、iOS;
- 项目详细的需求(功能清单及思维导图、核心业务流程图),个别客户还会提供 原型图(业务逻辑、页面跳转和细节说明等);
- UI设计的要求,个别客户会特别在意,用户对其UI设计要求不同也会影响评估;
- 其他资源的如服务器、域名、第三方平台(短信、语音通知);
在明确APP的需求下,整理需求,最好文档记录,但在签合同之前也不要把所有详细资料公开,否则将会浪费我们很多不必要的评估成本及投入。
需求分析是整个项目开发过程中的核心部分也是最重要的部分。正所谓“磨刀不误砍柴工”。只有真正理解了客户的各种需求,才能顺利开发出顾客真正需要的软件。如果一味追求合同或进度,而忽略需求分析,很可能南辕北辙,开发变得毫无意义。简言之,不能理解你所说的,不能开发出你所要的,过程与结果可想而知,一波三折。
2.2 技术可行性分析
作为乙方,在了解需求后,必须对项目的技术可行性验证,技术可行性绝不仅仅是论证在技术手段上是否可实现,实际上包含了在当前资源条件下的技术可行性。例如,开发一个计算机操作系统对于美国微软公司来说,这是可行的,但对其他绝大多数企业来说,这都是不可行的。投资不足、时间不足、预设的开发目标技术难度过大、没有足够的技术积累、没有熟练的员工可用、没有足够的合作企业和资源积累等都是技术可行性的约束。实践证明,如果只考虑技术实现手段而忽视企业当前的资源条件和环境,从而对技术可行性分析得出过于乐观的结果,将会对后期的项目实施导致灾难性后果。
对于技术的选择,有的企业钟情于新技术,有的则喜欢使用成熟的技术。具体要根据项目的实际情况(例如,开发人员的素质、系统的性能要求等)进行决策,但通常的建议是尽可能采用成熟的技术,慎重引入先进技术。IT业界流行的诙谐语“领先一步是先进,领先两步是先烈”讲的就是对技术的选择原则。
做项目要使用成熟的技术,做研究使用新技术
2.3 工作量计划
在确认需求及技术可行性分析之后,就是评估项目的周期。决定项目周期的因素有:
- APP的功能需求复杂程度
- 第三方资源到位情况(平台、调试板、协议等)
项目周期的分解:
- 原型设计 --- 产品经理
- 效果图设计及标注、切图 --- UI 设计师
- 服务端开发 --- 后台开发人员(Java)
- 前端开发 --- 前端开发人员
- APP编码及调试 --- iOS/Android开发工程师
- 测试 -- 测试人员
一个开发团队的基本配置是项目经理1名、产品经理1名、UI设计师1名;后台开发人员1-2名;前端开发人员1-2名;Android开发人员1-2名;iOS开发人员1-2名;测试人员1名。当然这是非常合理的一个配置,但是操作起来并不都是相同的,很多公司会有人身兼多职,比如产品经理可能是项目经理担任负责统筹全局,或者产品经理也是UI设计师。
一般情况下项目经理或项目负责人将功能拆解,不需要考虑同一段几个人参考,只要计算工作量即可,根据复杂程度来计算各阶段的日程,即工作量评估。需求不同,日程也会不同,但有时因为项目倒推或紧急项目,负责人会压缩项目周期,需要通过增加人员或加班来解决。另外,编码人员的工作量超过1个月就要考虑多投入人协助。
没有计划是不成不变的,也没有项目是没有计划的。
2.4 费用评估
无论是单人开发还是协作开发,都是根据工作量的多少来决定项目成本,既由开发APP投入各工种及所对应的天数来决定,每个人按天数来估价,即得APP开发需要的费用。
比如说:
开发一个APP 需要 Android 与 iOS 端都能用,则其成本=(UI设计 + Android开发天数 + iOS端开发天数 + 后台管理系统的天数 + 前端开发的天数 + 测试的天数)* 每天参与开发的人数。具体的天数与人数则需要由项目的工作量来决定。
在这些资料的基础上再进行报价,得到的价格是相对于准确的。软件公司会根据具体的功能点进行计算,得到要投入的人数和天数,然后再按照公司的标准进行报价。其实报价的构成无非是:人数 * 天数 * 单价 = 项目总价。
角色 | 工作量(天) | 人数 | 单价(元/天) | 价格 |
---|---|---|---|---|
项目/产品经理 | 5 | 1 | 1000 | 5000 |
UI设计 | 10 | 1 | 600 | 6000 |
Android开发 | 30 | 1 | 800 | 24000 |
iOS开发 | 30 | 1 | 800 | 24000 |
服务端开发 | 15 | 1 | 800 | 9000 |
前端开发 | 10 | 1 | 700 | 7000 |
测试 | 5 | 1 | 500 | 2500 |
总计 | 77500 |
APP开发周期的长短是决定了APP开发投入了多少开发团队的人力成本,人力成本也是开发公司报价的主要组成成分,所以APP的功能需求复杂程度是影响APP开发的最主要因素。
2.5 方案输出
实际项目中,除了开发的费用外,还会涉及其他方面的费用,例如服务器、域名、第三方平台(短信、语音通知)等费用,具体涉及服务器,前期用户少可以先购买低配的服务器,后面再根据用户量和项目情况等再做配置升级。
- 客户的需求永远是多变的,有的客户要求简单,只在我司公版的APP上做Logo、名称、风格的修改后定制一款APP,那这个日程就短,对应的费用就少。
- 客户想压缩项目周期,也会产生额外的费用。
- 应客户要求,部分项目会提供源码,源码费用则另算(2-3W)。
最后,根据实际情况,输出日程及费用给业务,因为我司APP特殊性(基本上不以APP为盈利点),业务会在此方案上做出适当的调整,业务是一线人员,也是最了解市场的人。
三、总结
C-CHIP移动团队(厦门)致力于WiFi、蓝牙配套的移动互联网各个领域APP开发,团队来自早期手机ODM的精英成员,人员稳定,拥有丰富的兼容性优化方案,坚持以技术创新为核心,以用户需求为导向,关注用户体验,市场发展方向,为客户提供最专业的移动应用产品的开发支持和解决方案。
C-CHIP移动团队(厦门)以“全心全意为客户创造更多价值”为目标,成功探索出一套从用户研究、需求分析、产品定位、概念计、原型设计、视觉表现、技术开发到测试、APP上架的流程规范,知道如何规避各平台的审核要求,实现了科学的组织管理和品质监控。为客户提供策略性的思考,辅助客户在产品开发中实现精准定位,丰富的实践经验让产品品质更高,高效的执行力是客户满意度的关键,一站式的服务让产品落地更有保障。
我们不会随便报价,更不会随意承接没有明确需求的APP,虽然不以APP为盈利点,但为了给用户更好的体现,可以提供技术咨询及指引客户明确需要,UI设计会提供多版方案,直到用户满意为止再启动APP编码。