EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
选型前必知项不少客户现在对工具平台的要求是端到端、全流程、一站式,功能要齐全,尽量保证功能页面不跳转。 面对这样的需求,先需要了解没有一家厂商能够在每个点上做到100分,项目管理、代码托管、测试管理、部署管理,每一个单点要做到专业化都非常难,Atlassian最早推出Jira+Bitbucket+Bamboo三件套,解决项目管理、代码托管与构建一体化,但随着各类厂商工具与开源的发展,Bitbucket、Bamboo就很明显地落后于GitHub、GitLab与Jenkins了,专业人做专业事,没有一个笼统的东西能胜过多个专业的东西,工具专业化优先于工具笼统化,一站式带来的效能优化并没有想象中那么高,效能平台应该对准企业自己的效能痛点。 一、基于关键痛点选型笔者之前负责一个万人级开发规模的项目,客户早期采纳的方案是咨询+CI落地应用,经过评估: - 每20个人需要有一个CI管理员,1万人就需要配置500个CI管理员。
- 每个CI管理员最快1周能学会如何配置,500个人至少需要投入2500天来学习如何配置。
- 10个人一批同时学都要学一年多才学完,按照IT人员的高流动率,可能永远都学不完。" S H( N% q8 g8 L" y' \/ i
这个项目的研发效能痛点不在大规模集成部署上,而是大规模的CI实施上,新的解决方案让团队无须学习,完成对应的授权后,1分钟就完成CI创建。通过快速落地CI能力,进而使大规模的集成部署效用发挥出来。 所以企业在采购研发效能平台之前,先需要弄清楚自己要用工具来解决什么人不能解决的、现在的工具不能解决的问题,对问题影响进行排序,找出关键的痛点。可以通过以下一些问题来梳理: - 从需求到部署全流程哪些环节还没有工具,是人工在处理?
- 哪些环节在过去是问题比较多的?
- 团队、系统以及代码的规模如何?
- 质量和技术债水平如何?
# K( w' J0 r5 U5 l, |9 @5 y
还有一些更专业的评估项,比如涉及到一些经验和基准的比较才能评估出可改进空间,建议寻求专业人士指导。 如果没有非常明确的痛点,仅仅是满足数字化、线上化的发展需要,建议先选择标品、开源产品、免费产品,先从自动化构建部署做起,一点一点去驱动其它部分标准化和完善。 二、分开评估开发与集成部署效能需求主要指各类PaaS和DevOps平台的区别。许多客户把微服务治理、监测这些应用开发层的东西也纳入到了研发效能平台需求,造成评估对象既有PaaS,又有DevOps,而DevOps不包含应用治理,很难直接通过功能对比出工具差别和优劣。 PaaS是将开发与部署集成到了一起,劣势就是基础设施、部署和应用框架耦合得太紧,升级不便。早期PaaS致力于支持各种语言运行时和多云环境,现在更多是微服务+K8S云原生套装组合,说明对紧耦合的平台来说,对多样化的支持是很难跟上各类语言及框架的发展速度的,只能聚焦在少量技术栈的装配。 PaaS更适用两种场景: - 行业级应用平台。有一套固定的业务,也有稳定的技术栈选型,大量的工作是功能开发、扩展点实现,除非整个行业级应用平台的业务全不存在了,PaaS作为基础设施更稳定,效率更高。
- 三方开发者平台。PaaS可以提供一致性的环境供开发者构建、测试和部署。, w" M. D( @6 p: l F
总之,业务范围稳定、高一致性的要求的场景适用PaaS,业务变化多、技术多样性的场景,需要考虑构建部署平台与应用框架分离,使构建部署稳定、应用框架灵活,即优先考虑DevOps平台。 开发效能:覆盖从代码到测试完成。开发框架、语言、技术债、测试自动化程度、系统模块化程度等等,会影响到开发效能。 集成部署效能:系统规模、系统可测试性、接口测试自动化程度、流水线配置能力、并发构建能力、基础设施自动化能力、环境利用率等等,会影响到集成部署效能。 但无论开发还是集成部署,架构都会影响到研发效能的优化,通常还需要对架构进行评估和治理。 三、明确研发效能工具定位部分客户不太清楚买的究竟是什么,一揽子解决方案来了最后却见不到效果。对研发效能工具来说,可以按照价值分层进行定位,再明确预期和具体的实施计划。 战略级定位研发在企业中属于关键活动、核心部门,完全自有人员,研发效能决定公司营收。 在这种情况下,需要通盘考虑研发效能工具完整的能力项支持、流程与实践落地,并需要持续通过优化治理保持行业的领先性。 建议采购的组合是:主流稳定的商业工具一次性采购+咨询解决方案+持续评估服务。 运营级定位研发在企业中提供支持活动,服务业务部门,部分自有人员,研发效能决定内部满意度。 大部分IT还属于成本中心,效能痛点包括累积的技术债、遗留系统以及需求质量,当然也包括发布方面的问题;对研发效能工具的需求来说,更倾向于项目管理与资源分配的优化,各种各样技术栈的支持、定制需求,以及内部的能力提升与沉淀。 建议采购的组合是:可二次开发的工具/开源工具链+运营优化咨询方案+开发服务+内部能力培养。 管理级定位包括只有少量项目或仅作供应商管理的活动,研发效能的重点在于需求管理和跟踪,以及绩效评价。 建议采购的组合是:项目管理工具+研发管理报表。 如有尚未覆盖的部分,欢迎补充。 四、合理制定预算在选型与采购的过程中,企业还需要仔细评估对方的工具哪些是可销售部分。不得不提及的是,当前大量的研发效能工具是基于开源框架进行二次封装,隐藏的问题包括: - 是否有销售、商业使用的授权许可。
- 销售方能否解决开源框架自身的问题,包括升级、缺陷等。
- 如果对方的产品是自有开源,需要明确授权许可的范围和付费服务范围、采购模式。, T' j+ }: x" o
当然更重要的是弄清楚供应商究竟卖的是什么,是集成功能还是服务,这样更容易针对性地评估工具的实际成本与价格,以制定合理的预算。几点参考: - 具体应用开发框架的集成不属于产品,而属于一种经验,即使买了产品也需要学习,可以通过招聘有相关经验的人员来获得。
- 开源产品有相当高的集成成本,但仅需集成一次,应对集成进行付费,具体可以参考集成的工作量。
- 工具的作用不是直接替代某个具体的岗位或人,而是节省某些活动的时间,并提供7X24的处理能力。1 I- z' E1 }. k/ C9 o( W$ o! u" [4 \
6 ? g8 T; q/ C: Z/ K |