一、需求阶段
1、需求沟通
由产品团队和用户进行详细的沟通,根据客户提出的目标和功能,提供给用户一份《需求说明书》,并给出需要的时间和费用。
产出物:《需求说明书》、预估时间,预估费用。
2、原型设计
由产品经理设计原型图,采用Axure或者Figma设计工具设计,根据功能需求列表,制作《产品原型图》。
产出物:《产品原型图》
3、人天确认
在确认功能需求、时间、费用三方面都没有问题之后,签署《人天确认单》,开发工作正式启动,周期性给予客户进度反馈。
产出物:《人天确认单》
二、开发阶段
1、UI设计
原型图设计完成后,由设计师绘制UI界面,会给出高保真系统界面设计图。
2、数据库设计
开发主管设计根据功能需求列表设计数据库模型,设计表关联关系等。
产出物:《数据库设计原型》
3、架构设计、开发规范
开发主管按照需求,对系统开发架构进行设计,对需要的中间件进行评审,并制定代码开发规范。
产出物:《开发规范》
4、前端开发
前端开发工程师负责根据原型设计图及UI设计图开始编写前端代码,用代码实现设计图中的功能界面,交互,动效等等内容。
5、后端开发
后端开发工程师负责根据原型设计图、UI设计图,数据库文档和需求文档编写后端代码,用代码实现业务逻辑接口,如请求参数,请求方法,数据库持久化,数据返回等等内容。
6、前后端联调
前端和后端人员分别同时开发,互不影响,等到双方都写好功能以后进行联调。
7、单元测试、冒烟测试
前后端联调结束,开发人员自行对开发的代码进行单元测试,测试完毕后,交由测试人员进行冒烟测试;
开发过程中,测试人员制定测试计划,编写测试用例。
产出物:《测试用例》、《冒烟测试报告》
8、测试环境发版
冒烟测试通过,开发人员将dev分支代码自行合并至UAT分支(大型项目,需增加sit分支,先内部集成测试完毕后,再合并至UAT分支,供用户测试),并记录版本号。
三、系统测试阶段
测试团队按阶段设计《测试用例》,未测试通过的需要反馈bug给开发人员进行调整,开发人员修改代码提交测试,测试通过后在测试结果报告中确认。
产出物:《bug跟踪报告》、《系统测试报告》
四、软件上线
1、操作培训
会给用户提供一份详尽的系统操作文档,协助用户使用软件。
2、试运营
试运营中可能会存在一些问题,可以在正式上线前优化解决掉。
3、正式上线
系统部署到正式环境,开始正常运行,进入日常维护阶段。
五、上线运维
上线后,如果系统出现bug,则需要切Prod三季分支,进行代码修改流程,具体参见本公众号《接地气的代码版本管理流程》文章