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,我们很有必要对当时还只有程序员(此前还没有派生出 ...
随机推荐
- 如何成为一名合格的Apache项目Committer,参与Apache开源贡献的正确姿势
近日,孙金城老师在 "Open Source Promotion Plan - Summer 2020" 开源软件供应链点亮计划做了<如何成为一名合格的Apache项目Com ...
- Spring源码 01 概述
参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://ww ...
- CodeForces - 1625C
Problem - 1625C - Codeforces 题意: 一条马路,有n个限速牌,表示的是从这个限速牌开始到下一个限速牌或者到马路尾的这段距离的速度,你可以拆除其中k个限速牌,问最少的时间是多 ...
- Self-Attention:初步理解
Self-Attention 的基本结构与计算 Attention(注意力)实际上就是权重的另一种应用的称呼,其具体结构与初始输入的 content \(\vec{x_{1}}, \vec{x_{2} ...
- Dapr 集成 Open Policy Agent
大型项目中基本都包含有复杂的访问控制策略,特别是在一些多租户场景中,例如Kubernetes中就支持RBAC,ABAC等多种授权类型.Dapr 的 中间件 Open Policy Agent 将Reg ...
- Django ORM 实现数据的多表 增删改查
一.创建模型和表 假定下面这些概念.字段与关系: 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,手机号,家庭住址信息. 作者详情模型 和 作者模型之间是一对一的关系(one- ...
- Docker 数据共享与持久化
- 使用KVM安装windows10系统出现内存直接占满的情况解决
情况说明: 在使用kvm安装windows10系统的时候,采用的win10系统不是原版系统,而是经过进一步封装的系统,使用大白菜PE先格式化磁盘,然后再安装的系统,在系统安装好重启的时候,卡在安装界面 ...
- 第二章:视图层 - 10:动态生成PDF文件
可以通过开源的Python PDF库ReportLab来实现PDF文件的动态生成. 一.安装ReportLab ReportLab库在PyPI上提供,可以使用pip来安装: $ pip install ...
- PostgreSQL 创建数据库
PostgreSQL 创建数据库可以用以下三种方式: 1.使用 CREATE DATABASE SQL 语句来创建. 2.使用 createdb 命令来创建. 3.使用 pgAdmin 工具. CRE ...