【DEVOPS】现状篇

0. 目录

    • 1. 前言
    • 2. 现状
      • 2.1 需求管理
        • 2.2 开发流程
        • 2.3 测试流程
        • 2.4 部署流程
        • 2.5 维护阶段
      • 3. 后记
    • 4. 相关

1. 前言

一直以来,深感内部工程化能力欠缺,急于将事情向前推进,总是希望能够向前走几步,再走几步。

可惜的是,数年下来,进展实在乏善可陈。这里我们不去分析原因,本篇主要是阶段性总结到目前这个阶段,我们在DEVOPS上所处的状态,取得共识。

毕竟,DEVOPS作为一种文化,认知齐了才可能进一步地发展。

2. 现状

我们以一个软件项目的全生命周期里的各个阶段为线索,逐一总结各个阶段的进度情况。

2.1 需求管理

如我们在【DEVOPS】需求跟踪管理全面落地里提到过的,截止当下,我们已经分别在行业部门和基础平台部门分别进行了成功的试点,但是距离全面铺开以及进一步规范化还存在比较大的距离。

落地特点:

  1. 两类部门均对禅道标准流程进行了自主调整。
  2. 行业部门内落地的管理流程特点参见【DEVOPS】基于禅道 - 重构研发协作流程,总结一句话就是改进主要是由研发推动,遵循了"产品需求-项目任务-测试BUG"这三个概念基础之上,抛弃了敏捷开发里“冲刺(Sprint)”概念,显著减少流程里对应人员能力的要求,以及流程学习和维护成本;关于制品/发布这一步暂时放弃。
  3. 基础平台部门内落地的管理流程则是以质量保证部门发起,所以最终落地的管理流程特点也是非常明显。现阶段他们基本忽略了需求的流转这一过程,关注点主要是在于需求、BUG与发布版本之间的关联。也就是确定当前发布的版本是被验证过哪些BUG或需求被解决了的,并且基于这个要求,完善了用例的编写和基础用例库的建立。嗯,你说"难道他们之前?",是的,你猜得没错。
  4. 各自都基于自身的本地化流程做了相应的禅道二开报表统计和流程流转限制。这是一个好现象,但还远远不够。

存在问题:

  1. 集团公司内诸多行业部门,但落地成功的现阶段只有一个。
  2. 行业特点各异,所以很可能部门行业部门还需要进行对应人员进行主动实践,本地化出适合自己的流程。
  3. 本地化程度低,以上很明显可以看出不管是行业还是基础平台部门,它们对于禅道的应用还只是处于最初的起步阶段,只能算是真正踏出了第一步,如果不进行持续的迭代改进,那么与过往的土八路打发并不能拉开显著的差距。

2.2 开发流程

这一部分关注点主要是自动化的程度,以及经验复制的范围。

  1. CICD在行业部门的内个别小组中有试点,并且反馈也不错,但是一旦相应的跟进停止,相关的人员在退回原有开发模式时,并没有过多的抵触。这应该是过往DEVOPS推进始终停滞不前的重要原因 —— 有好处,但是不多,没有达到形成这种自下而上的变革力量。
  2. 编码规范等一系列的前置检查也有尝试,但是受限于业务压力,以及历史代码的纠缠等原因,这一块的推进始终反复不断,目前处于搁置状态。
  3. 技术解决方案的沉淀一直在推进,但基本属于剃头挑子一头热的状态,距离理想中的"共建"还存在着很大的距离。
  4. 以上尝试,在基础平台部门起步更晚。

2.3 测试流程

做得也不怎么样。

  1. 行业部门的测试以"猴子测试"为主,保证基本的业务功能就可以了,相应的人员招聘也是按照这个标准来的,而且相关人员还要身兼售后等职责,所这一块的尝试始终无法更进一步,截止目前也是缺乏显著的进展。
  2. 基础平台部门因为自身业务特点,所以在用例的维护上取得了显著效果,这对于产品质量在一定程度上的保证,以及人员结构的稳定上有了明显的进步 ——新入职的人员两周内必然上手,而不是过往一个月过去了这人都不知道自己该怎么干。
  3. 并且内部的基础设施(典型如何服务器)使用效率底下,没有一个基本的CMDB。每次申请服务器之后,用一段时间之后就闲置了,逐步积累直到无法分配新的服务器,于是导致每隔一段时间都需要重新统计服务器使用情况,从零再来一轮新的分配,循环往复。

2.4 部署流程

