在一个阳光明媚的下午,我正瘫坐在椅子上改bug。忽然有人给我发微信:“我想做个app,多长时间,多少钱?”

从我从业iOS开发到现在,这个问题被问过无数次,比那句:“你是程序员,那你会修电脑吗?”还要令人烦。毕竟那只是句玩笑话,而这句在其他人(更多时候是你的boss,经理这些非程序员出身的IT内行人)看来是你的专业,是你必须要知道的,你能回答不知道吗?显得你太不专业了。但这句话最专业、最负责任的回答就是:“我不知道!“

问我问题的是朋友的朋友,一个在传统行业浸淫多年的人,立志要突破传统行业的束缚,做互联网浪潮中的弄潮儿。当时听他说这句话的时候我有点懵逼:互联网浪潮中的弄潮儿?指示十多年前马云、马化腾那一批吗?现在互联网都蔓延成海了,哪还有潮让你浪,能做一条杂鱼苟延残喘的活下去就不错了。

我真想回答“我不知道”,毕竟还有好多bug等着我改呢,没必要在这浪费时间。但又想到毕竟有过一面之缘,直接回答不知道,是不是显得有点不给面子?在这个问题上,很多时候就是这么栽进坑里的。

“什么类型的app?”这句话发出去,毫无疑问的掉坑里了。他给我发了个app截图,说:“跟这个差不多,不用那么复杂,简单点就行。”

我一看,好嘛,淘宝?!你还真是打算做弄潮儿啊!我说:“淘宝啊?得十多年吧。”加了一个呵呵的表情,一方面想表达我认为你是在开玩笑,我也是开玩笑的回复,另一方面是我想呵呵你一脸。其实我也不算敷衍,淘宝03年成立,做到现在也十多年了。

他明显没有get到我的意思,反而埋怨我没get到他的点。说:“我的意思是淘宝这个类型的app,肯定不用跟淘宝似的那么复杂。简单点,有个列表,可以卖东西就行,几天能弄出来?重要的是要快!”看这意思是:我已想到一个天才创意,就差一个能把创意转化成app的高效程序员了,一定要高效,几天就能做出来,上架使用,推广全国。

这时我能想到的最靠谱的建议是:花钱收购现有的,你觉得最符合你创意理念的那款app。当然这个看似调侃实则靠谱的回答是没办法说出口的。我语重心长的回答道:“电商类app,只保留必要功能:商品展示、登录注册、购物车、下单支付、订单记录,精简到最简单,只是iOS客户端的实现代码也不可能几天内写完。”

本以为我这么说对方会重新估量开发一款app的复杂度,没想到对方急了:“不用考虑那么复杂,先做出一个最简单的,其他的慢慢迭代。就告诉我最快多长时间能搞定,大概花多少钱就行。”

这就是耍流氓了,好话说了一火车,油盐不进。我要还妄想改变他的想法,我就是2B了。索性开门见山的说:三个月。在团队完备,不改需求的前提下。找个人兼职外包,按平均日薪结算。

对方没再回话,不知道是听从我的建议去紧张筹备项目小组了,还是觉得我是个菜狗,这么点小事竟然张口就说三个月,三个月吃屎都赶不上热乎的了。我估计是后者的概率大。喝了口水抖擞抖擞精神,继续改我的bug。遥想当年我也曾豪言壮语,但到最后都跌的遍体鳞伤……

此类情况遇到N多次了,像这种无关自己工作的外部人士咨询行情的还好,毕竟你只需要给出自己认为合理的建议即可。人家也不一定采纳,说不定只是做个对比筛选,事后成功与否都事不关己。但多数情况下是boss或部门经理会问你这个问题,那回答的时候就不是这样轻轻松松侃侃而谈了。毕竟,说出去的话是要兑现的,挖了坑自己填不上,是要栽进去的。

我认为:任何没有完整功能逻辑原型图就问开发时间的都是耍流氓,有原型图问开发时间事后改需求的都是耍无赖。这两者的共同点就是玩死人不偿命。

为什么开发不能像其他行业那样精准预估工期呢?因为开发工作的变数太大。以最常见的app登录功能举例,常见的登录方式有:账号+密码、手机号+验证码和第三方平台登录。手机+验证码需要找短信服务商,要考虑验证码的送达速度和费用问题。第三方登录需要注册账号,创建应用,以及认证开发者资质。腾讯开放平台创建应用需要填写appid,要想有appid需要在iTunes Connect里创建应用,在此之前必须有苹果的开发者账号,申请开发者账号是要公司级还是个人级的?公司级的需要提供邓白氏码。所有这一切都需要时间审核,部分资质认证、账号注册需要花钱。

