- 测试开发实战教程
- 霍格沃兹测试开发学社主编
- 2517字
- 2023-06-26 15:48:03
1.4 项目管理与跨部门沟通协作
1.项目管理简介
项目管理有其特定的对象、范围和活动,着重关注成本、进度、风险和质量。项目管理参与人员还需要协调开发团队和客户的关系,协调内部各个团队之间的关系,监控项目进展情况,随时报告发现的问题并督促问题的解决。
软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的活动。
随着信息技术的飞速发展,软件产品的规模也越来越庞大,个人单打独斗的“作坊式”开发方式逐渐不适应企业的需要。各软件企业都在积极将软件项目管理引入开发活动中,对开发的项目实行有效的管理。
同时,随着软件开发规模及开发队伍的逐渐增大,迫切需要一种开发规范来约束每个开发人员、测试人员与支持人员的工作,用以保证项目组每个成员按约定的规则准时完成自己的工作。
2.管理流程
软件管理的流程大致可以分为6个阶段,如图1-13所示。
图1-13
(1)需求阶段
1)项目经理:负责建立项目目录,分析项目所需资源,评估项目风险,预估项目的完成周期等工作,并输出一个包含大致时间规划的项目计划表。
2)产品经理:需要完成收集与整理需求、环境分析等工作,并输出一个需求文档。
3)研发人员:要参与到需求分析和环境分析工作中。
4)测试人员:要参与到需求分析和环境分析工作中。
(2)设计阶段
1)项目经理:负责监控项目进度,组织安排每阶段的评审,分解任务到人,细化项目计划等工作,并输出一个涉及各功能模块的项目计划表。
2)产品经理:需要完成系统功能设计,输出系统说明书。
3)研发人员:需要完成系统功能技术设计和数据库设计,输出概要设计文档和详细设计文档。
4)测试人员:需要组织测试计划评审,输出一份测试计划表。
(3)开发/单元测试阶段
1)项目经理:负责监控项目进度,调整人员安排,跟踪、解决技术难点等工作,并输出更新进度后的项目计划表和项目进度报告。
2)产品经理:参与项目需求细节完善的沟通。
3)研发人员:需要完成项目具体功能开发,组织代码审查和单元测试等工作,工作完成后输出功能代码和单元测试代码。
4)测试人员:需要完成测试用例编写和组织测试用例评审等工作,工作完成后输出测试用例。
(4)集成测试阶段
1)项目经理:负责监控项目进度,跟踪、解决技术难点等工作,并输出项目进度报告。
2)产品经理:参与项目需求细节完善的沟通和Bug修改方案的制定。
3)研发人员:需要完成集成测试、Bug修改等工作,工作完成后输出集成测试报告、部署测试环境。
4)测试人员:支持研发人员进行集成测试,准备测试数据。
(5)系统测试阶段
1)项目经理:负责分配Bug修改与跟踪、解决技术难点等工作,并输出项目进度报告。
2)产品经理:参与项目需求细节完善的沟通和Bug修改方案的制定。
3)研发人员:支持测试活动,修改Bug。
4)测试人员:需要完成测试环境搭建、补充测试数据、功能测试、自动化测试等工作,工作完成后输出系统测试报告和缺陷报告。
3.软件项目管理的方法
软件项目管理的方法如图1-14所示。
图1-14
(1)制订项目计划
对于大项目,一般在项目启动或者立项时参与人员会制订一份完善的项目总体计划。对于小项目或者项目版本更新,因为开发完成周期比较短,一般一个月即可完工,所以直接制订简单的日程计划进行跟踪即可。
(2)执行该计划并监控跟踪管理
项目计划制订并得到项目组评审确认后,项目组要按照计划中安排的任务、时间和人员去执行。项目管理人员需要对计划执行情况进行监控,例如,每周检查任务完成情况,每个“里程碑”时间点检查这期间内所有任务完成情况。监控的结果会在项目日程计划中体现新任务的完成进度,以便在非“里程碑”任务时间点时可以查看项目进度。必要时每周要召开项目例会并形成项目周报。每个“里程碑”任务结束时,要召开“里程碑”任务总结会议。
(3)项目风险应对与问题解决
项目经理通过对项目的周跟踪、“里程碑”跟踪活动,会发现项目进展中出现的问题及潜在问题,以及已经影响或将要影响项目的问题。项目组需要跟踪和分析项目数据,对这些问题和风险进行识别、分析并给出相应的应对措施。
对问题解决或风险缓解措施的执行,项目经理须进行监督和控制,持续跟踪问题和风险状态变化,确保措施有效执行,直至问题解决、风险解除。对问题与风险的识别、解决和跟踪等信息,项目经理应记录在项目周报和“里程碑”总结报告的问题跟踪表或者风险跟踪表中。
(4)项目收尾
项目收尾是项目最后一个重要的工作环节,包括保存项目资产,移交工作责任、进行项目总结与评价,并最终释放项目资源等工作。
4.跨部门沟通协作
(1)与产品经理沟通
由于产品经理的岗位职责就是设计产品功能、输出产品需求文档,所以,测试人员和产品经理沟通的阶段有以下4个:
● 需求评审会;
● 分析需求阶段;
● 测试用例编写阶段;
● 测试过程中。
总之,只要涉及项目需求方面的问题,测试人员都需要和产品经理进行深入沟通,这样才可以深入完整地理解项目业务的逻辑和项目的需求,最终交出去的测试后的软件才是符合用户需求的。
(2)与研发人员沟通
● 分析需求阶段
● 测试用例编写阶段
● 测试过程中
● 线上监控发现Bug时
在需求分析和测试用例编写阶段,测试人员如果遇到项目中一些需求的实现手段和逻辑不是很明确的话,就需要和研发人员进一步沟通。
在测试过程中,测试人员如果发现Bug也要和研发人员进行沟通,接下来还要协助研究人员完成复现Bug,提交日志,验证Bug等工作。
(3)项目上下游配合测试
现在公司中的一个项目往往会涉及多个团队来完成,例如服务端团队、客户端团队、数据库端团队等。同样在项目测试的时候,需要多个团队的测试人员合作(联调),这样进行测试会更加容易,并且可以更好地发现项目中存在的问题。
在这种项目上下游配合测试的时候,为了使团队合作更加顺畅,参与人员需要注意以下3个方面。
1)测试计划沟通:项目上下游模块参与人员可沟通各自的测试计划安排、测试范围、测试重要场景、跨团队测试数据的构造、配合的方式,把团队间的影响降到最低。
2)环境对接:了解相互之间提供的接口调用问题,各自提供的接口是否清楚,各自提供的接口是否满足需求等,确保联调环境的可用性。
3)熟悉业务:了解对方的业务、权限等,避免影响测试进度。