将整个软件开发生命周期划分为多个阶段,以便每个阶段都有明确的任务,从而可以轻松地控制和管理具有大规模,复杂结构和复杂管理的软件开发。通常,软件开发周期包括可行性分析和开发计划,需求分析,设计(摘要设计和详细设计),编码,测试,维护等,可以按照适当的方式分配给不同的阶段。
一、需求阶段:
通过沟通交流,产出需求文档,包含页面的内容,则需要对应的进行设计稿的设计。通过评审会,使涉及到的人都有自己的了解,同时对需求进行改进。

涉及到的人包含:
产品/项目PM/分析:编写需求文档设计人员:设计设计稿开发人员:了解需求,了解需求所对应的用途,思考原有系统是否有影响或者未涉及到的点,提出自己的疑问并讨论。测试人员:了解需求,同时回写测试点,并对可能出现的问题,进行思考并及时提出疑问并讨论沟通。注意点:
需要顾及到系统的老逻辑,防止新加功能,不符合原有逻辑的流程。开发以及测试都需要有对应的了解,防止后期在开发中,不清楚系统以及作用的情况下,进行开发。前期尽量考虑全面,防止后期有问题,后期有问题的时候,也可以进行反馈和沟通。
二、开发阶段:
涉及人为:
开发:编码,自行测试。产品:对产品进行验收。测试:编写测试用例,进行测试用例的评审会议。该阶段需要涉及人进行一个测试用例的评审会。三、测试阶段:
测试人员根据测试用例进行测试,并进行问题反馈,编写测试报告,开发人员进行bug的修复,如有需求不确认的,再找分析/产品/PM等进行确认。bug修复完成后,测试再进行回归测试,同时测试还需要兼容性的测试,对依赖项或者机器都进行对应的测试。
灰度发布:(内部灰度,外部灰度)
为了防止在正式区发生问题,会有一个特定的环境,类似于线上环境,提供给到测试,防止后期出现问题,提前解决问题。
四、发布阶段:
发布阶段,为了防止会有依赖项出现问题,所以会对多台服务器进行控制,分批进行发布。