移动开发(APP)评估

因服务于公司业务原因,只开发 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编码。