产品开发技术流程:开发一款 App 需要多久?

王鑫爱吃鱼

共 3100字,需浏览 7分钟

 ·

2016-08-21 00:01

很多人常常来问我,我有一个idea,要做出一个APP到底要多久时间?到底要经历哪些步骤?我现在已经做了什么什么,我到底要怎么继续进行下去呢?其实这些问题没有标准答案,根据不同型态的产品也可能会做不同的预算分配跟调整,不过当朋友来问这问题的时候,根据我们程序员客栈500+产品开发经验,归纳出以下的数据,希望对于想做产品的你,有参考的价值。

做产品开发技术的循环到底是什么?

其实大家可以稍微了解一下技术开发的步骤;特别提醒,产品开发最好三个月内就上线,避免军心涣散。深究其开发循环如下:

file

1.建立开发目标

所需时间:最短一周、最长两周

一个循环的开始,通过产品原型去描述产品流程,不管是App还是网页,一定要有,然后通过使用情境去描述使用者行为,有人会说可不可以只有其中一个,我的强烈建议是两个最好都要有,而且定义的规模建议不要太大,做出最重要的功能就好,根据我过往数个产品的开发经验,做完这个阶段,包含项目经理跟产品团队讨论的过程,大约会花一周的时间,有的比较谨慎的产品团队会花上两周,定义得更仔细,不过如果超出两周,通常好的想法会又开始发散,造成很多不必要的疑惑。

根据过去的经验,第一个产品建议把行为简化到30~40个功能点以内,这样开发才不会因为过于发散,而在第一次产品上线受到很大的阻碍,30~40个功能点大约可以拆成80~100张表再交由程序员进行开发,一张表尽量不要超过8小时的实作时间,这些初期工作都是很容易让人忽略的准备。

2.设计图的提案流程

所需时间:160个小时工期预算

设计的流程主要分成两个,主视觉提案与所有页面的按钮提案,基本上主视觉如果可以快速定下来,后面的流程跟按钮的设计,就会快上不少,设计在这个阶段通常出一个提案需要16~24小时,也就是两到三天的时间,有的专业设计师会花更久的时间,提出两到三个方向,根据产品团队标明的方向去进行后续页面的设计,如果你的预算与时间充足,可以在这个阶段多看几遍,因为好的设计绝对会节省很多程序员的时间,你甚至可以请程序员花个2小时先看一下设计的状况,看看有没有什么特效会造成工程时间拉长,如果没有,才将设计定稿。

设计的时间通常会花到2~4周,后面还会有切图的工作,现在有好用的Sketch可以帮忙处理切图的事情,不过如果没有用Sketch,切图也会花上大约1周的时间。这边会有设计师的成本,建议至少抓160小时作为你的预算。

3.打地基非常重要

所需时间:40~80 个小时的工期预算

做软件产品,不管你是要做App、还是Web Service,请一定要设计好你的数据库结构跟API,因为这是影响开发循环最重要的事,我看过不少的开发团队在还没订定schema的状况下,就开始做产品,开发期间不断的调整结构,其实这并不是不可行的方式,但是只限定于人少的团队,通常是一人团队比较有可能,一开始制定数据库的结构跟API的传输方式,并且建立文件,是为了让前后端的工程师都能有一个初阶的规则去遵循,开发循环中当然API跟Data Schema一定会持续改变,不过维持一份良好的API文件,绝对会是重要的关键,所以这个阶段,请务必找寻有产品建构经验的架构师来做或是用顾问的方式来合作,根据过去的执行案例,这个阶段通常花一到两周就能建立第一版构架,但是构架好与不好会让后面的工程时数有极大的差异。

4.API 运行–技术开发中很容易让人遗忘的一段路

所需时间:20 API开发需要 80 ~ 120个小时的工期预算

