软件开发注意事项



软件开发注意事项

 

 

开发APP 80%的都容易犯一些致命的错误:

◆以为做个软件很简单,所以描述需求的时候及其模糊。

◆ 急着想要 价,在自己对需求不确定的时候就要 价。然后就按这个 价开始做。

◆不知道自己要什么,想做个商城说要做的是淘宝。

◆ 站和手机App区别搞不清楚。要做手机App却说自己要做 站。

◆ 以为所有软件都有模板,而且模板都很便宜。

◆缺乏耐心,不明白也从未想过自己要做的东西有多复杂。

◆自己不知道要做的东西的具体功能,要靠开发商来猜。而且还这时候就要 价。

 

事实告诉我们,这些问题一定会导致以下结果:

 

◆ 项目做出来跟自己想的完全不一样。

◆根据一项国外的专业数据统计机构调查,在外包项目中,有52%的项目经理因为项目失控/失败而被迫离职/降职/开除。

◆ 项目上线的时候漏洞百出,反复修修补补解决不了问题。后面必须重做。(滴滴打车当年的外包就遇到了这种情况,找外包做的一塌糊涂。做出来没用过一次就直接 废重做)

◆ 误把自己都不确定需求时得到的不靠谱 价当做真实 价去开始做预算,导致后期资金预算跟不上继而导致项目失控/破产。

 

我们经常遇到客户第一次跟我们咨询的时候说,以前找的某某软件公司太坑爹。做的东西象一坨屎,仔细一问就发现。原来他自己在项目开工之前自己对自己的需求是完全不清楚和不确定的。就这样稀里糊涂就开工了,以为开发商会帮他完善剩余东西。实际这些客户告诉我遇到过的开发商没有一家会去帮他们中途完善。

原因很简单,需求想的越仔细开发成本越高。一般根据需求的细化程度,成本差出来几倍到几十倍都很正常。10万接的项目,真要扣细节100万的工资成本都不够。这也是一般客户们平时问 价的时候,不同的开发商 价会差出来这么多倍的原因。并不是仅仅是贵和便宜。根本原因是大家对需求的理解完全是不一样的。客户自己不清楚就没人会清楚了。

 

负责任的外包公司会仔细的问你需求细节,不负责任的外包公司上来就给你 价。

 

人总是有惰性的,一旦要想事情和要思考的时候都懒的思考。所以客户们一般反而会讨厌这种有耐心的会仔细问需求的开发商。反而喜欢这种什么都不问其实不知道你要做什么,但是先 个超低价吸引祝其入坑的开发商。最后带来的结果一般就是我们前面提到的那种情况,项目直接失败。或者中途被黑心开发商宰一把,中途狠狠加价(原来1万能做的功能中途要5万)。因为你已经选了他了,要么做到一半放弃,要么按他的继续加钱。大部分人都不想前面投入一半的预付款打水漂,而又不知道加这么一个功能到底会加多少钱。这时候已经没法再去选其他的开发商试了。所以会选择做下去。。。

 

我见过的最常见的例子,就是

很多人上来就问做一个APP多少钱/span>

或者问做一个简单的APP多少钱/span>

或者说我要做个类似美团/淘宝/京东/滴滴打车,一样的APP多少钱/span>

 

第一种:问做一个APP多少钱/span>

其实你问这个问题就好像你到4S店问,一辆车要多少钱有10万的家用轿车也有1000万的超跑。车根据用途(轿车,越野,跑车,赛车,公交也是车),配置,引擎,装置不一样,价格和成本是天差地别。同理,你来问APP也是一样的。

必须表达清楚自己要的是什么样的APP,用于什么场景,APP解决什么问题,怎么解决(具体需要哪些功能)。

来不来就来问价格,不亚于你去问汽车4S店,我就是要一辆车,你告诉我价格就行了。别人肯定会拿你当傻子。因为你踏马没告诉人家你到底要什么车啊魂淡!!!

 

如果你只问我做一个APP多少钱我只能告诉你,几百块到几个亿,都有可能。

 

第二种:我要做一个简单的APP,多少钱/span>

每个人对简单的定义是不一样的。你说的简单具体是简单到什么程度,你又具体是要做什么东西的,很多人觉得微信也挺简单的。。。建议你每次问的时候都说清楚具体功能。

 

