二十年资深架构师分享:可伸缩的研发流程管理方案

字节探星使
• 阅读 1020

研发任务重,手动同步状态和信息,分身乏术;

信息不透明,跨职能成员协调难、沟通成本高;

负责人到任,项目细节和代码信息却无从了解;

……

传统研发流程中,机械重复和信息孤岛或成为阻碍高效协作的头号因子。数字化与信息化的浪潮袭来,基于系统和工具优化管理方式,构建数据闭环和流程自动化是研发提效的主旋律。

本文将从需求痛点解析和解决方案建议两个方面,对研发效能优化展开解读,帮助企业更好地打造坚固、可持续发展的研发生态。

一、研发流程管理中,企业的关键需求和痛点是什么?

01 五个关键需求

企业研发流程管理的五个关键需求分别是安全、自主可控、高效、低成本和可拓展。

  1. 安全性。包括代码安全、数据安全等。企业可以使用独立的代码仓库、依赖服务/数据可私有化等提高安全性。
  2. 自主可控性。企业的核心业务应自主可控、不受限于外部;常通过可扩展的、可信的开源组件提供自己的服务实现。
  3. 高效性。持续透明的研发流程是高效运转的低线。企业应建立有效的敏捷项目管理机制,并结合DevOps进行持续集成与构建,追求更高效的研发流程管理。
  4. 低成本。项目研发要把资源用在刀刃上——通过合理的资源调配,产生尽可能低的附加成本,将有限的资源发挥出最高性价比。
  5. 可扩展性。满足当下技术需要的同时,企业还应当与可扩展性共成长,将可持续发展贯彻到底。

02 人治管理痛点

人治管理模式下,研发流程管理非常灵活,但也存在诸多限制:项目信息不透明、代码同步滞后、状态更新耗费时力、信息传递易出错等等;

更重要的,项目信息和研发持续输出难以形成良性闭环,信息孤岛极大地限制了管理优化的上限。

其次,由于个体能力差异和能力阈值限制,疏忽和错误总是在所难免;身经百战的老手如若缺乏趁手兵器,也无法保证高效交付高质量成果。

除此之外,随着研发效能越来越受企业重视,研发流程管理也延伸出更多的诉求:

  • 有没有一种更稳定、可控的管理方式?
  • 企业如何根据自身情况定制方案,解决问题?
  • 哪些可借鉴的流程管理经验可加速突破难关?
  • 如何实现低成本、高效益的研发流程优化?

在信息化的旅程中,更多基于人治的管理痛点和需求逐渐浮现,企业也开始探求更好的研发流程管理办法和方案。

二、基于SaaS的研发流程管理方案

许多实践经验发现,小规模研发团队的效率有时会更高。因为团队越大,部门越多,同步和沟通就变得复杂,再加上缺乏合适的工具佐助,协同成本便会大大增加。

相比之下,使用系统/工具搭建流程闭环,或许是更高效的管理方式。而基于系统提效的核心就是解决协同问题——代码协同、项目协同,以及代码和项目间的协同

01 代码协同工具——GitLab

对所有研发型企业来说,其核心资产就是代码,而云版GitLab可以满足代码管理、CI/CD、知识管理等需求。小规模团队使用云版GitLab,甚至可以不需要Jenkins或运维团队;如果想要进行代码私有化管理,可以考虑托管版的GitLab。

同时,GitLab还拥有丰富的拓展能力,比如Jenkins、镜像仓库、maven仓库、K8S集成等等,对于打通研发全流程有显著意义。

二十年资深架构师分享:可伸缩的研发流程管理方案

02 容器化工具——Kubernetes

随着研发团队的规模逐渐变大,具备专业的运维团队,需要更多的资源协调能力时,企业可能会考虑选择容器化工具如Kubernetes。

在GitLab使用K8S集成可以完成自动编排,让部署容器化应用简单又高效。

二十年资深架构师分享:可伸缩的研发流程管理方案

代码是研发流程中最重要的产出,而GitLab以代码为核心,能够以极低的代价(甚至无需运维成本)实现简单的CI/CD流程,还能以私有化部署解决代码管理问题,提升代码协同管理的效率

显然,GitLab解决了部分的持续集成问题,但是在定制化项目研发流程和项目信息协同方面,却不一定能满足企业需求,因此我们需要一个可将两者结合的研发流程管理方案。

三、精简的研发全流程管理方案:LigaAI+GitLab

LigaAI是新一代智能研发协作工具,通过AI赋能研发协作,解放人工机械工作,让人工智能成为企业生产力的一部分。

LigaAI解决项目信息协同问题,而GitLab通过DevOps解决代码协同问题;二者的集成结合可进一步实现项目和代码的有效协同,最终达成三个层面的研发效能提升目标。

二十年资深架构师分享:可伸缩的研发流程管理方案

01 LigaAI+GitLab,如何实现「项目-代码」协同?

LigaAI与GitLab的集成实现了项目信息和代码信息的双向同步。研发团队可以直接在LigaAI查看GitLab的代码提交和合并请求记录,还能直接创建分支、提交合并请求,快速轻松地实现代码管理。

二十年资深架构师分享:可伸缩的研发流程管理方案

完成集成后,使用LigaAI丰富的工作表组件,研发管理者可在工作台清晰地了解成员效能与代码提交情况,实现研发效能可视化,更及时地作出布局调整与管理。

二十年资深架构师分享:可伸缩的研发流程管理方案

通过配置【LigaAI-智能助理】,执行以创建Git提交为触发节点的自动执行规则,自动化研发协作流程,消除更新、同步和通知等简单机械的任务;

或者使用LigaAI IDE插件中的模板,快捷提交代码并自动提取关联工作信息,减少重复操作,释放更多生产力。

二十年资深架构师分享:可伸缩的研发流程管理方案

02 LigaAI+GitLab,如何实现研发流程可拓展性?

LigaAI支持多种外部集成方式,如工具集成开发、丰富的Open API和WebHook配置等,串联跨系统/工具的项目和代码信息,赋能企业打造研发全流程的信息闭环。

通过形如「LigaAI + GitLab + Jenkins + K8S + IDE插件 + 飞书WebHook」的拓展应用,在完成代码管理和项目管理的同时,还可以借助人工智能等信息化工具,建立开发信息规范、提升代码质量、构建自动化研发流程,并培养强大的可拓展能力、大规模部署能力和容器化管理能力,最大程度地提升研发效率。

二十年资深架构师分享:可伸缩的研发流程管理方案

Liga总结

研发效能优化与提升是企业降本增效的重要命题。与人治管理相比,基于系统的研发流程管理方法更加符合企业定制化管理和低成本转型的需求。

「LigaAI+GitLab」的精简化流程管理方案能够在实现项目协同和代码协同的同时,打通项目信息与研发持续输出的壁垒,完成项目与代码间的协同,并通过丰富的可拓展方案打造研发全流程数据闭环,高效赋能研发团队稳步提升。

关于 LigaAI

LigaAI是新一代智能研发协作平台。我们以人工智能技术为核心,致力于通过AI场景化繁为简,提升协作效率,赋能广大研发团队。

从开发者的具体工作场景出发,LigaAI通过人工智能将开发者们从繁杂琐事中抽离出来,为其提供简洁、智能的协作体验,也为不同类型的组织提供数字化、个性化、智能化的项目协作平台。

了解更多敏捷开发、项目管理、行业动态等消息,关注我们的sf账号-LigaAI~ 或者点击LigaAI-新一代智能研发协作平台,在线申请体验我们的产品。
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Wesley13 Wesley13
3年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
美凌格栋栋酱 美凌格栋栋酱
5个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(