第一阶段:职业探索阶段,简略解释一下,便是智能手机刚刚问世,各大手机厂商不断鼓舞开发者转到移动手机开发范畴,乃至发放补助,以扩展智能手机商场,此阶段开发一款APP本钱最高,由于最初的移动手机开发者均是从电脑软件开发者、芯片开发者等一边学习一边探索实践进行开发,智能体系尚不老练,各开发结构以及手机体系底层接口均不安稳,国内各安卓手机体系均是谷歌开源体系由C++开发人员进行体系裁剪和微调,再在此基础上由使用层人员参加开发APP。
第二阶段:职业盈利阶段,智能手机用户数的快速分散,手机版别迭代迅速,资本流入让手机体系快速老练,一起移动互联网范畴开发者人数快速添加。此时各大投资者纷纷将目光瞄准了互联网职业,淘宝、京东、微信、滴滴等产品让各路投资者看到了互联网分散的魅力,此阶段开发一款APP本钱相对较高,由于职业全体给开发者的薪资都很高,产品司理、项目司理等角色尚不明确,通常是产品发起人(主意提供者)本身担任产品责任,此时开发一款APP根本上都在几十万上下,我本人也是在此时进入移动互联网职业进行第一次创业,接到的订单根本上开发费用在30万到100万的偏多,外包者仅完结第一版别开发,很少客户会让外包方长时刻保护并参加项目,爆料一下,此阶段大部分外包项目为定制开发项目,纯赢利在50%左右,假如项目完结的顺利,赢利最高可达70%,最低也有20%。
第三阶段:职业安稳阶段,此阶段智能手机根本上完结商场分散,手机使用商场的高危险性也让资本方开端理性的知道互联网,一起此时互联网相关从业培训使得职业开发者数量极速添加,移动开发者薪资也开端下降,最重要的是,各种手机体系底层接口以及移动开源代码都已老练,开发一款惯例功用性APP不涉及新技能的本钱现已很低,这也便是现在互联网外包职业所在的阶段。
做个总结,做一款APP:
第一阶段需求开发者懂手机体系软件,然后在此基础上调用体系接口完结APP功用,乃至需求开发者完善或修正部分体系层代码,80%以上代码由开发者完结;
第二阶段开发者根本上不必了解系手机体系软件,只需求了解体系接口,进行组合调用即可,一款新APP60%左右代码由开发者从头完结;
第三阶段开发者现已有十分丰富的开源代码资源,用一句外行的话来讲,到网上下一些开源代码,进行修正组合调整就能够了(程序员别砍我,虽然这么说没错,可是和非互联网职业从业者解释一下,把网上的开源代码修正并集成到自己的APP里是意见十分费事以及繁琐的工作,杂乱的功用能够如此,简略一些的功用其实老程序员更乐意自己从头写,由于会更省时省力。)全体上开发一款APP本钱现已没有曾经那么高。
------------------------------以上为职业背景,以下为盖房子简略类比开发APP--------------------
现在进入主题,开发一款惯例APP的进程,不涉及高新算法(智能算法开发、多媒体编解码开发、高频处理算法、图像识别、自然语言处理算法以及查找优化算法等)原生开发。
以盖房子为例,来类比阐明开发APP的进程,
盖房子进程:
想盖房子----》想好选址和想规格以及原材料---》考虑钱够不行---》规划图纸---》开端建房子---》房子毛坯---》装修到可拎包入住
做一款APP进程:
想做APP---》分析竞品(相似软件)---》本钱考虑---》UE/UI交互图纸规划---》开端写代码---》代码demo版---》完善到APP上线到各大使用商场
补白:以上两种进程均只考虑了条件满足,比方资金满足的状况,假如资金本钱不足,需求从头考虑进程,不然中心风向太大简略导致失败。前面几位软件外包相关从业者再三和各位着重,需求评价和需求沟通整理很重要,由于服务职业性质决议了,假如前期沟通不清楚,你可能想盖一个别墅,最终出来的是个平房,外包职业人员本钱高,也便是时刻本钱高,你盖房子假如方案半年盖完,你给工人的价钱便是半年的;假如由于中心沟通原因导致时刻延长,工人的工钱仍是一向付的,所以假如做APP找外包公司,切忌头脑发热,必定要三思,再行动。
举个实践例子加深各位看官的了解:
理想状况下剧本是这样的:
村头小王想盖婚房,看到村里房子都是两层小洋房,想盖一个三层的小洋房涨面子,招引村头的俏寡妇串门。最后预算完口袋的钱,发现三层小洋房不行,小王觉得那也要盖个2层半,最上面放个楼阁。和包工头儿说好了价钱谈好了一切,包工头依照工期出了图纸如约盖了房子交工,小王高兴的住了新房子,如愿勾搭上了俏寡妇,每天开端了没羞没臊的生活.......
别意淫了,实践状况大都是这样的:
小王想盖房,看到村里的都是二层小洋房,想盖三层,一起找了三个包工头儿(王朝马汉和李三)询价,王说你的钱不行盖三层只能两层,马汉说你的本钱只能盖两层半,李三说我能够帮你盖三层。于是乎,小王挑选了李三,李三想赚钱,只能从材料上下手,偷工减料,小王住了不到一年,房子倒塌,索性和寡妇在外约会躲过一劫。
给各位看官当笑话了,可是目前软件外包商场根本上是这样。我现在从几种不同的状况来阐明,做一款APP的流程,分别从互联网公司做APP,传统职业做APP,以及个人创业做APP几个进程来阐明主意和流程,以供咱们参阅,咱们问我为什么清楚,我创业曾经在国内的一线互联网公司从业,创业以来各种客户都接触过,算是比较清楚各流程以及客户的主意,如觉得我说的有什么不妥当,仅供参阅即可。
---------------------------------实践开发APP案例干货----------------------------------------
1、互联网公司:公司本钱足够,流程门清,自己有人才储藏,人员足够。
开发一款新的APP项目:高层人员出idea,组织产品司理做竞品分析并整理需求,大佬们团体评定需求,通过评定今后开端执行项目,产品司理出UE原型交互,组织规划人员开端规划UI、LOGO、图标等,代码人员评价需求+UI,代码人员开发代码。
我说一下各阶段大约耗时状况,不含评定时刻,各阶段成果都有评定人员,一般一天会议评定,
产品司理竞品分析--2周到4周,分析市面上已有同类型软件和功用优缺点并进行整理,简略用户画像分析,产品中心点分析,初步商场分析
产品司理整理需求--2周到4周,依据同类竞品以及高层初始主意,结合竞品用户画像和商场分析从头界说产品中心点以及突破点,并整理成具体的需求和UE,出初版的需求阐明书
UI规划--4周到8周,UI规划师依据产品司理提供的需求阐明书和UE,完结页面规划,出UI图纸
代码开发--8周以上,具体状况视工作量
执行人员配备:
产品司理:1人 上对产品总监担任
产品助理:0-1人,假如有,上对产品司理担任
UI规划师:1人 上对UI规划总监担任
开发团队装备:
IOS前端开发:1-2人,上对开发总监(或架构师)担任
Android前端开发:1-2人,上对开发总监(或架构师)担任
后端开发人员:1-2人,上对开发总监(或架构师)担任
测试人员:1-2人
假如项目巨大,开发团队成员可能会更多
大都互联网公司做一款APP便是这么一个流程,由于本钱足够,又有自己储藏,商场调研完好,很少会出现项目在开发阶段夭亡的事,APP上线今后,还有运营团队运营,产品不断迭代,想要这样做APP的话,资金富余即可。
2、传统非互联网公司:公司本钱足够但项目预算有限,流程不清楚,无互联网人才储藏
开发一款新的APP:高层出idea,组织秘书或亲信做了简略的商场调研,找了两到三款竞品软件,开端寻找APP外包公司,多家询价或许竞标的方式,挑选一家外包做开发。
最终结果根本上都能够拿到APP,但后续需求公司自行招聘互联网开发者进行保护或从头开发乃至二次开发。大都APP上线今后,有公司原业务支撑,但没有长时刻规划和考虑。
3、个人开发者:预算很低,流程不清楚,职业不清楚,乃至打算创业
想做一款APP,找了几个竞品,找了多家外包公司询价,找最低报价,开端做,外包公司简略整理需求,从代码储藏中找一套稍做调整,完结交给。
----------------------------------接下来说一下软件商场状况和适用人员------------------------
1、代码贩卖:已完结的代码,贩卖,直接卖的,需求考虑是否适用于本身,考虑版权危险;个人主张假如有自己的开发团队装备,可直接购买代码,但不主张经常如此,不要省这点钱。
2、模板租借:现已完结的和运行的代码,有技能公司在运营和保护,客户只需求出软件使用费即可;个人主张适用于个人或小店家和小厂家,需求使用者细心考虑使用软件是否会暴漏本身或公司方面的信息。
3、半定制开发:底价定制商场,大都为外包公司整合了代码,为客户在代码的基础上进行修正调整使用,特点是价钱比较低,需求客户考虑好代码安全性和后续保护晋级问题,比较适用于一个版别不必迭代晋级就能够用到这个产品死掉的客户。
4、定制开发:高端定制商场,大都为实价,依照实践人力本钱估价,主张客户遇到这种状况,必定要见开发团队,能驻场最好,究竟花了大价钱,商场太乱,什么人都有,比较合适有钱的客户,对产品质量要求高,后期产品迭代有仔细考虑的。
5、自建团队开发:比较合适有资本方支持的项目。
-----------------------------------------小结---------------------------------------------------
无论何种状况,必定要考虑好产品出发点和产品需求,假如自己不专业,能够找一个产品司理或许懂的顾问提出意见。
重要的工作再次着重:确认好出发点,考虑好需求。
确认好出发点,考虑好需求。确认好出发点,考虑好需求。
假如你盖房子盖了一半,本来方案盖三层洋房,后边想盖五层别墅,这种状况下必定会出问题,资金本钱都会变化。
软件开发也一样,之所以互联网公司前面乐意花2个月来准备,而且仍是专门的产品司理,便是为了把各种状况考虑到。
最后给自己打个小广告,我公司现在做软件,根本上会问清楚客户打算用来做什么,
假如确实有方案运营推行并考虑了后期迭代更新,咱们就高端定制。
假如仅仅为了方便现有公司运转做个小工具之类的,产品不必更新迭代,咱们根本上有现成的代码储藏能用就用,降低本钱;
假如有些客户仅仅想借个春风玩个概念(比方区块链),咱们根本上都是拿现成的代码稍作修正,给客户打包,客户想去骗钱就骗钱,想去忽悠谁就忽悠谁。
最后再给咱们着重一边,做个APP,是个大投入的工作,三思而后行,投入时刻,投入精力,投入金钱。