DevOps | 如何快速提升团队软件开发成熟度,快速提升研发效能?
今天一个小伙伴问我,如何「快速提升」一个团队的软件开发成熟度?我犯难了。我个人理解一个团队的软件开发成熟度涉及的东西很多,但最简单最直接的方法就是发钱涨工资,可是估计很多公司不愿意,那就只有扣了。
快速提升的目标
短期制度解决
如果想短期快速提升,那就直接梳理好最关键点,制定规章制度,然后通过奖惩制度让大家遵守。这种做法成本不高,也许还能创收给团建攒点经费。这种做法优点就是见效快、直达痛点,但是副作用也很大,不厚道不人道,无法持久,毕竟工作合同里可没写扣钱的事儿。一天两天一周两周还行,时间一长人都跑了。1-2个月内可以考虑这种做法。
举个例子,服务稳定性问题。一段时间公司的某些服务经常出现问题,根因也有很多,比如上错代码、上线后配置没改、容器状态不对,告警误报等等。然后成立了一个服务稳定性小组,对每次事故进行复盘定责。人为原因直接罚钱,轻罚一线重罚领导。某种程度上解决了一些问题。但是时间一长这种方法就不灵光了,因为涉及到个人的收入,所以在最后查原因、影响范围的时候下面有的人就开始糊弄了,把影响功能、时间、人数、对外影响往轻了说。同事之间总不能天天拆台互相揭发吧?那这活还怎么干。尤其是大领导自己关注度降低,找个不熟悉、不深究、职位低的人来盯这事的时候,慢慢也就形成了虚设。(BTW,一把手业务助理做这事其实是个不错的选择。手拿尚方宝剑,领旨办案,且没有利益牵绊。)
中期流程和工具解决
但如果我们把时间放到3-6个月这个长度,那么可以选择的方法就很多。
我们以《百度工程能力白皮书》中涉及的 Server 端工程能力地图为例,涉及的 33个能力,如果想短时间内提高这么多能力是不可能的。3-6个月内挑一些关键的实践还是可以做一些事情的。
首先为每个团队指定一名全权负责人,也就是我之前的一篇文章提到的 FTO。效能不好 K 他就行,团队内合作不畅 K 他,结果不满意 K他。经过一段时间团队产研效能就有所提高。K 他之前记得授权,别瞎 K。明明自己没授权什么都揽在自己手里,结果出了问题说成是别人的问题就虾扯蛋了。
其次把团队的职责,团队中每个人的职责都明确出来,梳理出团队和个人的目标,让团队和个人都知道自己的权利和责任,知道自己的工作边界,知道自己的目标。不合理的团队组织架构和混乱不清楚的工作边界往往是产研团队效能低下的根本问题,且这个问题往往不能自查或不愿意承认。
然后,我们帮各个 FTO 梳理团队内一个个的流程和规范,对团队内的每个成员进行培训,把流程和规范融入到产研协作流程的过程中,针对目前最痛的点设置成检查点,从流程和关键点提高团队的研发效能。这个过程需要团队内的成员、团队外的管理人员都形成共识。
接着专人搭建工具和平台支撑流程和规范。所有的流程和规范不能只停留在嘴上,停留在纸面上,要有工具和平台的支撑。没有一站式的,就先单点满足。没有中文的,就先英文顶上。唯一的要求就是快。如果公司觉得这方面的投入值得,能采购商业软件那就太好了。把流程和规范落到工具和平台上,进行培训,让大家熟悉。
同时,我们要招人。招更能满足业务需求的各种人才。包括替换不合格的产品,能力不强的研发,没责任心的运维,经验缺乏的PMO,不负责的领导等。把团队的短板补上。
小文总结
简单总结下,短期通过制度解决痛点问题。优点是直接、快速,缺点是不可持续,效率低。中期通过流程和工具解决,通过不断优化流程,搭建工具和平台支撑流程和规范的落地, 同时不断地优化流程和改进工具形成正循环,劣势是需要时间需要人力物力的投入。公司的实力终究还是体现在人才上,不断提高人才质量和密度才是根本。
最后感谢「无散人」的提问,让我有机会回答,谢谢。
相关文章
感谢点赞、转载
关注我,了解最新研发效能发展动向
欢迎进入「DevOps研发效能群」一起探讨
DevOps | 如何快速提升团队软件开发成熟度,快速提升研发效能?的更多相关文章
- Atitit.研发管理--提升效率--软件开发方法DSM总结o99
Atitit.研发管理--提升效率--软件开发方法DSM总结o99 1. 什么是DSM? 1 2. DSM使用的语言DSL 2 3. 模型的优点 2 4. DSM 跟与MDA区别 2 5. MDA的实 ...
- 如何使用华为软件开发云快速部署PHP网站
华为软件开发云这个工具,从去年推出我就一直在关注,毕竟是华为最新的一款软件开发工具,最近我一直在使用华为软件开发云进行开发项目管理,它有在线编译和构建.云端在线代码检查等功能,编译省去了很多物理机器的 ...
- 团队软件开发_基于windows下截屏软件关于NABC框架的特点
经过我们小组数次的激烈讨论,就自己的能力和时间而言,我们小组的初步的计划是开发一款基于windows下的截图软件. 关于这个软件的功能,我们初步的想法如下: 1.能在windows下后台运行,有相应的 ...
- jenkins+php+svn快速部署测试环境开发环境快速部署
jenkins 虽然作为java常用的打包部署工具,不过也可以使用在phpweb项目部署管理,前段时间帮公司部署了开发环境与测试环境,简单分享一下. 1.内网web环境搭建lnmp,centos下编译 ...
- 《移山之道:VSTS软件开发指南》读书笔记
这两天看了<移山之道:VSTS软件开发指南>,对团队软件开发又有了新的认识.也许对于我们这些软件开发的新手来说,最重要的是具体技术与应用框架,但读了这本书后我感觉到,实际团队项目中工具的使 ...
- 提升团队幸福感之:集成 GitLab && JIRA 实现自动化工作流
佛罗伦萨 - 圣母百花圣殿(图) 前言 GitLab 和 Jira 是平时开发过程中使用非常高频的代码管理系统(开发人员)和项目管理系统(项目管理),通过两套系统的协作完成平常大多数的功能开发,但是两 ...
- DevOps时代的软件过程改进探讨 杨振涛 云加社区 今天 作者:杨振涛,腾讯云TVP 本文从Jenkins,DevOps,云原生等视角探讨了软件过程改进在各个时代的挑战和价值,重新审视了SPI在软件开发和交付的效率和质量提升方面的意义
DevOps时代的软件过程改进探讨 杨振涛 云加社区 今天 作者:杨振涛,腾讯云TVP 本文从Jenkins,DevOps,云原生等视角探讨了软件过程改进在各个时代的挑战和价值,重新审视了SPI在软件 ...
- 【DevOps】团队敏捷开发系列--开山篇
随着软件发布迭代的频率越来越高,传统的「瀑布型」(开发-测试-发布)模式已经不能满足快速交付的需求.2009 年左右 DevOps 应运而生,开发运维一体化,通过自动化工具与流程让整个软件开发构建.测 ...
- 软件开发模式,DevOps
参考文献:http://www.cnblogs.com/jetzhang/p/6068773.html 历史回顾 为了能够更好的理解什么是DevOps,我们很有必要对当时还只有程序员(此前还没有派生出 ...
随机推荐
- 2022-08-15 - 初识MySQL
MySQL数据库 数据库 数据库,又称为Database,简称DB.数据库就是一个文件集合. 顾名思义:是一个存储数据的仓库,实际上就是一堆文件,这些文件中存储了具有特定格式的数据,可以很方便的对里面 ...
- iommu分析之---smmu v3的实现
smmu 除了完成 iommu 的统一的ops 之外,有自己独特的一些地方. 1.Stream Table Stream Table是存在内存中的一张表,在SMMU设备初始化的时候由驱动程序创建好. ...
- 【NOI P模拟赛】仙人掌(圆方树,树形DP)
题面 n n n 个点, m m m 条边. 1 ≤ n ≤ 1 0 5 , n − 1 ≤ m ≤ 2 × 1 0 5 1\leq n\leq 10^5,n-1\leq m\leq 2\times1 ...
- 2-2 selenium IDE自动化实战
Selenium IDE 自动化实战 任务1: 自动在百度搜索"我要自学网" 然后在搜索结果页面点击进入自学网主页 任务2 实现自学网自动登录个人账号 Test2017 12345 ...
- 页面POST请求302重定向解决方案
一.在后端Middleware中判断如果是post请求,返回json格式 二.前端全局js中捕获ajax请求进行处理
- 第一百篇:JS异步
好家伙,打工人要打工,博客会更新的没有以前频繁了 芜湖,一百篇了,这篇写一个比较难的异步(其实并不难理解,主要是为promise铺垫) 老样子,先补点基础: 1.进程 来吧,新华字典 大 ...
- 员工离职困扰?来看AI如何解决,基于人力资源分析的 ML 模型构建全方案 ⛵
作者:韩信子@ShowMeAI 数据分析实战系列:https://www.showmeai.tech/tutorials/40 机器学习实战系列:https://www.showmeai.tech/t ...
- bat查找文件
举例如下 @dir > 1.txt /s /a /b d:\*.mp4 以后再作解释
- 《Java笔记——基础知识点》
Java笔记--基础知识点 位运算符操作的都是整型的数据. 位运算符是直接对整数的二进制进行计算. 整数不能进行逻辑运算. 运算符优先级别由高到低分别是:() > ! > 算术 ...
- WinUI 3 踩坑记:第一个窗口
本文是 WinUI 3 踩坑记 的一部分,该系列发布于 GitHub@Scighost/WinUI3Keng,文中的代码也在此仓库中,若内容出现冲突以 GitHub 上的为准. WinUI 3 应用的 ...