本文将对比介绍8款比较知名的效能度量管理平台:1.PingCode;2.思码逸;3.云效;4.金山云;5.Git;6.Jenkins;7.Bamboo;8.Docker。但在对比研发效能平台之前,我们先来聊一些研发效能度量工具选型前的必知事项。
一、软件研发效能度量工具选型前的必知事项
不少客户现在对工具平台的要求是端到端、全流程、一站式,功能要齐全,尽量保证功能页面不跳转。面对这样的需求,必须清楚一点:没有一家厂商能够在每个点上做到100分。项目管理、代码托管、测试管理、部署管理,每一个单点要做到专业化都非常难。
有时候对于一个企业来说一站式带来的效能优化并没有想象中那么高,单点的解决方案更好,而对于有些企业来说全流程的效能管理解决方案更符合需求。
1.基于关键痛点选型
笔者之前负责一个万人级开发规模的项目,客户早期采纳的方案是咨询+CI落地应用,经过评估:
1. 每20个人需要有一个CI管理员,1万人就需要配置500个CI管理员。
2. 每个CI管理员非常快1周能学会如何配置,500个人至少需要投入2500天来学习如何配置。
3. 10个人一批同时学都要学一年多才学完,按照IT人员的高流动率,可能永远都学不完。
这个项目的研发效能痛点不在大规模集成部署上,而是大规模的CI实施上,新的解决方案让团队无须学习,完成对应的授权后,1分钟就完成CI创建。通过快速落地CI能力,进而使大规模的集成部署效用发挥出来。
所以企业在采购研发效能平台之前,先需要弄清楚自己要用工具来解决什么人不能解决的、现在的工具不能解决的问题,对问题影响进行排序,找出关键的痛点。
可以通过以下一些问题来梳理:
1. 从需求到部署全流程哪些环节还没有工具,是人工在处理?
2. 哪些环节在过去是问题比较多的?
3. 团队、系统以及代码的规模如何?
4. 质量和技术债水平如何?
还有一些更专业的评估项,比如涉及到一些经验和基准的比较才能评估出可改进空间,建议寻求专业人士指导。如果没有非常明确的痛点,仅仅是满足数字化、线上化的发展需要,建议先选择标品、开源产品、免费产品,先从自动化构建部署做起,一点一点去驱动其它部分标准化和完善。
2.分开评估开发与集成部署效能需求
主要指各类PaaS和DevOps平台的区别。许多客户把微服务治理、监测这些应用开发层的东西也纳入到了研发效能平台需求,造成评估对象既有PaaS,又有DevOps,而DevOps不包含应用治理,很难直接通过功能对比出工具差别和优劣。
PaaS是将开发与部署集成到了一起,劣势就是基础设施、部署和应用框架耦合得太紧,升级不便。早期PaaS致力于支持各种语言运行时和多云环境,现在更多是微服务+K8S云原生套装组合,说明对紧耦合的平台来说,对多样化的支持是很难跟上各类语言及框架的发展速度的,只能聚焦在少量技术栈的装配。
PaaS更适用两种场景:
- 行业级应用平台:有一套固定的业务,也有稳定的技术栈选型,大量的工作是功能开发、扩展点实现,除非整个行业级应用平台的业务全不存在了,PaaS作为基础设施更稳定,效率更高。
- 三方开发者平台:PaaS可以提供一致性的环境供开发者构建、测试和部署。
总之,业务范围稳定、高一致性的要求的场景适用PaaS,业务变化多、技术多样性的场景,需要考虑构建部署平台与应用框架分离,使构建部署稳定、应用框架灵活,即优先考虑DevOps平台。
开发效能:覆盖从代码到测试完成。开发框架、语言、技术债、测试自动化程度、系统模块化程度等等,会影响到开发效能。
集成部署效能:系统规模、系统可测试性、接口测试自动化程度、流水线配置能力、并发构建能力、基础设施自动化能力、环境利用率等等,会影响到集成部署效能。
但无论开发还是集成部署,架构都会影响到研发效能的优化,通常还需要对架构进行评估和治理。
3.明确研发效能工具定位
部分客户不太清楚买的究竟是什么,一揽子解决方案来了最后却见不到效果。对研发效能工具来说,可以按照价值分层进行定位,再明确预期和具体的实施计划。
3.1 战略级定位
研发在企业中属于关键活动、核心部门,完全自有人员,研发效能决定公司营收。
在这种情况下,需要通盘考虑研发效能工具完整的能力项支持、流程与实践落地,并需要持续通过优化治理保持行业的名列前茅性。
建议采购的组合是:主流稳定的商业工具一次性采购+咨询解决方案+持续评估服务。
3.2 运营级定位
研发在企业中提供支持活动,服务业务部门,部分自有人员,研发效能决定内部满意度。
大部分IT还属于成本中心,效能痛点包括累积的技术债、遗留系统以及需求质量,当然也包括发布方面的问题;对研发效能工具的需求来说,更倾向于项目管理与资源分配的优化,各种各样技术栈的支持、定制需求,以及内部的能力提升与沉淀。
建议采购的组合是:可二次开发的工具/开源工具链+运营优化咨询方案+开发服务+内部能力培养。
3.3 管理级定位
包括只有少量项目或仅作供应商管理的活动,研发效能的重点在于需求管理和跟踪,以及绩效评价。
建议采购的组合是:项目管理工具+研发管理报表。
如有尚未覆盖的部分,欢迎补充。
4.合理制定预算
最后补充谈谈在选型与采购的过程中,企业还需要仔细评估对方的工具哪些是可销售部分。不得不提及的是,当前大量的研发效能工具是基于开源框架进行二次封装,隐藏的问题包括:
- 是否有销售、商业使用的授权许可。
- 销售方能否解决开源框架自身的问题,包括升级、缺陷等。
- 如果对方的产品是自有开源,需要明确授权许可的范围和付费服务范围、采购模式。
当然更重要的是弄清楚供应商究竟卖的是什么,是集成功能还是服务,这样更容易针对性地评估工具的实际成本与价格,以制定合理的预算。几点参考:
- 具体应用开发框架的集成不属于产品,而属于一种经验,即使买了产品也需要学习,可以通过招聘有相关经验的人员来获得。
- 开源产品有相当高的集成成本,但仅需集成一次,应对集成进行付费,具体可以参考集成的工作量。
- 工具的作用不是直接替代某个具体的岗位或人,而是节省某些活动的时间,并提供7X24的处理能力。
二、国内一些比较知名的效能管理工具对比
1.PingCode
这是国内最近几年比较火的一站式研发管理平台,产品矩阵中为研发效能管理专门打造了一款工具,能够满足企业研发效能评估、研发团队效能度量、项目交付数据分析、个人效能指标统计等场景的需求。
PingCode 在研发效能管理上功能包括:自动采集研发全生命周期数据、丰富的研发效能度量指标体系(比如交付质量、交付效率、交付能力,流程上覆盖了需求、开发、CI/CD、测试、发布)、自定义的数据分析报表、建立效能度量分析模型。
其优点是:
- 能够帮助企业打造效能度量、分析、回顾、改进的 MARI 闭环;
- 提供覆盖端到端的交付效能度量体系;
除此以外,PingCode 是一款覆盖研发全生命周期的项目管理系统,被广泛用于需求收集、需求管理、需求优先级、产品路线图、项目管理(敏捷/kanban/瀑布)、测试管理、缺陷追踪、项目文档管理、效能度量、目标管理等领域。并且集成了github、gitlab、jinkens、企微、飞书等主流工具,也就是说我们能在需求下面关联代码,关联集成信息,在飞书查看通知等。
同时在国产化方面支持信创、麒麟等;以及支持私有部署、定制化以及saas等购买方式;
官网:PingCode
2.思码逸
国内的一款研发效能平台,这是虽然是一个单点工具,但支持灵活组合DevOps工具,从而搭建非常适合你的研发平台。思码逸为研发团队提供了研发数据汇总分析的一站式入口,度量指标包括效率、质量及人才三方面,从高管、团队Leader、项目/产品经理、开发者等视角,帮助研发团队各角色成员客观、全面地洞察研发流程及成果。
3.云效
云效是云原生时代一站式 BizDevOps 平台,产研数字化同行者,支持公共云、专有云和混合云多种部署形态。PingCode 类似,为效能度量专门打造一个管理工具。提供的交付过程观测和研发效能度量、分析能力,为项目管理、研发管理场景下进行过程跟进、效能改进时提供可视化数据依据。
效能洞察的原始数据来自云效用户在项目协作 Projex、代码管理 Codeup 等云效其他应用中的日常协作、研发行为,能够直观地反映企业的整体研发进展情况,最大化发挥团队优势。
官网: https://www.aliyun.com/product/yunxiao
4.金山云
它官网的介绍是:一站式研发效能平台,提供从产品规划到部署上线的全流程工具链,更融合多年互联网研发实践,提供咨询、培训完整服务。让您的企业轻松通过Devops转型实现研发效能快速提升,加速业务成功。
软件优势:
- 提高研发效率:一站式Devops工具链,融合多年研究效能领域的丰富实践,告别拼凑低效的工具,让协同研发效能大幅提升
- 资源利用率更高:基于容器技术,底层计算资源按需创建、使用和释放,提升资源使用效率,大幅降低IT成本
- 降低运维成本:对底层计算资源的屏蔽,让您和团队无需关注底层计算资源运维,降低运维成本 更快的响应速度:强大的持续交付能力保障您和团队能够快速的响应市场需求变化,交付价值。弹性部署和动态伸缩能力,让您的服务秒级响应业务流量变化
官网: https://www.ksyun.com/nv/solution/EDEP.html
除此以外,企业还可能使用开源或者自研效能工具平台,在搭建自研工具平台时,并非所有工具都需要进行自研,重点考虑现有工具是否能够完成企业对研发工具平合的特定需求,而在进行工具选型时,一般也可以延伸至其他商业工具,当然还是希望完成全生命周期工具平台搭建的企业是云服务提供商。一般企业搭建自研工具平台的重点是功能的集成,而不是所有研发工具平合的子领域都需要从零自行研发。
5.Git
Git 是较受欢迎的DevOps工具之一,广泛应用于整个软件行业。它是一个分布式SCM(源代码管理)工具,深受远程团队和开源贡献者的喜爱。Git允许你跟踪开发工作的进度。您可以保存源代码的不同版本,并在必要时返回到以前的版本。你可以创建独立的分支,在上线前将新特性合并到分支。
6.Jenkins
Jenkins 是许多软件开发团队的优选DevOps自动化工具。它是一个开源CI / CD服务器,可以在自动化交付流程的不同阶段使用。Jenkins受欢迎的主要原因是其巨大的插件生态系统。目前,它提供了1000多个插件 ,集成了几乎所有DevOps工具,从Docker到Puppet。
7.Bamboo
Bamboo是Atlassian的CI / CD服务器解决方案,具有许多与Jenkins类似的功能。两者都是流行的DevOps工具,可以在自动化交付流程的不同阶段使用。然而,Jenkins是开源的,但Bamboo得按需收费。
8.Docker
Docker 是2018年的头号容器。它也被认为是最重要的DevOps工具之一。Docker在IT科技圈广受欢迎,主要是因为它使分布式开发成为可能,并能使应用程序部署自动化。它使应用程序部署过程变得更便携更安全。Docke应用程序也独立于操作系统和平台。您可以使用Docker容器而不是VirtualBox等虚拟机。
以上就是关于如何选择研发效能平台,以及国内主流的一些研发效能管理平台的一些内容。
部分内容整理自《 研发效能平台选型三大关键事项 》作者/陈加兴