转自:https://www.cnblogs.com/spec-dog/p/11161744.html

在软件项目研发管理过程中,是否经常出现这样的场景:开发人员不知道什么时候转测;项目经理拿个Excel文档群里一发,某任务前天就应该完成的,怎么现在还没开始搞;前端问这部分UI是谁在做,什么时候能做完;测试说线上这个bug又是谁改出来的,这次没转测这模块……等等。整个协作感觉一团乱麻,团队内部充满了甩锅与抱怨的氛围。软件项目的研发流程该怎么规范,让团队成员都能目标明确,步调一致,让产品迭代充满节奏感。本文基于笔者项目研发管理经验整理,希望起到抛砖引玉的作用,探讨高效团队的协作流程模式。

1. 协作流程图

基本原则:

  1. 所有问题可跟踪 (需求、Bug、优化)
  2. 所有工作透明化 (工作量、进展、Block因素)

2. 各阶段内容详解

2.1. 需求收集确认

本阶段主要是与产品经理相关的活动内容:

  1. 产品经理在每次版本开始之前定期收集各方需求,包括客户反馈、领导意见(对很多中小企业来说,老板就是最大的“用户”)、市场调研及技术团队需求等来源,输出需求列表
  2. 在版本开始之前召开版本计划会议,参与者包括项目经理、产品经理,及项目核心成员,按优先级梳理需求列表,输出下次版本的初步任务列表(之所以说初步,是因为该列表后面可能根据评审情况进行调整)
  3. 产品经理基于初步任务列表完成详细需求文档,组织团队成员——包括相关UI、开发、测试,召开 需求评审会议,输出评审意见及修正完成时间
  4. 产品经理针对需求评审会议中团队提出的意见建议,在修正完成时间内及时修正需求文档,并及时通知团队相关成员,输出确定的需求文档

注:可在需求评审会议后,进行任务的初步认领分配与时间估算,初步确定转测、上线时间节点

2.2. 设计开发

  1. 项目经理根据需求文档完成任务拆解,并在任务管理系统中创建对应任务单,指定经办人
  2. 各经办人认领任务后,根据自身任务的期限,及时与依赖方沟通,确定依赖任务的完成时间,以免影响自身任务进度,存在问题及时向项目经理反馈。
  3. UI设计完成后,相关开发人员与产品经理需对UI设计进行确认,如果涉及内容较多,可组织UI评审会议(由产品经理或项目经理权衡组织)
  4. 涉及流程的开发任务需要有必要的设计,技术相关负责人负责对设计review,没有review的设计不能开发;任务开发完成需要进行代码review
  5. 项目经理定期组织项目例会(紧急版本建议每天一次,较长期版本建议一周一次或两次),持续跟进任务进度与问题,并及时协调处理,以保障进度预期
  6. 在预定转测时间节点前一天,开发人员编写转测文档,描述本次版本调整内容(附上任务列表)及注意事项,并通知项目相关人员(钉钉群或邮件)

2.3. 测试

  1. 需求评审会议后,测试人员需对各功能模块编写测试用例文档,并在转测前组织测试评审会议,对各功能各环节进行复核与查漏补缺
  2. 一次版本任务可根据情况分批测试,并确定每轮转测的内容与时间节点;分批测试完成后,需在上线前进行集成测试,注意预留一定的时间用于问题修复
  3. 测试完成,需要将测试结论通报项目相关人员(钉钉群或邮件),包括遗留问题与是否达到上线要求结论

注:产品经理可在转测后对开发实现进行验收,以确定开发是否符合需求实际,以便及时进行调整

2.4. 上线

  1. 上线人员需在上线前编写上线方案文档,记录此次上线内容,并对此次上线操作进行推演,对所涉及的所有操作按步骤进行记录,如数据库操作,代码merge,jenkins构建等;对可能存在的问题进行备注及对应的处理方案,并提交技术相关负责人review
  2. 项目经理结合测试结论及其它各方面情况,决策是否上线,并将意见通知到项目相关人员(钉钉群或邮件)
  3. 上线人员按照上线方案文档记录的步骤,依次完成上线操作(上线操作最好至少由两人完成,一人操作,一人检视,避免出错)
  4. 上线完成后,测试人员与产品经理对此次上线进行线上验证,确保线上功能流程无问题
  5. 验证无误后,由项目经理或其他指定负责人将上线通知发布至利益相关者,包括项目团队所有成员及相关合作方,说明上线时间、上线内容、影响因素、注意事项等(即时通讯群或邮件)

2.5. 复盘

  1. 版本结束后,项目经理根据情况对上个周期组织复盘总结会,总结存在的问题与原因,及后续规避的办法,总结积累的经验等

以上各阶段并不是完全串行推进的,相互之间存在一些穿插,比如下一版本需求的收集整理与当前版本的开发是并行推进的,开发与测试也可以以分阶段转测的形式并行推进,等等。

3. 一些常用工具

  1. jira 用于项目任务管理,其中Agile插件可方便查看整体任务面板,对任务状态一目了然,需要求团队成员养成及时更新状态的习惯
  2. confluence 文档管理,用于各类文档的集中化维护,以上所述的如需求文档、开发设计文档、转测文档、上线文档等均可使用confluence以项目空间的形式集中化管理。
  3. gitlab 代码管理
  4. jenkins 项目部署构建工具
  5. nexus 搭建maven私有库

4. 总结