三种:我要做个类似美团/淘宝/京东/滴滴打车。一样的APP多少钱/span>

一般这么问的创业者有个特点,很多说不清楚自己要的是什么可能只是看中了比如滴滴打车的地图功能,但是描述的时候说的是跟滴滴打车类似。而滴滴打车的地图功能本身实际只占了滴滴整个软件系统功能的百分之一都不到。同理,有的是看中了美团的团购部分,说自己要做的是美团。有的看到京东有在线支付,就说自己要的是京东。如果你直接这么问,我其实完全不明白你想要的是你举得例子里面的具体什么功能。因为不可能完全仿一个美团/淘宝/京东/滴滴打车。。。

 

为什么不能是完全仿做/span>

你看到的貌似简单的美团/淘宝/京东/滴滴打车/微信……这样的APP,每个的软件研发成本都是过千万,乃至几亿的(特别是复杂的后台)。因为这些大公司APP的细节的复杂程度和后台的复杂程度超乎你的想象。现在所谓的很多软件仿京东,微信之类的, 上说能给你开发微信京东之类的公司,可以说真正能做的功能不到微信京东的百分之一。举几个具体的例子。比如就说最基本的注册登录,可能就分为邮箱注册登录,微信授权登录,QQ授权登录,微博授权登录,短信验证码注册登录,密码找回又分为邮箱找回和短信找回。这里就罗列了7种情况,你做一种还是做7种开发成本可能就差了7倍或者更高。

 

又比如搜索功能,最简单的搜索功能可能开发一下就是几个小时的事情,但是这种搜索可能在几千个,几万个商品数据的时候还能正常运行。但是如果商品数据有几百万条,这时候肯定会崩溃。而不仅仅是商品数据会起到影响,比如你搜索功能是支持模糊搜索(即输入的关键词可以有偏差)还是精准搜索。模糊搜索能模糊到什么程度,讲究都是很大的。淘宝京东这样大平台的搜索功能,很多大公司光一个搜索功能就是需要十几个人的开发小组常年去进行开发和优化,养这些人的成本一年就是几百万上千万。你现在就可以打开淘宝的搜索功能仔细看看它有多少细节(高级搜索,地域,价位筛选,搜索结果排序等等等等)。感兴趣的可以自己去查查这些上市公司的财 。每个季度在软件开发上的成本都是几千万到几个亿不等。大公司一定是招自己有需要的人,如果不需要肯定不会招这么多人。由于篇幅有限,更详细的原因和要注意的地方不做详述。

 

感兴趣的可以看看滴滴打车背后的技术团队有多少人。仅3月份在招的技术职位就多大上百个。平均年薪都在20到40万之间。

 

现在诸位能理解为什么很怕这些问题了吗nbsp;

因为创业者的确是明明确确的告诉我,要做一个淘宝/京东/滴滴打车类似的APP,但是这种APP的成本是天文数字。你可能要的只是其中一部分功能,或者只是想模仿他的运营模式。

 

有些人可能会觉得,这是大公司所以才需要。我创业初期需要考虑的这么细吗明确的告诉你,非常需要。

等到错误发生了你再去解决,所要付出的成本是非常巨大或者会直接导致失败。

大公司不仅仅是因为他是大公司才做得细,是因为他做得细才能成为大公司。

而且你不考虑没人会替你考虑。不要寄希望于你在 上找的这些软件公司,他们只会告诉你这件事很简单,你快来吧,来了就能发大财,互联 人傻钱多。(说到这里白及就是一个典型例子)你不说清楚自己的APP具体需要的是哪些功能,最后吃亏的一定是你自己。因为你在不清楚自己要做的东西具体是什么样子的时候,你找的软件公司就更加不知道。

 

你寄希望于他们给你去思考细节,他们只会给你偷换概念,偷工减料。因为这样做就可以给你的 价更低增加你选他的概率。

 

之前有个真实的例子,一个客户跟个不负责任的开发商只说了有注册登录,而没和他说过要做找回密码,开发商也没有提醒他。而最后软件就是没有找回密码的。如果各位看官不想自己也遇到这样的情况而被坑,就请想清楚自己App尽量多的细节。

 

