云团队敏捷协作手册

208 阅读12分钟

前言

编写目的

通过编写此文档,相关用户可快速了解福建英迈软件云团队的各角色职责、项目各阶段协同流程及相关工具,便于团队形成约定,降低沟通成本和协同成本。

阅读对象

福建英迈软件云团队的涉及的产品经理、项目经理、研发工程师,测试工程师,系统运维工程师,包括公司内部员工及外部合作伙伴。

使用说明

请通过本手册了解自身在项目中所承担的角色职责,及在项目不同阶段需要完成的工作项,并结合其他文档,使用各阶段对应工具完成工作任务。

版本说明

2020-12-28 发布新建版本

云团队角色介绍

产品经理

  • 提出需求、需求评审、需求完成跟踪
  • 项目节点把控、资源协调
  • 核算迭代实际工时
  • 主持迭代评审会、回顾会议

项目经理

  • 协作工具管理者,看板/仓库拥有者
  • 梳理需求、划分优先级、迭代规划、分解任务
  • 项目管理、资源协调、关键问题解决
  • 迭代交付和交付物质量把控

项目团队

  • 认领任务

  • 填写实际工时花费

    工具介绍

禅道(项目管理):是国产的开源项目管理软件,专注研发项目管理,内置需求管理、任务管理、bug管理、缺陷管理、用例管理、计划发布等功能,实现了软件的完整生命周期管理;

Git(代码管理): Git是一个开源的分布式版本控制软件,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发。GitHub是一个基于Git的远程文件托管平台。Git本身完全可以做到版本控制,但其所有内容以及版本记录只能保存在本机,如果想要将文件内容以及版本记录同时保存在远程,则需要结合GitHub来使用。

企业微信(即时沟通):企业微信是腾讯微信团队打造的企业通讯与办公工具,具有与微信一致的沟通体验,丰富的OA应用,和连接微信生态的能力,作为项目团队的即时通讯工具。

前期准备-团队进场

准备项目协作工具及账号

  • 企业微信:若项目团队包含外部合作伙伴,应与其沟通创建企业微信账户,加入成为我司企业微信成员,可创建相应组织架构用于管理外部合作伙伴。
  • gitHub: 创建gitHub代码仓库,邀请项目组的研发人员加入。
  • 禅道: 若项目团队包含外部合作伙伴,应维护外部合作伙伴部门,为合作伙伴创建禅道账户并为其指定部门,维护其权限分组。

准备文档

  • 项目协作资源清单
  • 项目交付文档清单
  • 项目文档库目录规范
  • 项目服务器资源清单
  • 《福建英迈软件云团队敏捷协作手册》
  • 《福建英迈软件云团队敏捷协作工具使用手册》
  • 《福建英迈软件Serverless架构_Knative应用部署手册》

进行协作培训

结合《福建英迈软件云团队敏捷协作手册》、《福建英迈软件云团队敏捷协作工具使用手册》,《福建英迈软件Serverless架构_Knative应用部署手册》为项目团队进行协作培训。

阶段检查清单

  • 项目团队成员均已加入我司企业微信
  • 项目研发人员均已加入代码仓库
  • 项目团队成员均已在禅道上维护账户
  • 项目团队成员均了解协作规范
  • 相关文档已准备

前期准备-项目启动

创建项目(产品经理)

在禅道中创建项目,填写项目名称、项目代号等,访问控制可选择自定义白名单,指定高层管理、产品经理可访问。创建完成后团队成员和高层管理、产品经理等人员可访问项目。

创建迭代(产品经理)

  • 在禅道中添加迭代,关联当前项目并指定迭代周期,访问控制可选择自定义白名单,指定高层管理、产品经理可访问。创建完成后团队成员和高层管理、产品经理等人员可访问项目。

  • 为迭代管理团队,可逐个添加团队成员,也可以选择一个部门或者团队进行复制,并在此基础上进行调整。

  • 开始迭代,操作后迭代由未开始状态变更为进行中状态。

创建需求(项目经理)

  • 根据项目模块划分情况维护模块,必须具备的模块有(以下两个模块不用于存放其他需求,此外可根据实际项目需求分类创建模块):
    • 交付文档:存放已知项目交付文档需求
    • 技术需求:存放已知项目技术性需求
  • 可单条创建或批量创建需求,需求可指定所属模块、需求名称、优先级、是否需要评审等属性,创建完成后处于草稿状态,需进行评审后变更成激活状态。激活状态的需求可进行细分,创建子需求。项目启动初期应将前期准备工作录入,并划分优先级,需要录入的需求有:
    • 项目交付文档需求:项目交付文档清单中规定的交付文档,将安插到各个迭代中分阶段完成并交付;

    • 项目技术型需求:项目安全、运维相关的技术性需求,将安插到各个迭代中分阶段完成并交付;

    • 项目前期准备工作需求:项目启动前必须或可前置完成的工作,如需求调研、制定制定项目方案、制定项目计划、服务器资源申请、平台环境搭建等;

    • 其他需求(可选):其他可提前确认的项目需求,包含功能性需求、非功能性需求。

评审需求(产品经理)

进行需求评审后在禅道中录入评审结果,若评审通过则该需求由草稿状态变更为激活状态。

文档上传(项目经理)

根据团队进场阶段准备的文档库目录规范文档,在禅道上创建文档目录,并将相关文档上传至相应目录。

项目启动会议(产品经理)

项目启动会议同时作为本次项目启动阶段迭代的评审会议,由产品经理主持,并由产品经理负责项目启动会议的会议纪要记录,参与人员包含产品经理、项目经理、项目团队成员和其他相关人员。