以上是平台账号问题,下面说开发问题。有登录就得有注册,要保证用户的唯一性,需要有一个唯一标识。以手机号作为唯一标识的话,采用第三方登录的没有手机号,分配独立用户id作为唯一标示的话,先用手机号登录,再用微信登录,就会产生两个用户,如何实现绑定手机号合并用户呢?还有是否保留账号+密码注册呢?如果保留的话还需要有找回密码功能,找回密码是要邮箱验证还是手机验证码验证呢……

一款app并不是简简单单找个码农,噼里啪啦敲一顿键盘就能完成的。至少需要以下几种角色:产品经理,能拍板项目功能逻辑出原型图,把控整个项目进度和团队配合;设计师,根据原型图做高保真交互设计;服务端工程师,做后台数据处理,提供客户端所需接口;客户端工程师,实现app所有的功能逻辑,性能优化,上架应用市场;测试工程师,测试app功能逻辑的正确性和性能。这些只是角色标配,并非每个角色都对应一个人。比如客户端可能需要Android、iOS、WP多个开发工程师,开发往往会兼任测试工作,后台有时会代理产品经理工作。又或者你是精通设计的全栈工程师,对产品又有资深造诣,那便可以身兼所有角色。所以这里又牵扯到团队协作,再默契的团队都会存在沟通成本,只是成本高低的问题。全栈工程师单人开发,没有沟通成本的单兵作战,时间成本会大大增加。所以说:程序开发是一个充满无数不可预知变化的职业,不可能精准预估工期。

道理我们都懂,那开发一个app到底要多长时间呢?预估工期虽然令人讨厌,但确实是一个客户端程序员该具备的能力。当看到原型图预估时间的时候,往往只估算了敲app代码的时间,而且还是个理想化时间。认为自己胸怀万码,光标到处bug灰飞烟灭,功能实现如有神助,代码编译一次通过,简直是码生赢家啊。现实会毫不留情的给你狠狠地一巴掌。比如一个原型图上有10个界面,都是最简单的push跳转,用Storyboard一个小时就能画完,剩下七个小时写数据展示,so easy啊,然后洋洋得意的告诉boss一天就能搞定。然后Storyboard代码版本冲突了,解决冲突用了仨小时,接口响应方式没指明,参数格式写错了,调了仨小时。六个小时过去后,慌了……

之所以不可预估,是因为存在太多的不确定因素。一些不确定因素会因为经验积累而变为确定因素,另一些不确定因素却会一直存在。程序员拿到需求的时候,需要有一个心理预估,每个功能模块多久能完成,哪些逻辑是我以前写过的,哪些框架是需要谷歌才会用的,哪些页面目前还不能确定实现方法。对每个模块分配一个时间块,不求预估准确,但求时间精确,最后把这些时间块加起来,然后乘一个π值,得到的便是一个相对合理的开发工期预估。随着经验积累,慢慢地不需要乘π值了,乘2.5,乘2,乘1.5……能乘以1那就是大神了,乘以0.x就超神了。其实有经验的产品经理也会以这种方式来计算程序员的工期预估,毕竟有经验的产品经理都是被程序员不擅长工期预估而坑过无数次的。唉,相爱相杀,产品狗何苦为难程序猿,程序猿何苦坑害产品狗。

还有开发一个app要多少钱?这个问题其实不应该问程序员,毕竟程序员大多是写死程序、拿死工资的码农。即便是外包公司的程序员也不会接触到公司业务,除非是谈过外包项目,很有经验的产品负责人才能明白这里的行情。常州开发APP公司http://www.czwew.com/case/紫竹云科技根据总体APP的开发周期计算费用,根据APP开发的周期按照人/天计算。

找个人接外包一般会有两种工资算法,一种是按日薪支付,一种是按预算均分。按日薪支付是指预估出该项目大概需要多长时间,并与甲方谈妥时间点,找产品做原型,找设计出图,找程序员开发,并按日支付项目参与者在职岗位的平均日薪,当然参与者需要在规定时间内完成工作。按预算均分是指该项目甲方一共能给多少预算,开发该项目的所有人员均分这笔预算。这种方式适合熟人团队开发小项目,例如之前接的一个小项目三万块,后台、iOS、Android一人一万,原型图和设计是甲方提供的,开发时间总计两周。其实有时间的话,还是蛮乐意接这种小外包的。