这一块因为行业特点,问题的复杂性,造成相应的推进涉及不多。

相关原因大致有:

  1. 部署环境高度各异,且不可控。
  2. 相关人员缺乏基本知识素养。
  3. 软件自身未考虑鲁棒性问题。

2.5 维护阶段

对于这一阶段,进展大致分为两类:

  1. 对于以上已经实现基本的禅道管理流程的,目前已经可以实现反向地,由研发/测试团队倒逼需求提出方去规范基础的需求/BUG处理流程。
  2. 但对于其他团队,逮着认识的人往死了用,出现相关问题不知道找谁等无谓的沟通摩擦成本依然是大量存在,并且毫无改进的迹象。

3. 后记

自下而上,没有专人投入,领导不理解,短期难以见效,这样的背景之下,任何流程的推进都是“横垄地里拉车,一步一个坎儿”,我也是见证了不少半途而废的改良者。

放弃者并不能说是懦弱,而坚持下来的人也只是各有各的原因。

4. 相关

  1. 传统软件行业中技术团队的发展(现状篇)
  2. 【DEVOPS】需求管理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/55680.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT学习笔记-开发环境编译Qt MySql数据库驱动与交叉编译Qt MySql数据库驱动

QT学习笔记-开发环境编译Qt MySql数据库驱动与交叉编译Qt MySql数据库驱动 0、背景1、基本环境2、开发环境编译Qt MySql数据库驱动2.1 依赖说明2.2 MySQL驱动编译过程 3、交叉编译Qt MySql数据库驱动3.1 依赖说明3.3.1 如何在交叉编译服务器上找到mysql.h及相关头文件3.3.2 如果…

时序预测 | MATLAB实现SSA-XGBoost(麻雀算法优化极限梯度提升树)时间序列预测

时序预测 | MATLAB实现SSA-XGBoost(麻雀算法优化极限梯度提升树)时间序列预测 目录 时序预测 | MATLAB实现SSA-XGBoost(麻雀算法优化极限梯度提升树)时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 Matlab实现SSA-XGBoost时间序列预测,麻…

【rust/egui】(六)看看template的app.rs:TextEdit

说在前面 rust新手,egui没啥找到啥教程,这里自己记录下学习过程环境:windows11 22H2rust版本:rustc 1.71.1egui版本:0.22.0eframe版本:0.22.0上一篇:这里 TextEdit 文本编辑框 其定义为&#…

Flink CDC数据同步

背景 随着信息化程度的不断提高,企业内部系统的数量和复杂度不断增加,因此,数据库系统的同步问题已成为越来越重要的问题。 缓存失效 在缓存中缓存的条目(entry)在源头被更改或者被删除的时候立即让缓存中的条目失效。如果缓存在一个独立的…

37.RESTful

RESTful RESTful简介 REST:Representational State Transfer,表现层资源状态转移 资源:资源是一种看待服务器的方式,即——将服务器看作是由很多离散的资源组成。每个资源是服务器上一个可命名的抽象概念。因为资源是一个抽象的…

Springboot使用kafka事务-生产者方

前言 在上一篇文章中,我们使用了springboot的AOP功能实现了kafka的分布式事务,但是那样实现的kafka事务是不完美的,因为请求进来之后分配的是不同线程,但不同线程使用的kafka事务却是同一个,这样会造成多请求情况下的…

QT ListQvector at赋值出错以及解决办法 QT基础入门【QT存储结构】

1、问题 error: passing const QString as this argument discards qualifiers error: assignment of read-only location vec.QVector<int>::at(0) 在Qt中QList,Qvector一般获取元素都是通过at(index)来获取,但是at()的返回是一个const & 常引用,也就是元素不支…

[shell] $@ 与 eval

$ 与 $* $的用法以及与$*的区别可以参考 What does $ mean in a shell script? 测试脚本如下 #!/bin/bashset -e set -xbash -c $ bash -c "$" bash -c $* bash -c "$*"一般情况下&#xff0c;我们可能会这样执行脚本 ./test.sh Y324 X1 echo hello输…

微信小程序canvas type=2d生成海报保存到相册、文字换行溢出显示...、文字删除线、分享面板

一、简介 做个简单的生成二维码海报分享&#xff0c;我做的时候也找简单的方法看能不能实现页面直接截图那种生成图片&#xff0c;原生小程序不支持&#xff0c;不多介绍下面有全部代码有注释、参数自行替换运行看看&#xff0c;还有需要优化的地方&#xff0c;有问题可以咨询…

