从入职这行业到创业已有 7 载,对 APP 产品开发的流程已经再熟悉不过了,现在把这几年积累的一些经验和大家分享一下,一个产品是怎么从想法一步一步落地为具体成品的,这个过程中会经历一些怎样的必要流程呢,下面大致说一下:
- 需求整理
大部分创业型项目在这个阶段只是一些比较抽象的想法。有一份相对完善的需求文档,不仅有助于创业者自身对项目的理解和周全性分析,如果项目是交由设计公司去完成的话,也更有利于对方准确把握项目的定位和商业模式,以便给出专业的建议和解决方案。下面是需求整理过程中比较关键的点:
(1)清晰认识项目是为了解决什么用户痛点,行业需求?
(2)分析要解决这些痛点或者需求的过程中需要通过哪些有效的功能布局去实施,逐一将核心功能列举并适当完善一下,通过文字或图文的方式描述清楚。
(3)建立完善并且合乎逻辑,功能完整呼应的需求文档不是一件简单的事,如果你是 PM(产品经理)出身的话会比较容易上手,否则最好还是由第三方机构协助完成。
- 预算评估
不论项目是由自己团队执行开发,亦或是交由第三方公司代为设计开发,建立在一份完善且有质量的需求文档都是非常有必要的,对需求文档进行人力时间的投入,可以较准确地估算出项目需要投入的预算,同时这些文档后期会有助于产品经理,UI 设计师,技术开发人员等等对项目的理解,减少人员沟通中可能存在的误差。(下面以我们 kollway Design 中某项目的需求文档和逻辑结构为例 )
- 原型设计
接下来会根据上面提到的具体需求文档,项目经理进行会进行原型图的设计,包括:
(1)功能的结构性布局
(2)各分页面的设计
(3)页面间业务逻辑的设计
最终输出每个足够示意出页面所包含的功能的原型设计图,比如:
- UI设计
(1)APP UI : 原型图经过反复推敲修正后,UI 设计师会进行UI界面相关的配色设计、功能具象化处理、交互设计、以及各种机型、系统的适配。UI 设计师经过多次与项目经理沟通修改后,最终的到定稿的高保真设计图。
(2)后台 UI : 绝大部分 APP 项目都会有相应的管理后台,虽然后台是用户无法接触到的,但是与 APP 侧的功能是意义对照的,合理的设计能让后台管理人员快速上手。
- 开发
经过以上几个过程之后,会正式进入到开发阶段,一个完整的 APP 项目一般包含以下几个板块:
(1)服务器端:编写接口协议文档,服务器环境架设(国内一般都是用阿里云服务器,国 外一般用亚马逊),设计数据库和编写API接口。
(2)APP 端:根据UI设计图进行界面开发,UI 开发完成则进入和服务端接口对接,通过服务端的接口获取数据,编写功能上的逻辑代码。
(3) Web 管理端: 根据前端的业务逻辑,后台会有相应的功能与之匹配,同样需要编写功能上的逻辑代码。
- 测试调试
APP 功能开发完成之后,测试人员会对整项目进行系统性测试。这个环节会调动起项目组内所有人相关人员。而测试这个环节的重要性不亚于前期功能的规划,如果团队没有经过专业系统性训练的测试人员,很可能会导致项目出现与设计初衷存在落差,以及遗漏下一些逻辑上的坑(这些坑是以后给自己带泪跳下去的...)
而完成项目测试调试最重要的环节是问题的管理,追踪各个 bug 的进度以及状态,包括指派给谁、优先级、修复状态等等,以便有质量地完成问题的处理。
- 发布到应用市场
经过至少两轮的内部测试以及小范围外测(或者完成满足测试要求的周期)后,会进行最终版本的上架,以常用的 iOS 和 Android 应用市场为例:
(1)Android : 涉及的应用市场很多,主流市场是应用宝、360手机助手、小米商城,不同的应用市场的受众属性会有所不同,流量也有较大的差别,需要根据实际情况选择。
(2)iOS : 发布到 AppStore(苹果审核比较严格,是否符合最新的上架要求,是否涉及到虚拟货币、是否支持最新环境等等等 N 多问题都会导致审核是否能通过,这个对经验的要求就很高了,而最坑爹的是,比如某 APP 存在5个导致不通过的问题,苹果是不会把5个找出来告诉你为什么拒绝的,而是找到一个就马上拒绝你,所以如果经验不足的话上架 n 次花费几个月都是很有可能的。)
- 运营迭代
产品正式投放到市场之后,会得到用户以及市场本身的一些反馈,从而知道该如何修正或者调整运营策略,当目前系统的功能再也无法满足项目需求时,就需要规划新一版本功能的迭代问题了。(重新经历:需求整理-预算评估-原型设计-UI 设计-开发-测试调试-发布 这个产品的生命周期 )
- 日常维护
在项目正式运作的时候,即便是已经达到相对稳定的阶段,也会有可能出现一些小问题,或者发现一些隐藏得比较深的 bug,这个时候就需要有相关的市场人员进行问题的收集以及技术人员对问题作出及时的修复,简单理解就是需要有人值守。
以上是大致的流程,不过由于实际项目往往会涉及到人与人之间的复杂沟通以及协作,还是需要有严谨的管理规范以及弹性的流程控制才能达到较高水准的项目质量的,希望对你有所帮助。