选择版本控制系统的7个步骤

描述

当今的嵌入式软件开发过程非常复杂,涉及多个芯片设计人员、工程师、开发人员和测试人员团队,每个团队都以不同的速度工作,并使用各种设计和开发工具。版本管理——通常被称为软件配置管理 (SCM)——系统已经成为这个关键过程的一个组成部分。它们是全面而灵活的工具,可帮助保持大量信息、项目(更不用说成本)正常进行,即使团队分散在不同的位置和时区,也能更好地协调和协作。简而言之,版本控制可以为企业提供竞争优势,实现频繁发布和更快的产品上市时间。

但是,一些组织可能会质疑他们的系统是否能胜任这项工作。对于那些几年没有审查其版本控制要求的人,或者由于与多个遗留系统的合并和收购,绝对值得看看市场的最新发展。

1. 确定为什么需要新版本控制

这听起来似乎是一个显而易见的问题,但是对于“第一次”使用版本控制(越来越少)的用户和例如继承了多个版本控制工具并且现在想要在单个系统上进行标准化的公司之间会有不同的目标以降低复杂性和成本。另一个驱动因素可能是希望与合作伙伴或客户在同一版本控制平台上进行协作。其他问题包括全球扩张(需要支持跨境协作的系统变得更加紧迫),或者希望拥有支持持续交付和敏捷等发展趋势的版本控制系统。

2. 从版本控制中定义你需要什么

从一开始,就必须明确嵌入式行业的要求。从顶层的角度来看,嵌入式设计人员通常需要支持快速上市的版本控制系统,但在更“基层”的层面上,其他需求包括与 IDE 等工具的集成、缺陷跟踪和持续集成、快速原型设计和基于组件的设计。在版本控制系统中包含电子图、芯片组设计和相关文档的能力可能也很重要。

还要考虑是否需要与第三方协作(例如,如果在 OEM 或分包商环境中工作)以及需要考虑哪些平台和操作系统(是否需要支持 Git 等开源软件?)。

3. 定义你的用户

现在使用版本控制系统的人的范围比以往任何时候都要广泛。传统上,它是软件工程师的唯一领域,但如今,版本控制已遍及组织的每个部分。虽然需要使用版本控制的人员的具体工作角色因组织而异,但在嵌入式设计市场中,典型用户范围从技术人员到营销和产品管理人员(负责将产品推向市场) ) 和外部第三方(例如,独立测试机构)。

这是一个需要考虑的快速用户清单:

软件开发人员、软件架构师、系统管理员和其他 IT 人员

质量检查团队

运营和生产团队

非技术内容生产者(如设计师和营销团队)

非技术支持和管理人员

管理

外部贡献者(例如自由职业者和分包商)

合作伙伴和客户

这些角色中的每一个都将具有与版本管理系统交互的首选界面和流程,无论是通过 GUI、无缝插件还是允许使用离线版本控制工具的集成,同时保持与企业的完全责任版本控制系统。每个角色可能还需要不同级别的培训和支持。采访不同部门的员工,了解他们面临的挑战以及他们在产品生命周期中与版本控制交互的位置。或者,考虑邀请来自不同工作职能的代表组成“版本控制工具选择团队”。

4. 评估过程

最佳实践要求选择三到五个供应商进行评估。更多的可能会变得压倒性的,更少的也会有问题,因为它可能会引发关于如何做出决定的问题。三迫使选择过程缩小到“好、更好、最好”。(可以说,在政治主导的组织中,如果有温和的倾向,则可以将您的真正选择作为中间选项。)

接下来,我们将继续进行预定的演示,但请确保提前提供要求和流程,以便演示真正适合您组织的需求。当然,跳过此步骤并直接进行免费试用是一种选择,但重要的是,演示的优势在于将面孔呈现给软件并提供与供应商交互的感觉(对未来的支持电话很有用) 。

做出可能的选择后,要求免费试用,此时将其保留给试点团队通常是明智的,或者要求不同的利益相关者评估不同的工具并进行报告。

5. 计算实际成本

计算投资回报率可能很复杂,因为需要考虑很多因素。供应商应该能够提供帮助,但要确保涵盖所有内容,包括管理、硬件、项目托管、培训、咨询和支持成本。此外,请注意,虽然开源软件可能是“免费的”,但它肯定不能免于这些相关成本(此外,它是否提供了所需的性能、可靠性和可扩展性?)。

确保涵盖所有后勤查询。了解提供新软件功能和更新的频率,以及后者是否包含在价格中。明确硬件和网络要求,并确保满足安全和知识产权保护需求。要求明确解释许可、固定费用、订阅或其他支付模式。支持费用是多少?随着使用量的扩大,费用是否可以预测?检查可扩展性:虽然一些版本控制系统非常适合支持小型团队,但一旦要求它们处理大型数据存储库和更大的团队,它们可能会“崩溃”。您的供应商是否需要支持 5、50、500 或 5,000 个用户?

如果从多个现有系统迁移,那么投资咨询服务可能是明智之举,无论是来自供应商还是其首选合作伙伴之一。例如,组织可以拥有六个遗留版本控制系统,这通常是并购的结果,并且将所有遗留数据纳入一个新的版本控制环境当然不是不可能的,但它可能具有挑战性。

6. 支持和社区

鉴于版本控制通常是产品开发过程的核心,因此支持需要一流,因此请四处询问并了解其他用户对相关供应商提供的支持的看法。询问供应商是否还提供社区、培训、最佳实践资源、咨询和用户活动。在第三方集成、咨询、客户构建的模块和论坛方面检查工具周围“生态系统”的活力。

7. 它会产生真正的影响吗?

最后但同样重要的是,最后的检查点很重要,因为版本管理系统可以提供竞争优势,使用户能够更快地将产品推向市场。版本控制供应商应该被视为战略合作伙伴,因为毕竟他们被委托给他们客户的宝贵 IP。选择版本控制工具可能很诱人,因为它已经很成熟,或者因为它是以前工作或主要竞争对手使用的工具。

询问嵌入式设计市场的客户示例。供应商真的了解你的市场空间吗?参加用户活动和会议是非正式地查看参考资料的好方法。寻找分析师报告来衡量竞争者的实力、可信度和寿命。产品组合多久更新一次,供应商是否有前瞻性的产品路线图?

总之,更改版本管理系统似乎令人生畏和复杂,但通过遵循一些简单的“最佳实践”步骤,这意味着嵌入式计算设计人员可以获得现代版本控制系统所提供的可观的商业和运营优势——就在其业务功能中。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分