当前位置: 首页 > news >正文

【DEVOPS】需求跟踪管理全面落地

0. 目录

      • 1. 现状/背景
      • 2. 需求管理存在的问题
      • 3. 改进思路/措施
      • 4. 所谓"禅道尚未普及/铺开"
      • 5. 最后
      • 6. 相关

1. 现状/背景

近期又被领导问到"如何对项目过程中的需求进行量化和跟踪管理"。这真是一个狗皮膏药似的问题,反反复复地,隔一段时间就得被再次提及。

究其原因,除了过往在传统软件行业中技术团队的发展(现状篇),【DEVOPS】基于禅道 - 重构研发协作流程分别进行过总结的背景之外:

  1. 我们的DEVOPS改良推进路线风格属于彻底的自下而上。除非拿出切实的,已经试点成功的,能够被直观感受到好处的改良结果,领导才会进行明确的站台支持。
  2. 上一条属于客观背景,那么这一条就属于自身不足了 —— 一直以来向上管理意识有但是不多。没有做好成果汇报和信息同步,同时缺少宣讲和对外输出。于是出现"我们觉得时机早已成熟,但是领导层对此知之甚少,进而对于改良的推进犹犹豫豫,畏首畏尾"。

本文接下来的部分就是解决上面提出的这两个问题,解释:为什么我们认为现在时机已经成熟,为什么存在一种在没有太大阻力,不放弃底线的情况下,能够将现代化项目管理流程推行下去的可能性。

注:以下内容有个前提,就是如【DEVOPS】基于禅道 - 重构研发协作流程,组织内部已经有了成功的样例。

2. 需求管理存在的问题

以需求为抓手,是项目管理过程中跟踪项目进度,判断风险,量化各个岗位贡献值的基本方法和思路。

但是现在的问题正是,记录需求的变更过程,以提供客观数据去反映各方的工作量,这部分工作没有人做,一是没经验,二是没意愿,而领导出于各类原因始终无法下定决心将这份职责指定给哪个角色。 于是无尽的扯皮在不同的项目组内接连上演:

  1. 产品说研发效率太低;
  2. 研发说产品的需求总是变来变去。
  3. 扯皮的时候"双手赞同要搞标准化项目管理,我要证明自己的清白",但一旦摆出真的要进行改进的架势时候,各种困难就出来了——哎呀本来就很忙了,哪来的时候记录这个。也就是"这个东西是很重要,但是凭什么要我来做?"

于是又绕回了过往的惯性老路 —— 试图通过降低标准/无限倒退的方式来让规范/改良能够执行下去。

但是有些时候,对于有些已经是基本要求,没有后退之路的底线,这个思路并不适用。

还是以需求的管理为例,对需求进行持续跟踪的前提是有人去记录各个版本的内容,并且建立它们之间的联系,工具只是可以帮助我们减轻这部分工作量,但"对需求进行持续跟踪"这项工作本身最终的质量以及相关方的满意度,还是需要人来把握的。如果相关方连这个都不愿意做,或者糊弄着做,那么我们最终的目的很难达成。

3. 改进思路/措施

所谓"工作量不会消失,只会转移",正如DEVOPS并不是消除了工作量,而只是将其由人工转交给了机器,项目管理中的"对需求进行持续跟踪"这件事情现在既然不能依靠于产品和相关售前/需求分析人员,那么我们就下移一步,交给有经验的研发团队来主导或占据关键节点,该项目团队的原有其它人员进行辅助填充,让有经验的研发团队推着其他人来适应这个操作流程。

我们来看看为什么这个移交存在可行性:

  1. 我们推进DEVOPS就是使用机器操作逐步代替人工操作,在此过程中借助机器操作特点借此来构建标准的工作流程,最终保住产品质量的底线,同时也显著减轻人员工作压力和心智负担。

  2. 并且我们在过去几年一直也在推进技术栈沉淀,实现解决方案的标准化,减少人员在所谓"技术难点"上的精力投入。

  3. 在禅道推进上,过去几年我们分别在行业部门和基础平台部门结合各自当下现状,对于禅道标准化研发流程进行了自适应改造/本地化改造,做到了真正的落地。

    3.1 这个"真正的落地"的第一层含义: 本地化改造后的流程已经实现了在无需过多外力/监督介入情况下的自运转。

    3.2 这个"真正的落地"的第二层含义: 两个部门内部对于禅道的理解和使用完全不一样,而且和禅道官方推荐的标准化项目管理流程也是差别甚大。

原有团队没有人愿意,也没有一个额外的精力去监督和检查"对需求进行持续跟踪",那就让被解放出精力,具备了基本需求管理流程经验的研发人员,以及具备禅道本地化改造流程经验负责人来作为主导/关键节点,引导该项目内的需求跟踪管理流程,原项目组的其它人作为辅助参与进来,在这个试点过程中:

  1. 实现对当前项目"对需求进行持续跟踪"的基本要求;
  2. 同时培养/熏陶出一批具备基本素养的产品/需求分析人员;
  3. 并且迭代出一个针对性的流程,既兼顾该业务线/该团队内相关人员的既有操作习惯,又满足基本的标准项目管理流程要求,为之后的流程优化打下基础。

