技术分享 | 软件项目管理与跨部门沟通协作

简介: 项目管理是在项目活动中运用知识、技能、工具和方法,以便达到项目要求。软件项目管理有其特定的对象、范围和活动,着重关注成本、进度、风险和质量的管理,还需要协调开发团队和客户的关系,协调内部各个团队之间的关系,监控项目进展情况,随时报告问题并督促问题的解决。软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process

项目管理是在项目活动中运用知识、技能、工具和方法,以便达到项目要求。
软件项目管理有其特定的对象、范围和活动,着重关注成本、进度、风险和质量的管理,还需要协调开发团队和客户的关系,协调内部各个团队之间的关系,监控项目进展情况,随时报告问题并督促问题的解决。

软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的活动。

随着信息技术的飞速发展,软件产品的规模也越来越庞大,个人单打独斗的作坊式开发方式已经越来越不适应发展的需要。各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。
实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋于成熟,企业越能够稳定发展。
同时,随着软件开发规模及开发队伍的逐渐增大,软件开发不再是像过去那样一两个开发人员即可解决的事情。迫切需要一种开发规范来规范每个开发人员、测试人员与支持人员的工作,每个项目组成员按约定的规则准时完成自己的工作。同时采用规范化管理,专业分工也可以降低对开发人员的要求,从而降低产品研发成本。

管理流程

  • 项目经理:需要完成在项目管理工具中建立项目目录,分析项目所需资源、风险等,预估项目的周期等活动。活动完成后输出一个包含大致时间规划的项目计划。
  • 产品:需要完成收集整理需求,环境分析等活动。活动完成后输出需求文档。
  • 研发:要参与到需求分析和环境分析活动中。
  • 测试:要参与到需求分析和环境分析活动中。
  • 项目经理:需要完成监控项目进度,组织安排本阶段的评审,任务分解、责任到人,细化项目计划等活动。活动完成后输出具体到各个功能的项目计划。
  • 产品:需要完成系统功能设计。完成后输出系统说明书。
  • 研发:需要完成系统功能技术设计和数据库设计。完成后输出概要设计文档和详细设计文档。
  • 测试:需要组织测试计划评审。完成后输出一份测试计划。
  • 项目经理:需要完成监控项目进度,调整人员安排,跟踪解决技术难点等活动。活动完成后输出更新进度后的项目计划和项目进度报告。
  • 产品:参与需求细节沟通。
  • 研发:需要完成具体功能开发,组织 code review 和单元测试等活动。完成后输出功能代码和单元测试代码。
  • 测试:需要完成编写测试用例和组织测试用例评审等活动。完成后输出测试用例。
  • 项目经理:需要完成监控项目进度,跟踪解决技术难点等活动。活动完成后输出项目进度报告。
  • 产品:参与需求细节沟通和 Bug 修改方案的制定。
  • 研发:需要完成集成测试,Bug 修改等活动。完成后输出集成测试报告,部署测试环境。
  • 测试:支持研发进行集成测试,准备测试数据。
  • 项目经理:需要完成分配 Bug,跟踪解决技术难点等活动。活动完成后输出项目进度报告。
  • 产品:参与需求细节沟通和 Bug 修改方案的制定。
  • 研发:支持测试活动,修改 Bug。
  • 测试:需要完成测试环境搭建,补充测试数据,功能测试,自动化测试等活动。完成后输出系统测试报告和缺陷报告。

软件项目管理的方法

制定项目计划
对于大项目,一般在项目启动或者立项时会制定一份完善的项目总体计划。有些公司可能会有自己的项目管理的工具。对于小项目或者版本,因为周期比较短,一般一个月,所以直接制定简单的日程计划进行跟踪。
项目计划制定并得到项目组评审确认后,项目组要按照计划中安排的任务、时间和人员去执行。项目管理人员需要对计划执行情况进行监控,比如每周检查任务完成情况,每个里程碑点检查里程碑内所有任务完成情况。监控的结果会在项目日程计划中刷新任务完成进度,以便在非里程碑任务时间点时可以查看项目进度。必要时每周要召开项目例会并形成项目周报。每个里程碑结束时,要召开里程碑总结会议。
项目经理通过对项目周跟踪、里程碑跟踪活动,将发现项目进展中出现的问题及潜在问题,已经影响或将要影响项目目标。项目组需要跟踪和分析项目数据,对这些问题和风险进行识别、分析,策划相应的应对措施。
对问题解决或风险缓解措施的执行,项目经理须进行监督和控制,持续跟踪问题和风险状态变化,确保措施有效执行,直至问题关闭、风险缓解。对问题与风险的识别、解决策划和状态跟踪等信息,项目经理应记录在项目周报和里程碑总结报告的问题跟踪表或者 风险跟踪表中。
项目收尾是项目最后一个重要的工作环节,要完成项目的各项收尾工作,保存项目资产,移交工作责任、进行项目总结与评价,并最终释放项目资源。软件项目的管理需要依赖管理工具,一款符合需求的软件项目管理工具可以帮助团队更好的管理项目,更好的去实践开发模型。

跨部门沟通协作

由于产品的岗位职者就是要设计产品功能,产出产品需求文档,那么可以得出需要和产品沟通的阶段有以下四个:

  • 需求评审会
  • 在分析需求阶段
  • 在测试用例编写阶段
  • 在测试过程中