会上由项目经理介绍项目背景、项目方案、团队成员/分工、项目计划,并接受与会人员答疑与意见。

阶段自查清单(产品经理)

  • 禅道已创建项目、迭代、组建团队
  • 禅道已创建项目启动阶段的需求,包含交付文档和技术需求
  • 需求均已评审
  • 项目启动迭代任务均已完成
  • 项目方案文档
  • 项目计划文档
  • 项目启动会议的会议纪要
  • 文档已上传至禅道

迭代计划-维护需求(项目经理)

创建需求(项目经理)

在禅道中可单条创建或批量创建需求,需求可指定所属模块、需求名称、优先级、是否需要评审等属性,创建完成后处于草稿状态,需进行评审后变更成激活状态。激活状态的需求可进行细分,创建子需求。需要录入的需求包含功能性需求、非功能性需求。

评审需求(产品经理)

进行需求评审后在禅道中录入评审结果,若评审通过则该需求由草稿状态变更为激活状态。

迭代计划-维护任务(项目经理)

关联需求

在禅道中将本次迭代相关需求关联到迭代中。

创建任务

项目经理将需求拆解成颗粒度更小、更具体、可执行的任务,任务拆解的颗粒度控制在每个任务能在一天内完成。任务可单条创建或批量创建,建任务时,应将任务关联至需求,为任务预估时间并指定优先级。

分配任务

项目经理在禅道中为每个任务分配对应的项目团队成员作为任务指派人。

迭代进行-迭代过程(团队)

每日站会(项目经理)

每日站会之前,项目经理和项目团队成员需要确认各自的任务状态为最新。

每日上午9点在项目电子看板前进行站会,时长约10分钟左右,由产品经理、项目经理、项目团队成员和其他相关人员参与。

站会上不谈论工作细节或在会上解决问题(相关人员在站会后交流),项目组成员轮流发言,结合看板简单说明昨日任务完成情况和今日计划:

● 昨日任务进展

● 今日任务认领/安排

● 有无困难/瓶颈/问题

● 是否有任务需要挂起

查看任务(团队)

团队成员可在禅道中的“我的地盘”中,查看当前手头的任务情况,并可快捷进行开始任务、完成任务、填写工时等操作。

开始任务(团队)

团队成员在进行一项任务时,先在禅道看板中拖动该任务卡片到“进行中”,表示任务开始。

完成任务(团队)

团队成员完成一项任务后,在禅道看板中拖动该任务卡片到“已完成”,并填写实际耗费工时。

填写工时(团队)

团队成员若当天某项任务未完成,在下班前于禅道看板中点击该任务,填写当日耗费工时和预计剩余工时。

迭代进行 - 测试管理(团队)

创建用例

部分业务较为复杂的需求,应在开发前建立测试用例。若项目团队包含外部合作伙伴,尤其应该尽早维护测试用例,了解测试用例有助于研发人员更深入理解需求,保证开发质量。团队成员在禅道中可单笔创建或批量创建测试用例,测试用例应关联对应需求,写明前置条件及步骤。

执行用例

需求完成后,开发人员应根据用例自行测试,测试通过后将测试结果录入禅道中。再交由测试人员测试,测试人员测试后将测试结果录入禅道中,若测试不通过可直接转BUG。

添加缺陷

在研发过程中或上线过程中发现的缺陷,均可通过禅道中的“BUG”进行管理,可单笔创建或批量创建BUG。

指派缺陷

在禅道中将缺陷指派给应修复BUG的人员,可单笔指派或批量指派BUG。

解决缺陷

解决缺陷后,在禅道中执行解决,填写解决方案,BUG标记为已解决。

迭代进行-持续集成

待补充Kubernetes 原生开源框架tekton的使用

迭代交付-迭代评审

迭代评审前准备(项目经理)

  • 确认迭代完成情况

  • 确认交付物情况

确认与会人员、时间、场地(产品经理)

迭代评审(产品经理)

迭代评审会由产品经理、项目经理、项目团队成员和其他相关人员参加,由产品经理主持,由产品经理撰写会议纪要。

会上由项目经理描述本次迭代周期、目标、实际完成情况,由项目经理及团队成员演示本次迭代迭代交付物。

与会人员针对本次迭代的完成和交付情况进行答疑,提出意见和建议,由项目经理、产品经理收集后整理成项目需求、项目缺陷,进入下一次迭代。

关闭迭代(产品经理)

产品经理在评审会结束后关闭迭代,更新迭代状态为已结束。

附:自查清单(项目经理)

  • 测试环境已发布最新版本

  • 确认迭代需求、任务已完成

  • 确认迭代缺陷已修复

  • 确认代码库为最新

  • 确认文档库为最新

  • 确认版本升级脚本(若有)

  • 确定版本号、发布版本,版本发行包是否存在

附:阶段检查清单(产品经理)

  • 确认迭代交付物满足要求

  • 确认文档库为最新

  • 迭代已关闭

  • 迭代评审在迭代结束的最后 2 天完成评审准备和正式评审工作

  • 迭代评审会会议纪要

迭代交付–迭代回顾

提前创建、整理需求(项目经理)

项目经理提前创建、整理禅道项目中的待开发需求,划分优先级。具体流程参照“迭代计划 – 创建需求”。主要的新需求来源包含:

  • 本次迭代评审会中,与会成员提出的意见/建议;

  • 项目开发过程中发现的新需求。

迭代回顾(产品经理)

产品经理组织项目团队进行迭代回顾会议,并由产品经理记录会议纪要。会议主要总结本次迭代过程中的优缺点,以便在下个迭代中改进。

此外,项目经理还在该会议中和产品经理、项目团队确定下个迭代的需求,具体流程参照“迭代计划 – 需求评审”。