4. 所谓"禅道尚未普及/铺开"

所谓"禅道尚未普及/铺开"正是以上改良措施出现的背景;而且如果禅道已经铺开,本文背景都已经不存在了,也就是不会出现需求变更导致的扯皮问题。

我们提出的对策正是为了应对"禅道尚未普及/铺开"情况。

可以说现在这批人是幸运的,至少公司给了他们这个过渡的阶段。一旦这个流程成型,这样的人就没有机会了。因为到时候你要不是白纸一张,要不就是已经知晓这些流程。一张涂满涂鸦的纸,我们已经没有这个耐心去矫正了。

5. 最后

  1. 不要再讨论"要不要用",而是"怎么用"? 始终在这起点徘徊,一辈子都到不了。
  2. 我们已经完全接受"慢慢来"这个现实,是因为我们承认最终还是人决定了产品的质量,所以我们愿意将这个过程慢下来,克服人性中急躁,急功近利的弱点,拾阶而上,一步步地向目标进发,在这个过程中把人培养出来,把事情做成。
  3. 我们并非要求当下马上执行以上试点,我们只是提供一种可能性,一种如何在一个四面楚歌的情况下,让好的变化发生。(相较于过往的改良推进,当下其实已经好多了,毕竟现在已经再是0到1了)

6. 相关

  1. 【DEVOPS】基于禅道 - 重构研发协作流程
  2. 【DEVOPS】DevOps推进过程中的一些最佳实践
  3. 阿里如何定义团队的研发效能?
  4. 《UNIX编程艺术》
  5. 【DEVOPS】DevOps推进过程中的一些最佳实践3
  6. 禅道官方推荐的标准化项目管理流程

相关文章:

【DEVOPS】需求跟踪管理全面落地

0. 目录 1. 现状/背景2. 需求管理存在的问题3. 改进思路/措施4. 所谓"禅道尚未普及/铺开"5. 最后6. 相关 1. 现状/背景 近期又被领导问到"如何对项目过程中的需求进行量化和跟踪管理"。这真是一个狗皮膏药似的问题,反反复复地,隔一…...

算法修炼Day57|647. 回文子串 ● 516.最长回文子序列

LeetCode:647. 回文子串 647. 回文子串 - 力扣(LeetCode) 1.思路 暴力思路见对应代码… 动规解法:画图推导动规公式,当前状态由左侧和左下角推出,所以首层应该采用倒序的方式,内部采用正序的方式。 2.…...

呈现数据的精妙之道:选择合适的可视化方法

在当今数据时代,数据可视化已成为理解和传达信息的重要手段。然而,选择适合的数据可视化方法对于有效地呈现数据至关重要。不同的数据和目标需要不同的可视化方法,下面我们将探讨如何选择最佳的数据可视化方法来呈现数据。 1. 理解数据类型&a…...

数据结构(Java实现)-java对象的比较

元素的比较 基本类型的比较 在Java中&#xff0c;基本类型的对象可以直接比较大小。 对象比较的问题 Java中引用类型的变量不能直接按照 > 或者 < 方式进行比较 默认情况下调用的就是equal方法&#xff0c;但是该方法的比较规则是&#xff1a;没有比较引用变量引用对象的…...

Wolfram Mathematica 13 for Mac 数学计算工具

Wolfram Mathematica for Mac是一款功能强大、划时代的科学计算软件。它结合了数字和符号计算引擎、图形系统、编程语言、文本系统以及与其他应用程序的高级连接&#xff0c;在许多功能方面处于世界领先地位&#xff0c;截至2009年&#xff0c;它是使用最广泛的数学软件之一。人…...

系统架构设计高级技能 · Web架构

现在的一切都是为将来的梦想编织翅膀&#xff0c;让梦想在现实中展翅高飞。 Now everything is for the future of dream weaving wings, let the dream fly in reality. 点击进入系列文章目录 系统架构设计高级技能 Web架构 一、Web架构介绍1.1 Web架构涉及技术1.2 单台服务…...

再写CentOS7升级OpenSSL-1.0.1U

本文在CentOS7.4以及TencentOS 2.4上测试通过。 原系统自带OpenSSL 1.0.2k-fips。 编译安装方法跟之前的没啥区别。 从官网下载1.0.1u版https://www.openssl.org/source/ 使用tar解包 tar xfz openssl-1.0.1u.tar.gz 依次执行如下&#xff1a; cd openssl-1.0.1u ./con…...

HBase--技术文档--基本概念--《快速扫盲》

