基于gitlab的项目管理流程
框架
背景
个人是不太愿意使用用户体验差的软件来做项目管理,行业内,要找到这么一款软件,又要符合自己的需求,着实不容易。要免费,易用性要好,要安全,要有数据统计。而程序员的世界,SVN 之后,可能没有人会拒绝 github,gitlab。从开发的角度出发,基于此平台作自我迭代和研发,则应当是最接地气,最容易推广的事情。
从代码开始迁移到 gitlab 到最终完成项目流程的改造,花费了大概两年时间。中间经历了,BUG管理系统的迁移,测试流程的迁移,进而影响到产品流程的迁移。后续又完善了文档管理,存储,pipline的CICD的自我构建。打通了项目流程的同时,也完成了 DevOps 的使命。

团队内部项目管理有三大默契(原则):
- 一切是在线协同的
- 一切内容是透明的
- 一切行为是自主的
1. 项目管理
- 敏捷管理
- 看板管理:Backlog -> to do -> doing -> close
- 燃尽图:plan -> burning -> prediction -> addition
- 进度:项目进度、进度监控
- 报告:日报、周报
- 评价:项目评价、个人评价
- 状态:milestone、label
- issue:可关联、状态同步、闭环
- 任务交接流程管理

用此作项目管理,主要围绕以下几点来作改进。
- 按照上面的原则第3点,我们所有任务安排妥当后,每个人任务都是由具体的执行人来评估、添加、移动。PM 只承担指导、监控、收集问题、并改进的责任。
- 解放写周报的政治性任务:只要任务规划好,并每天自行拖动任务,报表自动生成。
关于燃尽图的指引,由另外的文章给出。
2. 权限管理
- 权限分组
- 防止外泄,
只有在公司内网才能访问
3. 存储管理
- docker 镜像
- 文件存储:图、文件(rar/word/excel/pdf etc.)、视频
- 其他
4. 文档管理系统
- 在线协作
- 模板管理
- markdown
- PPT
- 甘特图
- yaml
- WIKI
- 文档中心:接口、方案、总结
5. 需求管理
- 需求原稿
- 需求指派、受理
- 需求讨论、变更
- 需求跟进
6. 开发管理
- 代码托管
- 分支管理
- 版本管理 -> tag
- static code-review
- UT/UT coverage
- gomock
- build
- CI
7. 质量管理
- 提测需求&进度管理
- BUG管理:bug分类、等级
- 用例管理
- 用例审核
使用 gitlab 作 bug 管理,采用 label 进行 bug 标记和分类,分类包括了 bug 等级、bug 的质量高低等信息。标签可以用脚本统一增删查改。
bug 跟随项目 project 而走,便于回溯。我们的要求是:任何一次代码提交是可溯源的。
是因为 bug 修复还是需求更新而更新代码,merge 时,必须能够 mention 到具体的 issue。根据需求版本建立 milestone,并且将 bug 归属于 milestone 中,心作质量管理和分析。
bug 是跨项目存在的,例如我们有100多个project,是不利于 bug 管理的。于是写了一个调用 API 的脚本,定时和手动将 bug 导出为 excel 用于分析。
单元测试,mock测试用例能够更好的与被测代码融合,即便开发线上修改,也能够将测试代码在线上运行。
8. 上线管理
- pipeline:CD
- 与 TDC DevOps 关联
- 上线 issue
- 运维可参与
9. 日志管理
- history
- comments
- status
- changes
10. 消息通知
- todo lists
- email push
- 钉钉
优缺点
项 | 优点 | 缺点 |
---|---|---|
统一平台 | 无系统切换成本资源复用权限统一管理 | 二次开发需开发维护 |
项目管理 | 敏捷管理自研个性化定制需求开发测试有独立池管理 | 对于项目管理资源融合要求更高 |
issue | 囊括产品需求、提测需求bug、上线、方案讨论 | 需要统一整理,否则不便于查找 |
BUG提交 | 与项目相关联,利于追踪溯源BUG重现可提交视频 | 不便于统计,需跑自研脚本定时下拉 |
维护 | 公司级团队维护备份无需额外投入人力全面日志管理与历史记录 | 无 |
安全 | 离职人员带不走资料不需要查邮件回顾 | 公司外无法访问但可事先pull到本地 |
6人点赞
作者:钟沐
链接:https://www.jianshu.com/p/4a9b8764599e
来源:简书
基于gitlab的项目管理流程的更多相关文章
- 基于Gitlab的CICD流程
本片文章主要初步介绍什么是CICD流程,并且把整个流程进行拆分理解整个流程的跑通过程. 1.CICD概述 什么是CICD呢? 简单的说CICD就是持续集成自动构建自动测试自动部署. 从概念上就可以看出 ...
- 基于SpringBoot的项目管理后台
代码地址如下:http://www.demodashi.com/demo/13943.html 一.项目简介 在使用本项目之前,需要对SpringBoot,freemaker,layui,flyway ...
- 为某金融企业的IT技术部人员提供基于TFS的软件研发流程介绍
受莫金融企业IT信息技术部的邀请,为该金融企业的某省分公司.地市分公司的IT技术人员提供了一场基于TFS的软件研发流程的技术培训,希望可以借此提高该企业的软件研发.运维水平,同时推动企业软件研发信息化 ...
- 基于GitLab CI搭建Golang自动构建环境
基于GitLab CI搭建Golang自动构建环境 Golang发布遇到的问题 对于golang的发布,之前一直没有一套规范的发布流程,来看看之前发布流程: 方案一 开发者本地环境需要将环境变量文件改 ...
- 部署基于Gitlab+Docker+Rancher+Harbor的前端项目这一篇就够了
部署基于Gitlab+Docker+Rancher+Harbor的前端项目这一篇就够了 安大虎 momenta 中台开发工程师 6 人赞同了该文章 就目前的形势看,一家公司的运维体系不承载在 Do ...
- 大揭秘| 我司项目组Gitlab Flow && DevOps流程
长话短说,本文全景呈现我司项目组gitlab flow && devops Git Flow定义了一个项目发布的分支模型,为管理具有预定发布周期的大型项目提供了一个健壮的框架. Dev ...
- 基于SVN的项目管理——集中与分散
我们在此处不讨论 GIT 比 SVN 好多少,也不讨论 Maven 和 Gradle 哪个好用,基于现有的开发环境,大多数公司还是采用 SVN + Maven 来进行项目管理——因为这已经满足了大多数 ...
- 基于web的项目管理软件Redmine
Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统,据说是源于Basecamp的ror版而来, 支持多种数据库,有不少自己独特的功能,例如提供wiki ...
- 基于GitLab的Code Review教程
一.前言 1.本文主要内容 GitLab Code Review机制说明 Git Workflow 与 Git Code Review Workflow GitLab Code Review 配置说明 ...
随机推荐
- css ::selection 选择文本改变样式
.p1::selection{ background: red; color: #fff; }
- vue_webpack
1.生成项目工程描述文件 npm init 2.安装webpack开发依赖 (本地安装):npm install -D 3.(webpack4.0版本以上安装webpack cli) npm inst ...
- 鸿蒙js开发7 鸿蒙分组列表和弹出menu菜单
鸿蒙入门指南,小白速来!从萌新到高手,怎样快速掌握鸿蒙开发?[课程入口]目录:1.鸿蒙视图效果2.js业务数据和事件3.页面视图代码4.跳转页面后的视图层5.js业务逻辑部分6.<鸿蒙js开发& ...
- eclipse中将项目加载到tocat报错:Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules
第一种解决方法:只需要找到导入项目的配置文件即可,举个栗子:D:\公司\iptv_gx\iptv_gx\.settings\org.eclipse.wst.common.project.facet.c ...
- 《进击吧!Blazor!》第一章 5.组件开发
<进击吧!Blazor!>是本人与张善友老师合作的Blazor零基础入门系列视频,此系列能让一个从未接触过Blazor的程序员掌握开发Blazor应用的能力. 视频地址:https://s ...
- Java基础语法:变量与常量
一.命名规范 所有变量.常量.方法.类 都使用英文单词 命名,要见名知意. 所有变量.方法 的命名都使用小驼峰法 :首字母小写的驼峰命名法.例如:sampleText 类 的命名都使用大驼峰法 :首字 ...
- 元类、orm
目录 一.内置函数exec 二.元类 1. 什么是元类 2. 元类的作用 3. 创建类的两种方法 4. 怎么自定义创建元类 三.ORM 1. ORM中可能会遇到的问题 2. ORM中元类需要解决的问题 ...
- Redis-第十章节-链表
目录 数组和链表 链表 对比 总结 1.数组和链表 数组: 数组会在内存中开辟一块连续的空间存储数据,这种存储方式有利也有弊端.当获取数据的时候,直接通过下标值就可以获取到对应的元素,时间复杂度为O( ...
- QuickBase64 - Android 下拉通知栏快捷base64加解密工具
Android Quick Setting Tile Base64 Encode/Decode Tool Android 下拉通知栏快捷 base64 加解密,自动将剪切板的内容进行 base64 E ...
- Arrays.Sort()中的那些排序算法
本文基于JDK 1.8.0_211撰写,基于java.util.Arrays.sort()方法浅谈目前Java所用到的排序算法,仅个人见解和笔记,若有问题欢迎指证,着重介绍其中的TimSort排序,其 ...