软件产品开发流程:
下图所示的是一个软件产品开发大体上所需要经历的全部流程:
1、启动
在项目启动阶段,主要确定项目的目标及其可行性。我们需要对项目的背景、干系人、解决的问题等等进行了解。并编制项目章程和组建项目团队,包括:产品经理、架构工程师、UI工程师、开发工程师、测试工程师等。
完成以上准备工作之后,召开项目启动会,启动会结束则进入下一步的工作。
2、规划
在项目的规划阶段,项目经理需要和项目需求方,以及项目的相关干系人确定项目的范围,创建WBS,确定项目的里程碑和项目计划。同时制定项目的管理计划,包括成本、质量、风险等方面的预测和控制方案。
3)需求
在需求阶段,需要对采集的需求进行需求分析,编写PRD文档、UI设计、高保真设计。
最后进入需求评审,评审通过则进入下一步的工作
4)设计
在设计阶段,设计人员根据需求文档,对软件系统进行设计,包括数据结构、系统架构、业务模型及规则、流程控制、模块接口等。 输出概要设计,详细设计文档,以及数据库设计说明书等。
5)开发
在明确需求后,开发工程师正式进入编码阶段,根据产品原型图、UI效果图、设计文档,选择合适的开发环境、开发工具、开发语言等等进行实现,这个阶段也是个很长很难的阶段,也是软件实现的核心。
6)功能测试
对软件进行测试是保证软件质量的重要手段。开发工程师开发完成后,可以交由测试工程师测试。测试工程师测试到BUG要反馈给开发,开发进行修改。功能测试通常需要进行很多次,直到测试通过,达到质量要求。
7)端到端测试
在端到端测试阶段,测试人员根据完整的业务流程设计可以覆盖全流程的端到端测试案例,然后基于端到端案例对系统的各个模块进行全面测试,确保系统能够符合需求和验收质量标准。
8)用户验收测试
用户验收测试阶段,也是通常的UAT(User Acceptance Test)阶段,用户验收测试是最终用户可以检查软件是否符合业务要求的最后阶段。UAT由了解要求并了解构建软件目的的最终用户执行。此测试是在软件运行之前执行的最后一次测试。最终用户使用现实生活场景并为真实数据构建UAT测试用例,用户验收测试在最终用户在上线之前验证软件是否满足这些业务需求方面具有重要作用。
9)上线
所有测试通过,并与客户或者上级达成一致后,系统进行试运行,稳定后上线。
上线包括:上线部署、部署后验证、整理交付物(需求文档、设计文档、安装部署手册、产品帮助等等)和运维移交。
10)收尾
项目的收尾阶段,移交项目成果,释放项目团队,进行项目回顾总结,项目汇报,完成项目结项。
如何使用Leangoo支持阶段式软件产品开发
首先我们在Leangoo中,创建一个项目(选择阶段式项目)
在阶段式项目中,建议使用leangoo中“阶段式软件开发项目”项目模版。
在“阶段式软件开发项目”项目模版中,系统自动为您创建了10个阶段看板、1个缺陷看板、1个风险管理看板和1个变更管理看板。
如下图:
在每个阶段看板中,都提供了该阶段需要完成的目标的参考样本,供参考~
1)阶段式看板
一个标准的阶段看板包括了:阶段目标,待办,进行中,已完成,如下图所示:
- 阶段目标:放置本阶段需要达成的目标,每个目标一张卡片,占一个泳道。
- 待办:放置为了完成阶段目标需要完成的具体工作任务(工作项),一个目标对应多个工作任务。(如上图红框所示)
- 进行中:进行中的工作任务。
- 完成:已经完成的工作任务。
2)缺陷看板
用于跟踪管理产品缺陷,系统已为您设定好缺陷处理的流程。(可根据需要自定义流程)
3)风险管理看板
风险管理看板是对项目风险进行识别、分析、处理和监控的过程,是项目管理中很重要的管理活动,有效的实施软件风险管理是软件项目开发工作顺利完成的保证
4)变更管理看板
变更管理流程是成功交付项目的基础,变更管理确保对在项目环境中的每个变更在实施以前都得以恰当的定义、评估和审批。
跟踪每个阶段的进展
跟踪整个项目总体进展
注:对于不同企业,不同产品,可能会有不同的流程和要求。以上可作为参考~