比如一个购物车功能包括,加入购物车,从购物车移除,添加/减少购物车内某个商品的数量,直接输入数字修改商品的数量,批量付款。这些功能里面你说了一个很多开发商就只会做一个,大部分开发商不会考虑其他的。而一般创业者会觉得,淘宝有啊,一般都有啊你为什么没做创业者看到的一般都是那种大公司很成熟的产品),你要知道,淘宝的开发成本是亿级别的。而且经过了很多年的迭代和更新。

 

阿里巴巴集团2015年Q3季度财 显示,2015年第三季度产品开发开支为人民币32.25亿元(约合5.07亿美元),占营收的15%。你没看错,一个季度32亿的开发成本。一年就是一百多亿。

 

大部分情况下细节方面你不和开发商提,一般就没有。如果别人会替你考虑的越全面,那么开发成本一定会很高。

总结:我的团队里也是这种情况

 

这里我列举三大块最影响APP软件质量和成本的东西。希望大家一定要记在心里!!!方便找合适的开发商和掌控项目质量。

 

1.功能的开发方式

现在市场上存在的几种开发方式如下:

 

a.web 页加壳生成APP

web 页加壳生成APP的开发方式,先花几百块钱买个现成的手机 站模板,在加壳打包一个APP只需要5分钟,但是做出来的效果很差,耗流量,浏览体验极差,访问速度慢等等。部分开发商利用客户不懂,把这种5分钟速成的东西,当成原生态开发的APP去欺骗创业者。卖几千到几万的价格。而创业者很多时候还自以为捡了便宜(问了十几家这家最便宜)。

 

b.Web 页+原生态混编( 页部分占80%以上)

混编方式的APP效果比第一种稍好。但是如果要做出接近原生态的效果,需要不断的优化和改版,花的钱不比原生态少。而如果不对 页和系统优化,只是简单的拼凑。那么做出来的效果和web加壳的差不多.

 

c.HTML5开发

成本大概是原生态APP的50%到30%,也是比较接近原生开发能达到效果的一种方式。但受到很多限制。各大平台兼容性还不足,相对来说还处于过渡期,同时比较耗系统资源。在低配的手机上更卡。手机淘宝的APP目前就是HTML5+原生态混编的,相对来说在很多低配的手机上还是比较卡的。最近优化了很多,但是早期的表现很不尽人意。Facebook和京东都尝试过HTML5,同时也吃了不成熟的亏。HTML5的未来或许是美好的,但是这期间的试错成本小公司不一定承受得起。

 

d.原生态开发

是目前最常用和最成熟的方式。越重视细节成本越高。一般根据具体功能要求一个APP的开发成本从几千块到几千万不等。

 

2.功能的实现方式(功能的复杂程度和用户量)

比如上面说到的搜索功能,具体对搜索功能的要求成本会让成本差出来几万倍。不仅仅是搜索,再举几个例子。比如微信里面的聊天,分为文字,图片聊天,录音的语言聊天,语音及时对讲,视频聊天。

语音及时对讲和视频聊天只简单提一提。这些都是开发成本要用百万级和千万级来计算的东西。微信和QQ乃至现在自己的语言对讲和视频聊天都是有很多问题的,比如同时多人聊天会有很大的回声,电流,杂音。不是腾讯不知道,是知道了但是很难解决。

这里具体讲比如录音发送,一般来说我们听一段60秒的音乐是1M左右。而微信的一段60秒的语音压缩到了几十K,来保证发送和接收时的速度。同时还做了语音降噪(减少周围的噪音)等等。而如果这些不去考虑,只是简单的发送一段语音。两者之间的开发成本相差几倍到几百倍很正常。同样的,你的APP做出来你会发现,消息发送很慢,很耗流量等等。

 

3.APP在手机上的兼容性

相信各位在用手机APP的时候,特别是安卓手机。肯定发现有些APP会闪退,卡死之类的情况。这个就是因为APP的一部分功能在这台手机上不兼容或有bug。这些问题非常多而且很难解决。你只是一个用户的时候感觉不会那么强烈,因为你用的大部分都是大公司开发的很成熟的产品。但是你自己作为创业者的时候就必须要考虑了。因为没有人想自己的APP开发出来,10个手机上8个闪退。但是事实又的确如此。很多几十万成本开发出来的APP到处都是闪退。