通常进行一个技术开发,后端的准备应该要在前端执行之前,也就是说假设三个sprint要做出一个产品,第一个sprint后端工程师可能有大量的工作,但是到第三个sprint,后端工程师可能会比较悠哉一些。很多人可能不太能了解什么是API,简单来说,API就是网页前端或是Native App要索取资料时,跟后端拿数据的界面格式,比如说如果你要登入,你需要有一个API让前端可以将帐号密码的数据送入API,API根据送入的数据查询数据库,最后吐出这个登入的人的使用数据,API的角色其实有点像是RPG里面的NPC,跟他讲不同的话,会有制式的答复。有人可能疑惑为什么不用前端程序直接去索取数据库的数据,在这边强烈建议不要这么做,虽然就系统层面来说,这是没有问题的执行方式,但如果这么做,在平台变多的状况下,数据库端不但难以管理,更有可能因为某一个前端串错程序,就造成整个数据库毁于一旦。

根据我过去的经验,刚开始写API的时候,因为必须顾及很多基础的构架,所以写前20个API接口可能会花上较多的时间,一旦API构架固定,后面的开发则会更快速一些,通常API的开发在一个产品开发循环内,会至少持续3~4周,不过通常1周开发过后,下一阶段便可开始执行。

5.Front-end Coding(Web,iOS,Android included)& Backend and Frontend merge–如果说做产品是盖房子,那么这个阶段就是钢骨结构做好后到完工前的所有工作

所需时间:160 ~240 个小时工期预算

这个阶段的工作,完全是程序员发挥的阶段,以硅谷目前盛行的状况,是以敏捷开发的方式来进行管理,也就是说,在每一个迭代任务订下目标,然后快速执行,并且在任务结束后快速验证,通常这个阶段会跟上一个以及下一个一起用敏捷开发的方式进行,基本大约花上4 ~ 6周就必须完成。

6.Testing and debug–这是个重要的步骤,建议不要小看调整跟修Bug的时间

所需时间:80 ~ 120个小时的工期预算

修Bug有四种状况,系统设计错误造成的致命错误、系统设计造成的使用经验错误、程序设计造成的致命错误、程序设计造成的使用经验错误,重要的程度分别是1>3>2>4,但是修理的状况建议只做1,3,4,让2送上架后再修,原因是像iOS App审核时间很久,有一些调整,只要不是造成系统问题的状况,部分使用经验的谬误,可以随着技术开发的循环,逐渐调整,之所以建议4可以做,是因为4的状况,通常是写程序的人出错,修正这样的错误通常不会花上太多的时间,因此可以快速修正。

根据经验,这个阶段加上前两个步骤,会额外加上1 ~ 2周进行修正。

产品上架后的更新,才是关键

产品上架后,如果您的服务是要长期营运的,建议再接下来每两周都能进行产品的更新,不管是刚刚debug阶段的第二种情形的修正,还是产品使用经验的增强,甚至是新功能的开发,建议根据以上的循环,每两个礼拜进行一次(10个工作天),也就是说下一阶段的产品在送产品上架的时候就要决定,约略5个工作天修正后端,5个工作天修正前端并且进行debug,有时后端其实不用开发,前端就能进行修正,那前端就有10个工作日来进行,这个速度其实对开发团队会是个挑战,但是如果产品可以以这样的开发循环时间进展,使用体验通常可以在一个月内就趋向稳定,这样会不断迭代出新的功能点。

综合上述数据,最短可以在10周,最长则是在14周开发完成,一个平台时数的花费则在500 ~ 760小时之间,也就是约略3到5个工作月,如下图所示:

file

虽然根据产品的规格,时间有可能有不同的反应,也是有过在一个月就让产品上线、五天做出原型等的经验。一般来说,通常行为创新的产品技术没有那么艰深,耗时较短,而技术类创新则刚好相反。不过这样时数的花费,对一般人来说,其实不管是请人也好,还是自己花上时间实作也好,真的是个不低的成本,更别说后面的更新并且让产品长大,才是真正的挑战。

如果你也有一个好的想法,欢迎发布需求。

浏览 69
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报