技术博文2017/06/09

【苏州APP开发】APP开发流程五个阶段详解

APP在今天来说,已经是个家喻户晓的词了,智能手机巨大普及量,APP已经得到极大的发展。

APP的开发技术同样得到很大的发展,各种功能强大的系统,多平台贯通的系统,各类营销模块的开发等等,越来越丰富,技术也越来越成熟。随着技术的积累,成本逐渐下降,有的开发公司甚至直接采取模块化生成APP的开发方式,将速度推向极致。不过这种方式,速度快但修改难,不大好做个性要求,有些系统开发源代码都没有,也有的虽然有源代码,但为了保护其强大的自动生成功能,往往系统会进行加密。对于开发客户来说,以后进行二次开发难度很大,更换平台开发升级版本极难,以及因为加密带来的数据安全等,会有不少后顾之忧。所以最理想的开发还是基础+定制的模式,基础代表公司开发了许多的各类系统的积累,定制代表着为用户带来最好的体验和最特殊的功能实习。有基础积累可以提高开发速度,降低开发成本,无加密源代码的提供,使客户没有数据和程序上的安全担忧,再加上任意的个性要求,成为速度+体验的比较理想的结合。苏州app开发公司智奇胜有多年的app开发经验,在APP开发行业比较专业,一般开发APP流程有如下五个阶段:

第一阶段:沟通需求方产品功能点(项目经理,三号位,抗压)

当需求方把想做的产品发布到平台,这个时候平台的项目经理会与需求方取得联系,了解需求方的初步想法,理清项目范畴看看目前需求方只是一个想法还是到哪个开发阶段,看是否需要投入时间理清楚产品的核心功能点,而不是简单的跟随客户天马星空的想法随意报价,类似“我想做一个类似京东商城”“我想做一个类似滴滴打车”,客栈项目经理遇到很多这种就差几十个亿可以打造的航空母舰的项目了,再问这样的问题,分分钟全部自杀!比较靠谱一点的方案,项目经理简单沟通需求后会给出一个大致的估价区间,但是这个报价是不准确的,因为产品的开发功能点这个时候并没有确定。

所以这个阶段只能说是项目经理免费给出了一份商业开发顾问方案,建议客户落实1.0版本的核心业务流程打通的方案产品。这个时候我们一般会建议客户自己先做一份所谓的产品商业模式图,项目经理也会根据多年的项目开发经验给出合理化的建议,现在的创业者基本都是“火星人”,能想到的不能想到的都会有需求,如果项目经理发现市场已供给过剩充斥太多竞争者产品或想法用现代的科技无法实现,这个时候会给你最真实的建议。

大致的产品商业模式草图第二阶段:确认想法做产品原型设计(产品经理,四号位,负责BP)

需求方如果有大概的商业模式草图那么将会是一个很好的开发,这个时候产品经理就能很轻松的做出产品的原型图,包括用户体验设计(UX),APP界面的交互逻辑,以及产品功能点实现的大致状况,根据目前我观察坐在对面的项目经理队伍,最容易出问题的就在这一块,如果原型不确定,需求方功能点改来改去,那么如果冒然到下一步UI设计的话,设计师将会与产品经理发生矛盾,如果很不幸到了第四步,那么程序员就会联合设计师一起来打产品经理!

“为什么不和客户确认好需求?MDZZ”

所以第一个阶段产品原型做好的话,就能非常准确的给出产品的开发预算。

产品原型设计图(参考)第三阶段:UI视觉设计(设计师,二号位,带节奏)

完全准备好原型设计才到这一阶段UI设计体验设计,以为产品经理所做出来的产品功能点是明确了客户的开发需求的,所以UI设计师更多的是提供一种色彩的搭配以及增强用户使用体验感官的设计,此阶段估计以下成本:

  • 参考市面优秀产品的设计
  • 分析提供多种版本的logo解决方案
  • 提供所有主要界面的多种风格设计
  • 互动样板的开发
  • 和前端工程师沟通特效

这个阶段非常非常重要,不只是UI设计师一个简单的设计工作,还要与开发工程师进行沟通、产品经理给出意见、项目经理负责监督、客户负责定稿,最终定稿确认进入下一阶段的开发。

第四阶段:进入开发出产品1.0测试版(前端工程师、后端工程师、iOS工程师、Android工程师=程序员=一号位carry全场)

此时已经明确进入程序员的开发阶段,如果前面没有变动的情况下,程序员加班加点,产品在不久的一段时间后,就能准时上线,通常客户在这个时候是最容易提出新的功能点改动需求:

“不就是加一个小按钮吗?”

“一个简单的自动回复啦”

如果是开发者直接与客户接触沟通的话,你猜会发生什么后果?不是吵架就是程序员撂蹶子不干了!

“当初说好的呢?”

“PM就是个二货,当初为什么不和客户确认好,会不会BP啊?”

这个时候项目经理的重要性就会体现出来,作为“润滑剂”的角色存在,项目经理应该及时和客户沟通产品的完善性,并且解释开发”迭代”的概念,原则性问题不能改变的情况下,确保确定的核心版本上线,而不是和程序员一起起哄进入无休止的修改加功能,“加功能”属于二次迭代开发需求,必须要从第一步重新来做。最重要的“产品上线”工作一定要落实在开发工期内。

第五阶段:进入开发测试Debug阶段(测试工程师,五号位,support)

很多人往往忽略的环节,其实测试是非常重要的一个环节,如果一个产品只是根据客户自我的使用角度去使用,是很难发现产品的缺陷的,这个时候你真的需要一名专业的测试工程师,之前客栈的腾讯测试工程师给出过最专业的测试建议:

1、需求分析、系统分析和测试分析,主要是通过经验找出风险,以及编写用例。代码review。所以经验和技术都很重要!

2、测试用例执行,检查需求实现是否正确,质量好坏(交付影响有多大,是否达标)

3、质量流程和标准的建立。这些可以提升效率降低成本。

4、评测对比,主要是性能,可靠性,以及和竞品的对比测试,这需要投入大量的分析工作,也需要一些专业的方法和技巧。

只有经过一套合理而完善的开发体系出来的产品才是满足客户开发需求并且经受的了市场的考证。