随着互联网的高速发展,软件开发app开发的需求也呈现了爆炸式的增长,但是据我了解,一个很奇怪的现象是:大部分的软件开发项目都是失败的!也就是还没有到项目实际运营的阶段,这个项目就死掉了,这并不是项目本
随着互联网的高速发展,软件开发app开发的需求也呈现了爆炸式的增长,但是据我了解,一个很奇怪的现象是:大部分的软件开发项目都是失败的!也就是还没有到项目实际运营的阶段,这个项目就死掉了,这并不是项目本身不好,而是开发公司软件做不好,间接导致的项目失败。因为工作的关系,我接触到很多这样的实际案例,其实很,很多优质的项目都死于开发公司手中,同样,我也很疑惑,软件开发或者说是这种app开发真的很难吗?为什么失败的概率会这么的高呢?带着这样的疑问,也很荣幸,通过一个朋友的辗转介绍,有幸认识了在软件开发行业从业近十年,同时也是国家级高新技术企业的软件开发商网络网络的何先生,希望和他进行一个深入的沟通,能够解答这个困扰我多时的疑问。以下内容为我们对话的整理记录,将从几个方面来说说为什么app开发这么难?难在哪?
今天听了你的这个问题,真的非常非常非常有感触,因为我自己就是在软件开发公司工作,目前为止也已经工作了将近10年的时间,期间遇见各种各样的问题,下面来说说我的经历吧。
作为一个从业近10年的APP开发人员来说,做个app本身不难,难就难在前期客户方和外包方的沟通和对于需求的梳理和把控,个人觉得只要前期的功能点梳理清楚了,加上这家公司不是个坑壁公司(找个靠谱公司),那么做好一个APP的成功率就已经上升到了90%的可能性。
这个问题里面,我将会拆分进行回答两个问题“如何沟通好需求”和“如何找到靠谱的公司”。那么作为将要做一个app软件的你如何和外包公司沟通好需求呢?我觉得这个是你和外包公司双方的事情,如果你全部指望外包公司替你想到,这个是不可能的事情,其实需求也很好把控,只要说清楚就行,举个栗子来说,比如你要做一个商城,就算你不懂技术,你自己也可以看看其他人的商城是怎么做的,比如你的商城规划是有登陆功能,登陆功能采用那么方式来做(比如常见的登陆功能有联合登陆(微信登陆、微博登陆、QQ登陆)、还有输入用户名密码登录、还有手机号码登陆),你必须想好有哪些登陆方式,因为一般定制开发的项目,你说了外包公司才会做,你不说一般都是不会做进去的,同样的,你说的越细致后期的问题会越少,同样费用也会越多,因为外包公司的价格的评定标准就是根据你的功能来计算的,具体如何计算的,我后面再和你们说。
那么“如何找到靠谱的公司”呢?其实我对我的客户一贯的说法就是“一看二查三聊”,这个怎么说呢,所谓“一看”就是你一定不要怕麻烦,既然想做好APP,那么不管你选择的公司在哪个城市,你自己一定要亲自的过去看看这家公司,看看他们到底有多少人,有几个办公室,有几个做技术的,有几个做销售的,有几个做运营的。大部分只要你过去看看,你自己心里就有个底了,不是说所有的大公司都靠谱,但是大部分的大公司都会比小的团队会更加的有保障,出了问题他们基本都会给你解决,因为比起开发商的损失来说,开发商的信誉是他们更加看重的东西。“二查”就是从网络各种渠道去查查这家公司,看看整个网络对于这家公司的侧面评价如何。“三聊”,这个就比较重要了,多和你的目标的外包公司对接人员聊聊,当你聊了几家外包公司的对接人员之后,你基本上就能感受到他们专业程度的差距了,从中选择一个你认为比较专业的公司即可。
那么说了这么多,你们知道了,开发一个APP真的不难,你只需要做好我说的2点,把握好需求和找到一家靠谱的外包公司,即可。是不是很简单? 那么就这样完了吗?项目就能做好就能做成功?当然不是!我们海拔网络从业十年做了上千个app开发的项目,小的项目几万,大的项目几百万,其中不乏有很多项目后期获得了多轮融资,从我们的经验来说,正确理解并且知晓app的开发流程尤为重要。
第一步:)需求方(也就是你自己),确定了自己的立项之后,一定要多看看竞品公司的app产品,看看他们是怎么做的,有哪些流程,细节做的怎么样,先做到自己的心中大楷有个数,然后再去网上找对应的app开发的外包公司,至于怎么找这个app开发公司,已经说过了。这个环节我姑且称它为“找公司”。
第二步:找到中意的app开发公司之后就和他们开始洽谈项目的细节,并且一定要把这些细节明确到合同里面,因为如果你的项目是无二的,是需要这家app开发公司定制和开发的,那么你的需求一定要明确在合同里面,因为软件开发公司最终也只会按照这些合同约定的功能和条款来制作。也一定要明确每个功能的实现方式方法,同一种功能有很多不同的实现方法,就像我刚才开头所说过的那样,同为登录,却有用户名密码登录、第三方联合登陆、手机号码登陆等几种不同的方式。如果这些方式开始没有明确,最后外包商又没有做,那肯定就是双方扯皮的事情,下面有张图是我们之前为其他客户做的一个需求分析的原型图,可能和你要做的APP不一样,但是大部分都是这个逻辑,发上来仅供参考。这个环节我姑且称它为“细需求”。
第三步:需求也确定好了,那自然就是合同了,合同也是要注意的事情,有几个点,我认为作为客户的你应该需要知道。
需要注意的A点:如果你的项目案值高于10万元,那么预付款不能高于60%,应该实行分阶段付款,的分阶段付款应该为合同签订支付30%,效果图全部确认之后支付30%,端完成测试上线%,苹果端完成测试上线%。
需要注意的B点:就是软件所有权的问题,大部分正规的软件开发公司在合同中都会明确的表达该软件的知识产权是属于他们所有的,如果你作为需求方,你的软件开发完成还需要申请软著等等一系列其他的内容,那么我你还是和软件公司协商一下,争取把软件所有权或者知识产权谈成你们双方共同所有。当然你也可以谈成归属你自己所有,但是据我所知,如果这个项目开发完只归属你自己所有,那么你将会付出较多的代价(主要是的代价)
需要注意的C点:此项目各阶段双方约定的交付时间以及截点,以及当前截点下双方各自的和义务,这个也一定要约束清楚,也是在后期双方责任不明容易出现问题的地方。
需要注意的D点:之前你和外包公司沟通确定的需求文档一定要做为合同的附件添加在合同里面。后期最容易扯皮的就是需求问题了。
第四步:接下来你只需要在不同的环节及时督促外包公司按照合同的约定交付当前应该交付的内容,并且对这个交付给你的内容进行审核即可。
OK,以上五步就是开发一个APP大楷需要经历的流程,不管你是谁,你找哪家外包公司给你做合作,都摆脱不了我上述所说的五大步骤。
那么,你肯定想知道,在整个的项目过程中“难点都在哪里?在哪出现的?”,其实从我这么多年在海拔网络的经验来说,在软件开发中,假设双方都是靠谱的人和靠谱的公司,那么这个项目是肯定会做好的,也会完美完工的。难点出现在哪里,大部分的难点都出现在外包公司的不负责任和需求方对需求的不理解,如果我以需求方的角度来回答这个问题可能会更好,你们也更加的容易理解(虽然我所在的这家公司做开发已经做了很多年,并且在我所知晓的同行中确实也算常专业并且负责任的一家公司了,但是有时仍然也会需要把部分项目做外包,或者项目中的某个技术点做外包,人无,公司的技术也是一样,不可能有公司是全能,什么都会,所以这是正常的)。
5:大体经过:这家公司我们之前去实地考察过,也有几十个人,只不过注册时间很短(2017年1月份注册,事后证明当时没有考虑这个重要因素确实太大意了!中),这次合作的是一款游戏的全新定制开发,我也说过,定制开发需要根据需求方的要求从原型图开始,再做UI效果图,给需求方确认之后再开始程序。但是可惜的是这家公司对我们纯忽悠,直接从淘宝买了一款类似的游戏源码,在他们的服务器安装好之后直接手机截屏了几张图片发给我们,说这是他们单独为我们量身设计的,并且不予修改,在我们多次要求修改的情况下,直接失联(不接电话、不回信息、不给任何回复)。然后就没有下文了,后来才知道这家公司就是专门骗首付款的。(这个案例可以说是我们最失败最最的案例,明摆着被人抢了,如果你们也碰到这样的公司,那真的是只能自认倒霉了,我写再多的经验对于这样的公司来说也是无计可施)
5:大体经过:曾经有过一次,在某宝买过一套APP商城的源码,因为当时看了店家的介绍,感觉很不错,很牛的样子,而且价格非常的便宜(现在看来那时候还是年轻啊,事明便宜没有好货 ),于是就很开心的和店家达成了交易并且支付了费用,当代码安装到我自己的服务器之后并且结合后台进行使用的时候我懵B了,总共居然有307个BUG,你知道这意味着什么吗?意味着这套源码是垃圾中的战斗机,根本无法使用
后续和店家进行协商,刚开始还积极协助修改,当改了三天之后慢慢的就不行了,到最后就皮掉了,也不理我们了,当然项目肯定是失败了。
B:在某宝购买软件类的源码如果金额过高,还是你去对方公司进行实地考察,并且在现场对代码进行审核。
5:大体经过:当时我所在的软件外包开发公司技术部排单太满,有个项目客户非常着急的要求我们提前2周上线,完全打乱了之前的开发节奏,公司没有办法的情况下,只得将此项目中的某个功能进行人力资源的外包,当时找的是一个在其他软件开发公司任职程序员的童某某,也和对方洽谈好了外包的金额和功能点。刚开始这个小伙还行,随着项目的不断深入,问题越来越多,主要问题是:
A他的时间和我们对接不上,我们白天上班就要对接,他白天要在公司工作,不能做私单,只能晚上对接,晚上对接了又不能搞到太晚,他第二天还要上班。
B要求他使用我们公司的架构和技术框架,但是由于他不熟悉,导致前期对接花费了很多的时间,并且增加了很多的沟通成本
最终这次外包也是失败了,我们公司当时只得还是自己做开发,经过和其他客户的协商,抽调了一部分开发人员加急开发,也算是如期如质的在交付了项目
A、APP开发-产品经理,负责分析需求,提需求,整理需求文档,提出低保真设计原型,并协调以下几类人。
专门负责产品管理的职位,负责调查并根据目标用户群的需求,确定开发何种APP,选择何种技术、商业模式等。并推动相应产品的开发组织;还要根据产品的生命周期,协调研发、营销、运营等,确定和组织实施相应的产品策略,以及其他一系列相关的产品管理活动。
B、APP开发-UI组,可分为平面设计和交互设计,负责对产品经理提出的需求设计app高保真原型,设计web页面,或者海报。
UI用户设计基础(UI行业发展及UI设计师职业规划,美术基础,平面设计基础,图形与创意设计,网页设计基础,交互式网站),软件:Photoshop、Illustrator
移动界面设计(图标创意思与方法,图标的创作设计,主题图标设计,Ios系统Android系统Windows phone系统,UI设计实训课程)
综合项目实训及就业阶段(根据所学内容,选择一种移动平台(IOS/Android/Winphone),软件界面,WUI类型设计,完成初稿设计。
如果歌曲列表只保存在手机上,万一,他的手机被盗了,就算他买了台新的手机回来,那歌曲列表也会丢失的啊?
为了解决这个问题,其中一个办法就是qq音乐app可以把歌曲列表放在远处的一台机器上,当用户a买了新手机后,把放在远处的机器上歌曲列表重新搬回到qq音乐app就行了。
当查看物流时,可以看到类似这样的描述“到达xx中转站”。只有经过中转站,东西才会到达b的手上。
在app上的情况也差不多。假设app上的a用户需要向b用户发信息,这条信息也需要经过app后端这个中转站,才能到达b用户处。
D、APP开发-前端开发人员,这里分web和app,app分和ios,web的前端也分后台系统和前台系统等,大型公司还有isv和osp。
把UI的设计图按照w3c标准做成html页面,并且用javascript脚本语言实现页面上的前端互动。互动效果包括,弹出层,页签切换,图片滚动,ajax异步互动等。
高级前端工程师还要承担前端优化的工作,优化的知识就会更多一些,比如文件过期Expires,缓存,异步缓存,js和css以及图片的压缩等。
前端开发是一项很特殊的工作,前端工程师的工作说得轻松,看似轻巧,但做起来绝对不是那么的简单。在开发过程中涵盖的东西非常宽广,既要从技术的角度来思考界面的实现,规避技术的死角,又要从用户的角度来思考,怎样才能更好地接受技术呈现的枯燥的数据,更好的呈现信息。简单地说,它的主要职能就将网站的数据和用户的接受更好地结合在一起,为用户呈现一个友好的数据界面。
对于一个刚入门初涉运营的人来讲,所有的脏活、累活,完全不用怀疑,确定、一定、以及肯定都会是你的。
编辑几篇伪原创的文章,开着官微到新浪和腾讯转转微博,每天收集信息准时发布号,遇到公司哪个部门出了,你还要注册一堆ID发稿子,若不是这几年玩BBS、贴吧的人比较少,让你捡到了个便宜,如若回到那几年,哪个运营专员不是牛逼轰轰的在主流论坛开着几个大号ID?这叫啥?水军号!
其实搞运营就和玩游戏一样,入了门到了一定级别就要开始分门派了,当然这是大公司干的事,初创公司、小团队是没有这个门派之分的,吃喝拉撒都要跑,所以我这里还是要根据一定规模的团队来进行分工的。
这个应该是大家见的最多的,微博写段子、论坛回帖子、号写文章、做医疗的经常要去发百度知道的贴,当然现在的“互联网公司”还有个新任务,就是到知乎答问题!不管对不对,反正要说的,让看到的人能够感同,觉得好像很有道理的样子,默默地帮助你那就对了!
相比初级运营做的事情,内容运营负责人要对结果负责,也就是你不但要制造内容,还要让别人帮你扩散并且你的内容,这里对内容运营人的文字功底还是有很高的要求的。所以之前我在的招聘里写过这样一个标准“资深吐槽帝,趣味屌丝男,出口成章,七步成诗,有超前的临时工。”
之前有好几个小伙伴搞不清产品运营,在大的定义里,产品运营的本质其实是围绕用户,你会经常看到招聘产品运营的介绍上有着这样一句话“负责网站/社区/应用/软件等产品的运营策略制定,提升产品用户基数。”其实就是对产品或用户运营的最佳释义。
你不但要充当在线客服一马当先的在一线整理需求,还要到社区反馈论坛、QQ群内与用户建立互动,了解用户需求,对产品团队进行反馈,你是一个桥,如果你的公司没有“用研”这个岗位,那么你就要一切该干的活!分析数据?用户增长值?这都是你该总结并且策划的事儿,当然有的时候你还要充当制造事件的PR。
最苦逼的就是做WEB2.0内容类的产品运营,尤其是产品早期,很多时候你不但要做为一个管理员去回答用户的问题,你还要反过来看着小号给自己问问题,建立X个ID在BBS里优雅的和自己的ID聊天,自问自答,想想都觉得醉了。
这个其实是最好解释的,平时的工作很多都是要靠庞大的人脉积累来完成的。这里的工作无非是两种,要么赤果果的做个销售,优雅的靠近客户在客户面前打广告、卖产品;要么就优雅的从合作共赢品牌出发,与合作伙伴互换资源,与边缘产品建立合作进行产品对接用户共享,这里最初级的可能工作就是换友链,网站友链是两个产品公司一切友好的开端。
市场运营其实是很练嘴皮子的,你要谈客户、你要讲沙龙、你要不断的告诉别人你的产品,从大的方向来讲很多公司的销售都可以放到市场运营里来归类,你要建立很多渠道关系、广告联盟、行业会议、商业圈子,这些都将是你将来发展的舞台。
高级运营一般都是运营总监级别的了,主要的工作就是调配公司整体资源,制定全盘布局规划,建立完整运营方案、规划,引入资源,最终交给初级、中级运营人手里,监督他们把事情落地,你所做的一切只为了一件事,对产品及品牌的结果负责!
嗯,今天说的也是够多了,也算是比较透彻的了,现在看看,开发一个app是不是很难?确实很难!难就难在你对每个环节的合理把控,难在你能慧眼识珠,找到一家负责任有实力的公司和你进行合作!
小米的乱情人生