我想外包开发一个APP,需要多少钱,多少时间?的更多相关文章

  1. 开发一个app需要多少钱

    App应用开发是目前最热门的产业,很多企业都想通过app的开发来进入移动互联网市场分一杯羹. 那么你一定很想知道开发一个app需要多少钱吧?那下面企业帮就来帮大家计算一下费用吧. 面对app抄袭成风的 ...

  2. 开发一个App要多少钱?APP开发报价单,APP开发外包有哪些注意事项-广州达到信息www.ddapp.com.cn

    来源:广州达到信息著作权归广州达到信息所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作为一个APP开发从业者,经常会有人问到:开发一个App要多少钱?下面针对这个问题来好好解答解答正经的谈 ...

  3. 行内人解读开发一个App需要多少钱?

    对于很多互联网的创业者来说,评估前期的创业成本是很重要的.在这几年的创业大潮中,伴随着“互联网+”和“互联网思维”的普及,很多创业项目选择了开发app作为创业项目的载体.在我接触到的很多创业者,找Ap ...

  4. 2016开发一个app需要多少钱?app开发需要哪些成本-app开发问题汇总-广州达到信息

    作为一个APP开发从业者,被外行的朋友们问及最多的问题是,"做一个网站需要多少钱?"或者"开发一个APP需要多少钱?".作为开发过完整网站项目和手机APP的人, ...

  5. 成都开发一个app大概好多钱?

    目前,移动APP已成为很多小企业业务销售的新渠道之一,于是问题来了,一般想到要开发一个自己的app,就想问:开发一个app好多钱?去百度.360.搜狗等等平台去找相关的app开发公司咨询或者问问朋友有 ...

  6. 自己开发一个APP需要多少钱

    广州APP开发公司[启汇网络]经常遇到有开发定制APP软件需求的企业,通常第一句问的就是“开发一款APP需要多少钱”,在做完客户行业的市场调查后,再了解客... 广州APP开发公司[启汇网络]经常遇到 ...

  7. 开发一个 app 有多难?

    171 个回答 默认排序​ 道衍天机 有事情的加微信1293190838找我 1,150 人赞同了该回答 ----------------------------------------------- ...

  8. 后移动互联网时代:到底还要不要开发一个App?

    后移动互联网时代,到底是什么样的一个时代? 首先,后移动互联网时代中,产生头部应用的几率变小了,像微信这样巨头式的App很难在产生第二个.其次,后移动互联网时代,物联网发展迅速,所有的智能硬件都需要一 ...

  9. 开发一个App的成本是多少?

    英文出处:savvyapps.欢迎加入翻译小组. 在最近的一个会议上,一个叫Bob的老顾客引用了<App Savvy>(<放飞App:移动产品经理实战指南>)中探讨研发一个io ...

随机推荐

  1. Django ContentType 的使用

    引入 一切优化,最终都是关于需求的优化.本文介绍需求确定之后的数据库表结构设计优化. 程序员应该都知道,编程是数据结构和算法的结合.所谓数据就是用户需要访问和操作的资源,比如购物类App里面的商品,图 ...

  2. C#访问SFTP:Renci.SshNet.Async

    SFTP是SSH File Transfer Protocol的缩写,安全文件传送协议.安全文件传送协议.可以为传输文件提供一种安全的网络的加密方法.sftp 与 ftp 有着几乎一样的语法和功能. ...

  3. Linux中的 date 使用

    01. 日期格式字符串列表 %H 小时(以00-23来表示). %I 小时(以01-12来表示). %K 小时(以0-23来表示). %l 小时(以0-12来表示). %M 分钟(以00-59来表示) ...

  4. JavaScript图形实例:五角星

    1.五角星 在半径为80的圆周上取5个点,用这5个点依次首尾连接画5条线,可以绘制出一个五角星图案. 编写如下的HTML代码. <!DOCTYPE html> <head> & ...

  5. 在Windows10中安装与配置Nginx

    一.使用环境: Windows 10 1909 nginx 1.16.1 二.安装与配置: 1. 打开链接,http://nginx.org/en/download.html 下载稳定版本nginx ...

  6. 软件开发工具(第13章: Eclipse插件的使用与开发)

    一.插件简介 插件的定义(了解) 插件是一种遵循其所依附的软件的接口规范所编写出来的程序. 插件实际上是对原有软件的扩展,替应用程序增加一些所需要的特定 功能. 插件的构成(重点.记忆) 每个插件都由 ...

  7. flask项目部署到生产环境的方案

    背景 使用Python+flask编写的一个小项目,在本地开发完毕后,需要部署到测试服务器上,这时候犯难了,因为之前没部署过这块东西,所以各种百度,总算是部署成功了,也对这个项目进行了jenkins持 ...

  8. React组件的属性

    组件的三大属性 state props refs 写组件的要求: 1>组件必须大写 2>组件必须只有一个根元素 state是组件的重要对象 值可以是对象 组件被称之为 状态机 通过跟新组件 ...

  9. vue项目 npm run dev在Linux 持久运行

    touch run.dev.logchmod u+w run.dev.log 记录日志文件 nohup npm run dev > run.dev.log 2>run.dev.log &a ...

  10. Java 程序员最喜欢使用的日常工具

    多年来,Java 始终是企业应用程序的支柱.最近几年,Java 也是 Android 开发的首选编程语言.不过开发人员如何使用这种语言呢?一项新的研究阐明了主要使用 Java 的开发人员的工作类型,以 ...