亚原子科技

开发一款APP,需要多少时间,多少钱?

位置:首页 > 新闻动态 > 行业新闻 > 正文 发布日期:2016-11-30

一款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要多少钱?这个问题其实不应该问程序员,毕竟程序员大多是写死程序、拿死工资的码农。即便是外包公司的程序员也不会接触到公司业务,除非是谈过外包项目,很有经验的产品负责人才能明白这里的行情。我没在外包公司待过,但私下里接过外包项目,大概了解过外包行情。
 
找个人接外包一般会有两种工资算法,一种是按日薪支付,一种是按预算均分。按日薪支付是指预估出该项目大概需要多长时间,并与甲方谈妥时间点,找产品做原型,找设计出图,找程序员开发,并按日支付项目参与者在职岗位的平均日薪,当然参与者需要在规定时间内完成工作。按预算均分是指该项目甲方一共能给多少预算,开发该项目的所有人员均分这笔预算。这种方式适合熟人团队开发小项目。

182 9825 5678