《极狐&InfoQ:中国企业研发高效能白皮书(合集)(169页).pdf》由会员分享,可在线阅读,更多相关《极狐&InfoQ:中国企业研发高效能白皮书(合集)(169页).pdf(169页珍藏版)》请在三个皮匠报告上搜索。
1、1中国企业研发高效能白皮书近年来,中国企业研发正在从粗放型走向精益型,研发工作的“高效能”成为几乎每个研发团队的共同追求。中国软件服务产业也在近 5 到 10 年中得到了飞速发展,技术服务的边界不断拓展,赋能高效研发的产品层出不穷,适合中国研发环境的技术服务体系在不断完善。从结果上看,中国企业正在高效能研发的路径上快速前进。本份报告以中国高效能研发企业为研究对象,尝试解读市场中具有代表性的高效能研发解决方案。本次报告由五个篇章组成,包括 CI/CD、ChatOps、企业级软件架构、Code Review、价值流管理与研发效能管理等五大主题。研究小组期待可以通过研究,帮助中国企业研发团队获得高效
2、能研发新知。4目录CONTENTSCI/CD 概念和背景介绍关于 CI/CD强痛点,推动 CI/CD 发展历经三阶段,平台型产品站上历史舞台CI/CD 赋能研发的四大抓手CI/CD 流程结构创新赋能研发效率050609101214CI/CD 行业发展概况CI/CD 市场蓬勃发展CI/CD 行业厂商矩阵逐步形成CI/CD 市场特征洞察CI/CD 中国市场格局行业发展推动市场需求呈现新特征151617171820极狐GitLab CI/CD,带您开启研发高效能使用极狐GitLab 前极狐GitLab CI/CD 介绍极狐GitLab CI/CD 四大核心优势极狐GitLab CI/CD 真实用户反
3、馈2223242532CI/CD 概念和背景介绍6研发团队提到降本增效,最直接想到的解决方案就是将一些繁琐、易错的工作,改造为持续自动化交付流程。而在研发团队传统交付过程中,“代码集成(Continuous Integration即为CI)”和“代码交付(Continuous Delivery即为CD)”可以说是很多团队最为头痛的问题。通常研发团队中会设置一位同事或者一个团队专门负责代码集成和交付工作。但往往因为项目规模、构建环境、大量细微错误积累等复杂因素,项目的集成和交付经常会成为压垮开发团队的最后一根稻草。有研究表明在软件开发早期,手动测试过多是导致开发团队开发效率低的主要原因之一。自动
4、测试比较少,研发过程缺乏构建和部署自动化,导致了研发团队手动测试容易出现大量问题。统计数据表明,62%的研发团队被这样的问题困扰。关于 CI/CD“所以,软件集成是一件高风险的、不确定的事情,国外甚至有个专门的说法,叫作集成地狱。也正因为如此,人们就更倾向于不做集成,这就导致开发末端的集成环节变得更加困难,从而形成了一个恶性循环。”开发者67 CD(Continuous Delivery)最早出现于2010年,Jez Humble和DavidFarley在持续交付一书中提及和定义了CD:持续交付是“一系列的原则与实践的集合;通过这个集合,团队能够在低成本、短时间及低风险的状态下以增量方式将软件
5、变更交到用户手上。”持续交付部分由版本控制、制品管理、变更管理、构建、持续集成、自动化测试、部署管理、流水线、持续交付工具等方面组成。关于 CI/CDCI 为 Continuous Integration 的英文缩写,意为持续集成。CD 最早Continuous Delivery 的英文缩写,意为持续交付;后来被认为可以代表 Continuous Deploy,意为持续部署。如今,CI/CD 一般为持续集成、交付和部署的简称。“CI(Continuous Integration)源于肯特贝克(Kent Beck)在1996年提出的极限编程方法(ExtremeProgramming)。顾名思义,
6、极限编程是一种软件开发方法,作为敏捷开发的方法之一,目的在于通过缩短开发周期,提高发布频率来提升软件质量,改善用户需求响应速度。”8关于 CI/CDCI/CD 这套软件工程思路和原则诞生后经常被同时提及,是更为优秀的软件开发方法,能够大大提高团队的工作效率和交付水平。持续集成(CI)是构建软件、完成初始测试等一系列工作,是通过小步快跑的方式,不断优化集成方式的过程。持续部署(CD)是将代码与基础设施相结合的过程,确保完成所有测试并遵循策略,然后将代码部署到预期环境中。CD经常被认为也同时代表持续部署即 Continuous Deploy。持续部署更进一步。一旦构建在 staging 环境中通过