兼容性是非常影响成本的(会对成本造成上下几倍到几百倍不等的成本)。仅安卓而言。安卓手机全世界有一万多种机型,各种不同的手机品牌,分辨率,操作系统版本 ,都对程序的兼容性有影响。很多时候做兼容性调试的成本还要大于软件的开发成本,真要做到主流手机兼容,光买测试的手机就要花几十万去买。一个APP如果开发出来,不做兼容性调试开发。和做兼容性调试开发,成本也是会差出来N倍的。

另外在说说模板,很多时候一些项目如果有成熟的模板解决方案能节省很大的成本。

但是模板也一样价格存在巨大的差异。同样的一个商城模板可能价格也上下差出来几十倍,原因也是因为细节功能完全不一样,可能功能差了十几倍。如果你在买之前不仔细观察细节功能,那么一定会出现买了后大呼坑爹的情况。这个系统可能整个流程都是残缺的,更不要提你拿这个残缺的系统去运营了。

另外不是所有APP都有模板,一般来说只有商城相关的APP的模板比较多。而且模板有成熟不成熟的区别,真正成熟的模板开发成本和时间是巨大的,一个公司不可能同时有很多好的模板。因为数量多,必定不精。开发一个好的模板的成本已经巨大了,同时还搞多个,则说明每个模板上投入的成本和精力不会太多。

 

app外包开发常见的几个坑。

———————————————————————————————————————————-

 

常见坑一:

客户问外包公司你们有什么知名案例吗外包公司说有啊,美团,大众点评,携程,一 店(说出一个一二线,或者是三线有一定知名度app的例子)是我们做的/是我们的案例。

这种情况下90%是偷换概念或者纯骗。不管你找的这家公司是真有几百个人的大公司还是只有几个人的小公司。

 

实际情况是,任何你但凡听说过小有名气的App,基本都是互联 公司自己招人做的 不太可能是找外包。你可以在百度搜索任何一家你听说过的app名字或者互联 公司名字+招聘2个字,都能看到他们长期在招聘大量的程序员工程师,同时公司长期备有几十到几百,甚至上千人的技术团队。

 

即使真的找外包,可能是最早创业初期的第一期找的外包,但是他们后来出名的那个系统跟最初找外包做的,已经完全不是一回事了不是一个东西了,业务代码已经完全不一样 。


外包做的东西就是前期低成本试错的一个东西,很可能一次都没用过就直接 废。滴滴打车之前最早就是找的外包开发的,但是基本没正式用过就直接 废了自己招人重新做。但是这家外包公司可能在N年后滴滴打车牛逼了后会跳出来跟客户说:滴滴打车是我客户案例,滴滴打车是我做的。利用的就是偷换概念和客户不懂不会较真。滴滴打车当前找他们做并不是因为他们牛逼,而是滴滴打车可能也被他们坑了。


还有的是,有些外包公司在这个很出名的App公司团队初创的时候,跟这个团队的创始人吹过牛逼,也只是吹过一点牛逼而已,可能并没有实际合作项目。然后这个外包公司N年后发现当年一起吹过牛逼的那小伙做成功了,这时候他跳出来说 XX是我客户,XXApp是我们客户案例。。


还有一种情况就是, 比如很大的互联 公司,比如携程或者大众点评或者一 店,他们平时开发的时候也会有忙不过来的时候 ,偶尔会找些外包公司进行一部分的人员外包,要几个技术员过来帮忙干几个月临时的杂活。一般都是打杂接触点边缘化的没有技术含量的东西,根本接触不到核心部分业务代码。 但是这时候外包公司又会说,大众点评是我们做的。都是偷换概念,显得自己牛逼。


还有的就是一点关系也扯不上, 强行欺骗来增强客户信任。揭穿了就算了。 

 

其实你可以做个简单的实验,你在百度或者其他任何平台公司找app外包开发公司的时候,会遇到N家官 上有大众点评,或者在家点点,携程,美团之类的app是他的客户案例的,或者是他们的业务人员亲口跟你吹这样的牛逼。