squid服务器

目录 squid初识 安装squid代理 常用命令 主要配置文件 正向代理 环境配置 linux服务器设置 windows客户端设置 反向代理 环境配置 在web服务器配置服务 linux服务器配置 squid初识 含义&#xff1a;squid cache是一个流行的自由软件&#xff08;GNU通用公共许可证…

低代码与低代码平台的概念解析

随着数字化转型和软件需求的不断增长&#xff0c;传统的手写代码开发方式已经无法满足迅速推出应用程序的需求。为了加快软件开发的速度并降低技术门槛&#xff0c;低代码开发模式应运而生。本文将介绍低代码的概念&#xff0c;探讨什么是低代码什么是低代码平台&#xff1f; 一…

poi带表头多sheet导出

导出工具类 package com.hieasy.comm.core.excel;import com.hieasy.comm.core.excel.fragment.ExcelFragment; import com.hieasy.comm.core.utils.mine.MineDateUtil; import org.apache.poi.hssf.usermodel.*; import org.apache.poi.ss.usermodel.*; import org.apache.po…

Git基本操作(Idea版)

第一次发布项目&#xff08;本地->远程&#xff09; 方式一 通过push的方式推送本地库到远程库&#xff08;远程已创建好仓库&#xff09; 这种方式需要提前创建好仓库。 右键点击项目&#xff0c;可以将当前分支的内容 push 到 GitHub 的远程仓库中。 注意&#xff1a…

Readl DOM (真实DOM) 和 Virtual DOM (虚拟DOM)之间的区别,以及优缺点

文章目录 一、Readl DOM (真实DOM) 和 Virtual DOM (虚拟DOM)之间的区别&#xff1f;二、优点缺点1.优点2.缺点 一、Readl DOM (真实DOM) 和 Virtual DOM (虚拟DOM)之间的区别&#xff1f; 两者之间的区别&#xff1a; 1、真实DOM&#xff1a; 真实DOM是浏览器中的实际DOM结构…

CSDN编程题-每日一练(2023-08-27)

CSDN编程题-每日一练&#xff08;2023-08-27&#xff09; 一、题目名称&#xff1a;异或和二、题目名称&#xff1a;生命进化书三、题目名称&#xff1a;熊孩子拜访 一、题目名称&#xff1a;异或和 时间限制&#xff1a;1000ms内存限制&#xff1a;256M 题目描述&#xff1a; …

css3滤镜属性filter让网页变黑白

今天是特殊的日子&#xff0c;抗击疫情全国哀悼日&#xff0c;向英雄们致敬&#xff0c;一路走好&#xff01;应该发现了今天很多网站页面都是黑白色的&#xff0c;我的博客今天都是黑白色&#xff0c;用css3滤镜属性filter让网页马上变黑白&#xff0c;一行代码就搞定。 在你…

R包开发-2.1:在RStudio中使用Rcpp制作R-Package(更新于2023.8.23)

目录 0-前言 1-在RStudio中创建R包项目 2-创建R包 2.1通过R函数创建新包 2.2在RStudio通过菜单来创建一个新包 2.3关于R包创建的说明 3-添加R自定义函数 4-添加C函数 0-前言 目标&#xff1a;在RStudio中创建一个R包&#xff0c;这个R包中包含C函数&#xff0c;接口是Rc…

c++中的const与constexpt的区别

c中的const与constexpr的区别 const const 是一种修饰符&#xff0c;用于声明一个只读的常量。它可以用于变量、函数参数和函数返回类型。声明为 const 的变量的值在初始化后就不能再改变。 适用场景&#xff1a; const 适用于声明运行时常量&#xff0c;在编译时无法确定值…

如何使用HTML5新增的标签来构建语义化的页面结构?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ <header>&#xff1a;⭐ <nav>&#xff1a;⭐ <main>&#xff1a;⭐ <section>&#xff1a;⭐ <article>&#xff1a;⭐ <aside>&#xff1a;⭐ <footer>&#xff1a;⭐ <figure> 和 &l…

剑指Offer --- 字符串篇

剑指Offer — 字符串篇 — 剑指的题解K神已经写的已经非常详细了&#xff0c;并且Github上开源的电子书目前热度也非常高&#xff0c;这个12天12个模块系列就当作自己的秋招刷题汇总了&#xff0c;欢迎大家交流。 剑指 Offer 05. 替换空格 思路 **(线性扫描) ** O(n) 这个…