译者 | 布加迪
审校 | 重楼
随着组织越来越依赖数字工具和解决方案来提高效率和盈利能力,它们对开发人员时间的需求从未如此之高。由于许多组织处于持续发布新品或修补漏洞的节奏中,开发人员面临在紧迫的期限内迅速交付高质量产品的巨大压力。这可能会在关键时刻给原本就不堪重负的技术人才带来巨大压力。
随着产品需求的增加,开发人员的工作量也在加大。事实上,最近的一项调查显示,52%的开发人员提到职场倦怠是开发人员同事离职的原因。对于组织来说,简化和完善DevOps管道和流程以改善整体开发人员体验并减轻工作压力已经变得至关重要。
1. 拥抱通过设计确保安全
组织必须确保其DevOps管道与CI/CD相一致,以交付稳定而安全的软件。CI/CD原则通常借助自动化帮助软件开发团队更高效地创建、测试和部署应用程序。
此外,拥抱“通过设计确保安全”理念,并在开发周期中将安全测试“左移”,可以帮助开发人员减少产品生命周期后期收拾残局的需要。如果在开发周期的早期阶段强调代码的安全和测试,开发人员可以显著减少成立紧急应对部门以解决关键事件的需求。
采用自动化可以帮助开发人员更进一步。回归测试和单元测试等流程实现自动化,意味着可以一次启动多个脚本,并且可以批量运行测试。这便于加快反馈循环,并腾出开发人员的时间来加快软件交付,专注于更高价值的任务。
2. 解决工具链的复杂性
在软件开发周期的每个阶段,通常会部署GitHub和Jenkins之类的专用工具,以提高软件交付的速度和准确性。虽然当组织采用各种工具时,这类工具使开发人员能够更有效地工作,但随着知识变得孤岛化,组织灵活性有时会受到阻碍。
许多组织、尤其是中小企业严重依赖少数人的知识。当这些人不在或离开时,这就成了重大挑战。当新成员加入团队时,这也会带来困难,因为他们常常依赖拥有更多知识的同事,这可能会增加工作量和复杂性,同时限制知识的传播。
引入内部开发人员平台(IDP)为开发人员在安全兼容的环境中测试新软件提供了单一空间,从而提供了一种潜在的解决方案。借助IDP,组织内的所有开发人员都可以根据标准处理参数明确定义的内部问题,从而为现有流程确保了一致性。这使开发人员能够专注于构建和部署代码,不必操心基础设施和工具链管理,并为他们提供了在预定的限制范围内进行创新的自由。
3. 开发人员平台:外包还是自我管理?
开发人员平台在软件开发管道的每个阶段为组织提供了显著的好处。通过为开发人员设定要遵守的标准,这种平台可以简化工作流程并增强协作,从而提高生产力。在全面部署之前,组织应该考虑以下因素:
- 速度和敏捷性:外包平台提供更快的设置,而自我管理的平台可能需要更长的时间。
- 定制:自我管理的平台为企业在其环境中提供更大的控制度和灵活性,使它们能够满足特定的业务需求。
- 可扩展性:外包平台可以轻松地增减服务,因为它们是云原生平台,而自我管理的平台需要人工干预来调整服务扩展。
- 支持和维护:外包平台随带内置支持,而自我管理的平台需要内部专长来维护。
选择合适的开发人员平台并不是容易做出的决策,但是评估这每个因素有助于缩小能够带来最大成效的平台的范围。
4. 更具协作性的方法
在许多情况下,开发人员在孤岛环境中工作,在不了解完整的基础设施和集成需求的情况下被分派需要完成的任务。这可能导致严重的延迟和流程效率低下。
然而,如果打破团队之间的这些障碍,组织可以打造一种分担责任和持续改进的文化。加强跨职能部门的沟通确保每个部门在目标、工作流程和流程上步调一致。随着越来越多的团队合作,可以更快地发现和解决难题,这有助于为开发人员提供更顺畅的管道来交付优质代码。
这个过程可以通过部署AI和自动化工具来加快。开发人员可以借助预定模板,使用自动化工具在团队之间发送消息,从而节省大量的时间。生成式AI还可以生成状态更新,让不同部门(包括组织内外的关键利益相关者)得以深入了解每项任务的进展。这便于团队迅速分享反馈意见,并获得即时支持。由于所有部门步调一致,尽量减少了沟通不畅,可以更快速地解决问题。
减轻开发人员的工作量
开发人员是数字经济的支柱,随着企业越来越依赖新的服务和软件,他们的重要性只会有增无减。然而在客户需求高、期限紧的原本很复杂的环境中,开发人员面临着巨大的创新压力。实施减轻开发人员依赖手工流程程度的解决方案将是减轻开发人员压力的关键。
AI等技术将使开发人员得以专注于提供价值,减少手工劳动,使他们能够释放创造方面的潜力,并更有能力交付创新的技术。
原文标题:4 Ways Organizations Can Simplify Their DevOps Pipeline,作者:Mandi Walls