本文作者:极狐GitLab 资深解决方案架构师 尹学峰
不同行业的倾向性
通用型传统行业
建议使用Jira、Ones、PingCode、禅道、Redmine、TAPD、Polarion等工具。其中Jira是目前较为主流的项目管理工具,用户基础众多,遗憾的是,Jira目前在国内没有技术支持团队,选用Jira需要承担较大的运维风险。而后者皆为国产的商业化项目管理软件,可以很好的替代Jira。这几款工具的典型视图如下:
图示:Jira典型视图
图示:Ones典型视图
图示:PingCode典型视图
图示:禅道典型视图
通用型高新技术行业
图示:极狐GitLab的敏捷开发管理体系产品经理创建原始需求后,和研发人员一起细化需求,并基于 invest 原则拆分需求。首先明确所有需求,撰写具体的 user story。(注:参考epic实例 Browser-based scanner for DAST )
图示:史诗Epic 原始需求拆分与规划
撰写完成后,如果大家有其他意见,可以以评论的方式写在该 issue 下,然后进行讨论,直到需求明确。极狐GitLab 以 issue 驱动,即无论是开发的任务、开发的需求还是 bug 缺陷,一律都用 issue 进行管理。
图示:议题Issue 用户故事与人员指派随着组织发展,issue 会越来越多,极狐GitLab 以一种灵活的自定义方式去打上不同的 Label,来区分不同 issue。Lable 是多级式的,第一级是一个 type,它决定了该 issue 是一个 bug、功能还是 QA 等。当打上第一级 Label 后,还需要打上第二级甚至第三级,比如说这个 bug 是性能问题、安全问题,还是来自一个手机端等等,可以自由精准地定义 issue。
图示:标记Label 区分议题类型有了 Label 区分还不够,对研发人员来说,需要一个视角去看这些 issue。研发团队可以通过看板的方式进行 issue 管理,看板其实就是不同视角的视图。企业内,研发团队、测试团队还有产品团队都应该有属于自己的看板。产品团队关心的是任务的分配,所以有一张以研发工程师为视角的看板,比如张三在做需求A,李四在做需求B,这些都有一张看板;此外还有一张工作流看板,展示需求进行到什么阶段。对于测试人员来说,只需要看到相关 bug,不需要管在做什么,当然也可能会看一下看板,可以根据不同团队的职责进行划分。
图示:看板Board 自定义议题视图
如果用户不清楚 issue 的提交方式,会导致 issue 管理困难。例如:
- 当用户提交 issue 后,没有分配人员来跟进,那它就被搁置了;
- 或者用户不清楚该打上什么样的标记,是 bug 还是功能,导致 issue 分类混乱。
图示:机器人Triage 自动处理Issue/MR
图示:里程碑Milestone 迭代规划与回顾汽车行业
图示:MappingSpace对V模型的支持示意更多请阅读MappingSpace官方文档。

总结
- ❌ 迁就非技术人员。仅仅使用与代码管理孤立的项目管理工具(注:下图中蓝色部分),会导致项目管理和代码管理的严重割裂,即,项目管理视图下无法直接提现代码开发的工作进度。
- ❌ 迁就程序员。仅仅使用极狐GitLab作为项目管理工具(注:下图中橙色部分),非技术人员使用门槛相对较高,甚至产生排斥心理。
- ✅ 各取所长,互补共生。把项目管理中的不涉及代码开发工作的宏观需求放在独立的项目管理工具中,而与代码开发强相关的技术需求,则由极狐GitLab管理。

- 根据橙色完成状态及时更新蓝色状态。
- 根绝蓝色新需求,分解并创建技术实现。
图示:项目管理工具的互补共生当然,第三方项目管理工具如Jira也可以与极狐GitLab集成。集成完成后,只要Commit Message或者MR Description中包含对应的Jira Issue ID,下图所示即为`MKP-2`,则会自动在Jira侧建立超链接。从而实现需求与开发过程的之间的映射。