总之,只要涉及到需求方面的问题,都需要和产品进行深入沟通,这样才可以深入完整的理解产业务的逻辑和项目的需求。这样最终交出去的软件才是符合用户需求的。

  • 在分析需求阶段
  • 在测试用例编写阶段
  • 在测试过程中
  • 在线上监控发现 Bug 时

在需求分析和测试用例编写阶段,如果遇到一些需求的实现手段和逻辑不是很明确的话,就需要和研发进行进一步的沟通。
在测试过程中,如果发现 Bug 的话也要和研发进行沟通,接下来还有协助复现 Bug,提交 log,验证 Bug 等等,这些活动都需要和研发进行进一步沟通。
同理,在项目上线后,如果线上监控出现了 Bug 时,也需要同样的沟通步骤。
现在公司中的一个项目,往往会涉及多个团队,比如说服务端,客户端,数据库等等。那么在项目测试的时候,就需要多个团队的测试人员合作联调,这样会更加容易进行测试,并且可以更好的发现问题。
那么在这种上下游配合联调测试的时候,应该注意哪些问题呢?做到哪些可以使合作更加顺畅呢?

  • 测试计划沟通:和上下游模块沟通各自负责的测试计划安排、测试范围、测试重要场景、跨团队测试数据的构造、配合的方式,把团队间的影响降到最低。
  • 环境对接:了解相互之间接口的调用问题,接口是否沟通清楚,接口是否满足需求等,确保联调环境的可用。
  • 熟悉业务:了解对方的业务、申请权限等,避免后续影响测试进度。

原文链接

相关文章
|
7月前
|
人工智能 程序员 PHP
Cursor AI来袭!编程从此不再繁琐,一键生成代码,效率提升千倍
AI攻破最后防线!连架构设计都能自动生成,中级程序员集体破防
1211 10
Cursor AI来袭!编程从此不再繁琐,一键生成代码,效率提升千倍
|
存储 负载均衡 Java
Jetty技术深度解析及其在Java中的实战应用
【9月更文挑战第3天】Jetty,作为一款开源的、轻量级、高性能的Java Web服务器和Servlet容器,自1995年问世以来,凭借其卓越的性能、灵活的配置和丰富的扩展功能,在Java Web应用开发中占据了举足轻重的地位。本文将详细介绍Jetty的背景、核心功能点以及在Java中的实战应用,帮助开发者更好地理解和利用Jetty构建高效、可靠的Web服务。
914 2
|
机器学习/深度学习 自动驾驶 PyTorch
“深度学习遇上自动驾驶:图像识别如何成为智能驾驶的‘超强大脑’?一场技术革命,带你领略未来出行的奇迹!”
随着科技的进步,自动驾驶成为汽车行业热点。图像识别技术,尤其是深度学习中的卷积神经网络(CNN),在自动驾驶系统中扮演了关键角色,负责从摄像头捕捉的图像中提取车辆、行人等信息。其应用涵盖目标检测、语义分割及行为预测等方面,为系统决策提供依据。尽管已取得显著进展,但面对复杂环境和极端天气等挑战,仍需不断研究优化。
358 0
|
网络安全 网络虚拟化 网络架构
什么是共享IP,如何判断IP是否被共享
**摘要:** 共享IP指多个用户或设备共用同一地址,常见于家庭网络、公共Wi-Fi及代理/VPN服务。判断IP是否共享可通过检查网络连接数、使用在线检测工具、观察网络活动、咨询ISP或检查路由器设置。共享IP不必然带来安全问题,但在特定场景下需关注。
|
存储 JSON NoSQL
【文档数据库】ES和MongoDB的对比
【文档数据库】ES和MongoDB的对比
1198 1
|
SQL 数据库 Windows
【应用服务 App Service】当使用EntityFrameWorkCore访问Sql Server数据库时,在Azure App Service会出现Cannot create a DbSet for ** because this type is not included in the model for the context的错误
【应用服务 App Service】当使用EntityFrameWorkCore访问Sql Server数据库时,在Azure App Service会出现Cannot create a DbSet for ** because this type is not included in the model for the context的错误
222 0
|
数据采集 存储 算法
数据分享|Weka数据挖掘Apriori关联规则算法分析用户网购数据
数据分享|Weka数据挖掘Apriori关联规则算法分析用户网购数据
|
Java Linux 数据安全/隐私保护
Java【代码 16】将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
【2月更文挑战第3天】Java 将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
858 0
|
存储 传感器 边缘计算
物联网体系架构解析:感知、通信与智能的融合
本篇深入剖析了物联网体系架构的关键要素,围绕感知、通信与应用层,以及边缘计算和云计算的角色进行了详细探讨。在感知层,各种传感器、执行器和物理设备的作用被阐述,它们负责采集环境数据和执行操作。传输层则负责数据传输和通信,确保感知层数据能够流畅传送。而应用层是物联网的最终目标,集成了各类应用和服务,通过分析传输层数据来实现智能化决策和控制。
1796 0
|
传感器 算法 自动驾驶
基于uwb和IMU融合的三维空间定位算法matlab仿真
基于uwb和IMU融合的三维空间定位算法matlab仿真