其实这些被合作的互联 公司并不知道自己被合作了,以前有个梗是说吃了一次肯德基就是肯德基的战略合作伙伴了,加了一次油就是中石化的战略合作伙伴了。 而在app外包领域里真的这么干的公司非常多,不说小的,甚至大量已经上市的外包公司也吹这样的牛逼。偷换概念乐此不疲。

 

 

常见坑二:

外包公司给你的合同一定要仔细看,很多时候被骗的客户自己公司是有法务的但是也一样被骗。因为你的法务和律师根本看不懂那些看似专业的技术词语。所以并不知道他是在扯淡还是合理的。由其是在验收标准和开发要求的这几大块上。基本如果甲方公司没有懂技术的,哪怕有专业的法务也太容易被骗。

 

一般体现在合同里对需求描述的不详细或者压根合同里就没有提到需求,只说要做个某某app,多少钱什么时候交付。 这样的合同其实压根没有一点卵用,你们之间商量的做个某某app只有你们自己口头讨论了需求,但是如果没非常详细的落实在合同里,最后外包公司随便给你个东西也能交付。甚至压根就不是最早你们商量的,因为合同里并没有证据能证明你们要做的到底是什么。

同样的还有开发方式(原生还是混编,H5还是加壳),验收的标准是什么这些如果不提,每一次都是提前被埋下的炸弹,遇到骗子你去法院都白瞎。根本就告不倒人家,就是合法的骗。

 

一般负责任的公司在合同里都会非常详细的给到一个很长的需求文档,根据项目的大小起码有几十页,里面有各自原型图和需求说明。用到的技术,项目架构,开发方式等等都讲的非常清楚。

 

这个文档是合同非常重要的附件,里面详细的描述了你们这次项目具体是要做成什么样子。如果没有这个,双方签完合同的时候其实都是蒙逼的。要做什么根本没个界定,到时候胡乱拿个东西交差也是不违反合同的。

 

这个看似常识的东西其实大部分外行都不知道,我每年都至少见到几十起外包开发被骗是被坑在这个地方的。

 

甲方如果不重视这个,哪怕被人骗了告到哪去都没用。 因为别人没违反合同。你们的合同压根就是一张废纸。

 

暂时就更新这么多,app外包坑非常非常深。最好的方式就是甲方自己公司有个懂技术的能参与进来选择开发商和逐步交接。以后有时间在慢慢更新,希望能帮到真正想创业的人。

 

 

总结:

我接触的第一个外包公司的时候,对于我来说还是没有达到我想要的要求的,当然那个时候,自己也是不专业的。

文中博主有点偏激,但是说的很专业。要解决他说的这个问题。

方案一,掐头不掐尾。找个技术总监,来协调公司和外包公司的技术沟通问题。

 

参考:

https://www.zhihu.com/question/21453934

 

 

 

与外包公司合作项目的风险主要在于是否能按时按质的完成项目,也就是说绝大多数的外包公司他们想把东西做好,但是出于各种各样的意外,项目超出了他们自身的能力范围(可能是技术,可能是管理),合作体验差,产品出来品质差,最重导致甲乙双方都不愉快。一般不会是故意的,所以还是那句话基本不存在”被宰“,因为项目做不顺利乙方自己也是又相当大的损失的,就像七伤拳,”宰人先宰己“。

 

7、iOS的app上线是需要苹果账 的,这个又分个人账 、公司账 、企业账 神马的(这仨账 啥区别您可以和外包公司的人交流下,如果以后还不懂可以随时问我),如果您想让自己的app以后显示来自自己的公司,那就要去申请个账 了,不然等开发完才想起这个事儿就要耽误上线时间了。我们的客户有的规模很大很注重这个,有的不注重的直接用我公司的账 上传了就。。


8、如果有必要跟乙方吵架,记得可以对项目经理凶,但是不要对技术说的太难听。。。这个很讲究,好处您想想就知道了

9、项目开始前一定要求乙方提供时间进度表,大多数时候时间进度表和实际有偏差,但是进度表可以使双方知道我们的阶段目标在哪里。有进度总比没进度好。

 

————————-华丽的分割线————————–

 


3. APP外包的流程是怎样的/span>

一般外包的项目都需要经常这几个流程:

1)需求沟通:双方沟通项目的需求,对项目的可行性进行分析
2)工作量评估:在确认了项目的需求后,外包团队对项目的价钱和进度进行评估,并提供一份详细的 价表及项目进度文档,确认开发进度及时间安排
3)签署项目合同:双方在项目 价和开发时间上如果达成统一意见,则正式签署项目合同,之后项目将正式启动
4)设计,研发,测试,上线:根据最终确认的设计方案,对整个项目进行产品原型,视觉图的设计,研发,测试,验收,最终发布上线
5)相关文档与源码交付:完成所有的设计和开发,根据实际需要进行必要的技术输出,合作完成。
6)维护升级:一般的APP项目开发完后都需要进行维护,因为随着手机系统的升级,或长时间的使用,或多或少都会有其他一些新出现的问题需要维护。具体可参考下图:


 

 

 

最后,在技术问题的选择上有几个误区陈列如下:

1.架构贪图完美前言 —— 开始别想架构,把眼前的问题解决好最重要 
2.先进的技术和大众的技术 —— 稳定的技术是创业初期的福利,有更多的技术支持方案和选择,有成熟的人才
3.完善考虑仔细斟酌 —— 快速上线,快速实现,过程改进,才是最佳方案
4.团队越牛逼越好 —— 牛逼的人是否在一线真的干活最重要,稳定的合作伙伴远比牛逼重要
5.用什么语言 —— 这个看看培训学校在培训什么语言就知道了
6.代码一劳永逸,能够支撑一年半载 —— 别做梦了,系统代码要能够承担从零开始写的代价
外包还涉及到开发时间,需求变更解决机制,沟通机制,上线测试,后期维护和服务等诸多内容。

另外几个画外音:

1)系统,即便是我们自己的,每8个月更新30%的代码,14个月更新90%的代码。系统是不断升级和迭代的,找到这样的人(自招或者外包)。不要找固步自封的团队;

2)系统的外部依赖也是变化的,例如:微信的卡券,1.2, 1.4, 1.6, 1.9我们跟着经历过来的,他们增加减少和调整算法结构,我们都是跟着变化的。不要考虑一蹴而就的技术实现方案;

3)外包公司和自己团队核心面临的问题,过了8个月,很多代码很多架构没人敢动了;业主或老板不愿意承担改动的责任。要知道软件项目没有人一开始就“门清”的,用一个完整的解决方案解决12个月以上的事情,找死。业主和老板,要承担基础代码变动带来的“不确定”性。你不需要懂,需要的是担负相关责任,和技术一起平滑过渡,N多人不理解原则才出问题的,而不是没有合适的团队或者人;

4)12个月,代码一定要重构,找你信任的CTO才是关键。任何一劳永逸的态度,都会出大问题。

新创业的兄弟,我在技术上的建议是:

1)你们的CTO如果没有见过1000万访问的配给(团队+设备),你就等等。如果你的公司成长到了日活跃用户100万(客户端),你的CTO目标是5000 – 1亿规模的CTO,否则后期成长肯定有问题。

2)找大公司的大牛技术做顾问;找一线技术做技术经理。解决实用和前瞻,现在和未来负载的综合问题。

3)在你不需要技术团队跟屁虫一样跟着的时候,选择外包就好了。技术顾问+小型外包适合非技术型创业团队。因为技术顾问都是你信任的朋友。如果没有,去找一个值得信任的朋友。

 

 

 

在我们接手过的项目中,发现最大的问题其实是金主们(甲方)一 是不明确自己的需求二是 这个需求的难易实现程度。当然这也是会被坑最主要的原因。

但这个问题有木有办法解决呢有的,全看你找的技术团队。接下来告诉你在选择流程里面避坑的方法。


1.沟通需求
一般来说第一次都会面聊沟通需求,此时注意在告知了App的核心功能后,对方是否帮你扩展,丰富你的需求,并提供解决方案。【举个栗子,你是做 交的App,对方会问你在第一步注册的时候,手机 码,邮箱,微博,微信等常见登陆方式,你要选择哪几种
必要时候会要求你画简图,避免双方信息沟通不对称。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2016年4月17日
下一篇 2016年4月18日

相关推荐