团队工作讲求步调与节奏,好的流程与规范可以让一个水平一般的人也能充分发挥其作用,从而让团队整体稳步前进,高效产出。而不好的流程,或根本不重视流程的团队,却往往一盘散沙,甩锅与抱怨充斥,战斗力低下。本文以相对较粗粒度对软件项目的基本流程管理做了介绍,更细节的内容可能需要团队根据内部具体情况进行相应处理与对待。链接: https://pan.baidu.com/s/1WBHsIWoquKTQHJ6IaSql3Q 是笔者基于以前团队敏捷项目管理及一些具体问题的思考分享PPT,供参考。提取码:awya

https://www.cnblogs.com/spec-dog/p/11161744.html的更多相关文章

  1. 访问路径:https://i.cnblogs.com/posts?categoryid=925678

    https://i.cnblogs.com/posts?categoryid=925678

  2. URL https://i.cnblogs.com/EditPosts.aspx?opt=1

    URL url = new URL("https://i.cnblogs.com");URL url1 = new URL(url, "EditPosts.aspx?op ...

  3. 随笔二-https://www.cnblogs.com/shang1680/p/9657994.html

    作业要求来自https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2097 GitHub远程仓库的地址:https://github.com/ ...

  4. 211806189杨昊辰 https://www.cnblogs.com/honey1433223/

    211806189杨昊辰 https://www.cnblogs.com/honey1433223/

  5. https://www.cnblogs.com/h2zZhou/p/5440271.html

    https://www.cnblogs.com/h2zZhou/p/5440271.html

  6. https://www.cnblogs.com/soundcode/p/4174410.html

    https://www.cnblogs.com/soundcode/p/4174410.html 1.首先要在服务器端新建一个网站axpx页 然后再网站的后台写代码获取winform传过来的文件名. ...

  7. https://www.cnblogs.com/yudanqu/p/9467803.html

    https://www.cnblogs.com/yudanqu/p/9467803.html

  8. 转发自:一像素 十大经典排序算法(动图演示)原链接:https://www.cnblogs.com/onepixel/articles/7674659.html 个人收藏所用 侵删

    原链接:https://www.cnblogs.com/onepixel/articles/7674659.html     个人收藏所用   侵删 0.算法概述 0.1 算法分类 十种常见排序算法可 ...

  9. @无痕客 https://www.cnblogs.com/wuhenke/archive/2012/12/24/2830530.html 通篇引用

    无痕客 https://www.cnblogs.com/wuhenke/archive/2012/12/24/2830530.html 关于Async与Await的FAQ 关于Async与Await的 ...

随机推荐

  1. 一专属SRC - XSS - Bypass长亭Waf

    bypass是预言表哥绕的,擦,我这篮子玩xss什么都绕不过 https://www.cnblogs.com/yuyan-sec 这博客我直接倒背如流 主要记录下这次挖掘的过程 先说下 bypass姿 ...

  2. OpenGL学习笔记(六)坐标系统

    目录 一.衔接 二.概述 三.各个坐标系统 局部空间 世界空间 观察空间 裁剪空间 四.两种投影矩阵 正射投影 透视投影 五.把它们都组合到一起 六.编码实现 1. 实现卡片旋转 2. 实现正方体旋转 ...

  3. CYPEESS USB3.0程序解读之---同步FIFO(slaveFifoSync)

    上一篇文章解读了CYPRESS FX3的GPIO的操作过程,下面解读同步FIFO的一个例子(slaveFifoSync). *生产者,消费者. 1.首先看DMA的回调函数(cyu3dma.h): ty ...

  4. 浅析Java断言

    Java断言 1.断言的概念 Java的断言机制assert是一种用于测试阶段的语法特性,它允许我们在测试期间向代码中插入一些检查语句.代码发布时这些检测语句将被自动移除. 断言关键字assert有下 ...

  5. pikachu Files Inclusion

    文件包含分为远程文件包含和远程文件包含 比如程序员为了提高效率让代码看起来简洁,会使用包含函数的功能,写多个文件 之后需要了进行调用,比如.c写了很多个函数分别在不同的文件里,用的时候直接 引用文件即 ...

  6. Flutter 与 Swift - 在创建 iOS 应用程序时应该押注什么技术?

    Swift 和 Flutter 是考虑创建 iOS 应用程序的公司最想要的两种技术.开发者能用原生技术取胜吗?如何选择,哪种更适合您的应用?让我们一探究竟吧! 根据 Statista 的数据, 201 ...

  7. 使用docker-compose部署Sentry(附Sentry数据清理)

    Ubuntu下Sentry部署 Sentry作为一款常见以及使用人数较多的监控服务,在接口监控.错误捕捉.错误报警等方面是非常不错的,在此之前我也用过Prometheus监控,各有各的好处,有兴趣的同 ...

  8. NOIP 模拟 $27\; \rm 牛半仙的妹子图$

    题解 \(by\;zj\varphi\) 颜色数很少,考虑枚举颜色数. 建出来一棵最小生成树,可以证明在最小生成树上,一个点到另一个点的路径上的最大权值最小(易证,考虑 \(\rm kruskal\) ...

  9. 详解 OpenGL ES 2.x 渲染流程

    khronos官方对OpenGL ES的描述如下: OpenGL ES is a royalty-free, cross-platform API for rendering advanced 2D ...

  10. C语言 windows下Ansi和UTF-8编码格式的转换

    当我们使用MinGW-w64作为编译器在windows系统环境下进行C语言编程时,如果源代码文件(.c)保存格式为Ansi格式,则在打印汉字时不会出现乱码:反之,如果我们使用UTF-8格式保存,则会出 ...