项目开发流程
一个项目从立项到上线,中间会有分工、有合作、有测试等等,但是现在大多数公司的项目开发流程并不规范,因此今天梳理下项目开发的规范流程,供大家参考。(会不定期更新,以便更加规范)
一、story讲解
1.PM跟客户谈好需求后写好需求文档并制作竞品分析PPT,一般应该是UE组全组参与,用时的话因产品的复杂度不同而不同。
2.PM使用Axure或者其他工具画出产品的原型图,交给客户看,客户没有异议后,开始在禅道或者其他项目管理软件拆分story。
3.PM在禅道上拆分好story,并定义出优先级,关联好需求,因为后期开发是根据优先级进行开发的。
4.由PM讲解story,前端和后端都必须参加,用时的话因产品的复杂度不同而不同,一般在1-3小时。
5.UI根据产品原型图画出设计图,并找客户确认,直到客户无异议。
二、人员划分
1.PM在Wiki或者其他公司文档管理软件上创建项目主页,把竞品分析的PPT、需求文档和产品原型图(HTML文件)上传到Wiki。
2.UI将UI图上传到Wiki,并写好UI自检表。
3.项目负责人根据产品原型图和需求文档按照模块划分相关负责人(前后端都是)并上传到wiki。【文档标题:XXX项目人员分工前(后)端】
三、定义接口文档
1.前端和后端相关人员对照原型图和需求文档,根据模块和页面大概定义出接口。具体包括一个页面几个接口,每个接口的传入参数和返回参数。
2.后端每个模块的负责人根据讨论的结果,在Wiki上创建标准的接口文档。
3.后端负责人将接口文档发给前端负责人过目,如果有异议,继续修改,无异议则开始后续步骤。
四、方案设计
1.后端开发人员根据原型、需求文档以及定义的接口,做好方案设计。对于有疑问和难点的接口应该给出不同的方案,并写清楚不同方案的优缺点。
2.前端开发人员要根据原型图、需求文档和UI图写好方案设计,具体包括整体架构、框架和插件选择、文件结构、需求分析及实现、页面跳转等等。
五、方案评审
对前后端做出的方案进行评审,建议全体人员参与(无论做不做该项目),如不通过则继续修改。
六、禅道拆分
相关负责人按照优先级顺序在禅道拆分自己的任务,单个任务最好不要超过4个小时,拆分的要详细。
七、开发
1.搭建开发服务器。
2.开发人员根据禅道上的任务,按时完成自己的开发工作。
3.每天上午10点开晨会,统计任务进度,对疑难点和异议点进行商讨,并拿出解决方案,保证按照禅道上的时间点完成。
八、阶段测试(与开发并行)
前后端开发人员每天下班前必须将代码发布到开发环境(什么是开发环境?),并自测无问题方可下班。
九、性能测试
1.后端对每个接口进行性能测试,每个接口的响应时间不能超过200ms,如超过则优化,尽量缩短在200ms以内。
2.前端对页面加载进行测试,具体包括首次加载时间,DNS解析时间,等待响应时间,接收数据时间等等。
3.前端根据UI的自检表做好UI自检。
十、CodeReview
前后端负责人对代码做好CodeReview,不合理的地方要相关开发人员修改。
十一、压力测试
后端做好压力测试报告。
十二、Demo
1.项目负责人发demo申请邮件,收件人包括PM同学、QA同学、前后端开发人员。
2.开demo会议,主讲人:某个开发人员,
会议途中PM同学和QA同学可以随时提出问题。
3.PM同学发demo结果通知邮件,内容包括demo结果,如不通过有哪些问题。
4.如不通过,修改后召开第二次demo会议,直到通过为止,后续会议只需展示前次会议不通过的部分。
十三、测试
demo通过后:
1.开发人员对代码打tag(如何打tag?)
2.开发人员部署测试环境(什么是测试环境?),部署完成后发邮件,写明域名。
3.开发人员将代码交给QA同学进行测试,QA同学发送全体测试周期邮件。
4.在测试期间,开发人员要常去禅道看自己的BUG,及时确认BUG,并及时修改。
5.修改BUG完成后,开发环境前端代码由前端同学部署,后端代码由后端同学部署。测试环境的代码由后端同学每天固定时间统一部署前后端代码。
具体参考:
测试BUG划分及处理流程
测试及线上环境发布流程
6.测试完成后,PM同学或者QA同学发送上线通知。
十四、发布线上
OP同学将代码发送到线上环境(什么是线上环境?),并停止开发环境和测试环境。
十五、后期管理维护
OP同学进行后期线上监控,并及时发送错误报告。