官网 Apache HBase – Apache HBase™ Home 阿里云hbase 云数据库HBase_大数据存储_订单风控_数据库-阿里云 云数据库 HBase-阿里云帮助中心 基本概念 HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。它基于Hadoop&#xff0c;采用列式存储方式&#xff0c;可…...

如何利用SFTP协议远程实现更安全的文件传输 ——【内网穿透】

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《高效编程技巧》《cpolar》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 1. 安装openSSH1.1 安装SSH1.2 启动ssh 2. 安装cpolar2.1 配置termux服务 3. 远程SFTP连接配置3.1 查看生成的随机公…...

深度学习8:详解生成对抗网络原理

目录 大纲 生成随机变量 可以伪随机生成均匀随机变量 随机变量表示为操作或过程的结果 逆变换方法 生成模型 我们试图生成非常复杂的随机变量…… …所以让我们使用神经网络的变换方法作为函数&#xff01; 生成匹配网络 培养生成模型 比较基于样本的两个概率分布 …...

sql入门-多表查询

案例涉及表 ----------------------------------建表语句之前翻看之前博客文章 多表查询 -- 学生表 create table studen ( id int primary key auto_increment comment id, name varchar(50) comment 姓名, no varchar(10) comment 学号 ) comment 学生表; insert…...

软考A计划-网络工程师-必考知识点-上

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 &#x1f449;关于作者 专注于Android/Unity和各种游…...

kafka复习:(17)seekToBeginning的用法

从分区的开始进行消费&#xff0c;因为kafka会定期清理历史数据&#xff0c;所以分区开始的位移不一定为0。seekToBeginning只是从目前保留的数据中最小的offset进行消费 package com.cisdi.dsp.modules.metaAnalysis.rest.kafka2023;import org.apache.kafka.clients.consume…...

C# textBox1.Text=““与textBox1.Clear()的区别

一、区别 textbox.Text "" 和 textbox.Clear() 都可以用于清空文本框的内容&#xff0c;但它们之间有一些细微的区别。 textbox.Text "": 这种方式会将文本框的 Text 属性直接设置为空字符串。这样会立即清除文本框的内容&#xff0c;并将文本框显示为空…...

CnetSDK .NET OCR SDK Crack

CnetSDK .NET OCR SDK Crack CnetSDK.NET OCR库SDK是一款高度准确的.NET OCR扫描仪软件&#xff0c;用于使用手写、文本和其他符号等图像进行字符识别。它是一款.NET OCR库软件&#xff0c;使用Tesseract OCR引擎技术&#xff0c;可将字符识别准确率提高99%。通过将此.NET OCR扫…...

Python最新面试题汇总及答案

一、基础部分 1、什么是Python&#xff1f;为什么它会如此流行&#xff1f;Python是一种解释的、高级的、通用的编程语言。Python的设计理念是通过使用必要的空格与空行&#xff0c;增强代码的可读性。它之所以受欢迎&#xff0c;就是因为它具有简单易用的语法 2、为什么Pytho…...

设计模式(单例模式,工厂模式),线程池

目录 什么是设计模式? 单例模式 饿汉模式 懒汉模式 工厂模式 线程池 线程池种类 ThreadPoolExcutor的构造方法: 手动实现一个线程池 什么是设计模式? 计算机行业程序员水平层次不齐,为了让所有人都能够写出规范的代码,于是就有了设计模式,针对一些典型的场景,给出一…...

在mybatis中的mapper.xml中如何使用parameterType实现方法单个传参,对象传参,多参数传参.

在MyBatis的mapper.xml文件中&#xff0c;可以使用parameterType属性来指定方法的参数类型。parameterType属性用于指定传递给映射方法的参数类型&#xff0c;这将影响到MyBatis在映射方法执行时如何处理参数。 以下是三种不同情况下如何在mapper.xml中使用parameterType实现方…...

No120.精选前端面试题,享受每天的挑战和学习

文章目录 浏览器强制缓存和协商缓存cookie&#xff0c;localStorage、sessionStoragejs闭包&#xff0c;原型&#xff0c;原型链箭头函数和普通函数的区别promise的状态扭转 浏览器强制缓存和协商缓存 浏览器缓存是浏览器用于提高网页加载速度的一种机制。浏览器缓存分为强制缓…...

c# 访问sqlServer数据库时的连接字符串

//sql server 身份验证的场合&#xff0c; 连接字符串 private string ConnstrSqlServer "server服务器名称;uid登录名称;pwd登录密码;database数据库名称"; //windows 身份验证连接字符串 private string ConnstrWindows "server服务器名称;database数据库…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !

我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...

MySQL的pymysql操作

本章是MySQL的最后一章&#xff0c;MySQL到此完结&#xff0c;下一站Hadoop&#xff01;&#xff01;&#xff01; 这章很简单&#xff0c;完整代码在最后&#xff0c;详细讲解之前python课程里面也有&#xff0c;感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...

ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]

报错信息&#xff1a;libc.so.6: cannot open shared object file: No such file or directory&#xff1a; #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...