1.需求阶段
1.1 原型评审
需求提出后,产品一般会带着原型图,拉开发、数据、设计一起开需求评审会。
在这个会议中,大家如果对需求有什么建议/意见都可以提出,如果需求实现不了、改动很大没法向前兼容、开发周期长等问题都可以在这个会议中抛出来,产品会做出相应的调整。
1.2 交互设计评审
大家对原型图都没有什么异议之后,就进入下一流程了。当设计出了设计稿之后,就拉着产品、前端一起评审交互设计稿。
这个评审会主要是看以下几个方面:
(1) 交互设计稿跟产品逻辑有没有一个比较大的出入;
(2) 组件风格跟整体风格是否统一;
(3) 在有产品上线有规定时间的条件下,UI还原复杂度如果占用开发时间比 较长的话,会考虑让设计协调一个降级的方案。(比如复用以前的功能类似组件)
2、开发阶段
2.1 概要设计&排期
交互设计评审完之后,开发就可以开始排期了。(前端同学要到这个阶段才开始排期,但是后台、数据的同学一般原型评审完后就可以排期了)
开发是如何排期的呢?一般来说,一个需求开发出来到底需要多少时间,这个是不能百分之百准确评估的,因为有很多情况你没发预料,
比如线上出现bug,这个bug你可能要花一天的时间才能找到并修复,
再比如在你开发过程中,遇到一个难题,要花时间做调研等等。
所以开发排期一般都会留给自己一些buff(缓冲时间)。
要评估一个需求开发完需要花费多少时间,一般我们会先做一个概要设计,啥是概要设计?
概要设计就是实现这个需求的一个大概方案。一般会考虑以下几点:
(1) 考虑依赖
需求要实现依赖了哪些服务,包括第三方和我们自己的服务。
如果需要依赖第三方服务,需要调用第三方接口的话,可能还要去阅读第三方服务的接口文档和调用方式,也是需要一定的工作量的。
(2) 考虑复用
需求依赖的接口是否能复用,前端的组件是否能复用。如果组件可以复用的话,开发工作量是可以减少的。
(3) 考虑兼容性
需求实现之后,对已经存在的数据是否有冲突?对现有的功能是否有冲突?
比如说一个平台,以前用户的昵称是可以重复的,但最近产品提了一个需求是用户昵称不能重复,那么开发就需要对以前的用户昵称数据做一个修复,这也是一个工作量。