EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
在数字化的转型浪潮中,开发人员的生产力越来越被企业重视,提升团队研发效能、缩短TTM成为了实现企业战略目标的重要措施。企业中的研发团队从每个团队各自试验、探索,逐步整合基础设施、最佳实践、企业规范等,形成企业内部研发平台,为所有团队开放企业核心资源和提供DevOps能力,使研发团队更专注于业务价值的交付。 经过多年的业务能力建设、不同的技术投资和整合,许多传统组织被遗留技术、人员、流程和文化所困扰,这阻碍了企业进行创新和试验。他们看到互联网新玩家冲入行业赛道,并取得指数级增长,蚕食其耕耘多年的市场份额。这些新玩家没有负担,他们更快、更精益、更勇于尝试,并采用平台化思维。 在与这些企业或组织的合作经验中,我们观察到他们的平台化战略转型往往会经历三个演进过程,首先他们使用成熟的工具链提升研发速率,紧接着整合企业资源,构建研发平台实现效能度量和持续改进,并最终尝试开放技术平台打造共赢生态。 研发工具链在一个研发团队运行的早期,由于经验、成本、进度等限制,没有较为成熟的交付体系与研发工具,尤其是规模较小的团队,他们更倾向于选择市面上已有的一些研发工具。不论是FOSS(免费开源软件)还是COTS(商业现成产品),总是希望采用一些开箱即用的成熟产品,来提高整个研发交付的效率,尽可能降低研发工具自身复杂度对交付带来的影响。 不论一个团队规模如何,有几类常用的工具会贯穿整个研发与交付流程。我们可以简要的分为这几大类: - 项目管理类
6 M, L- S0 ^$ N& \2 P在项目协作、需求管理方面,很多团队都采用了Jira,Confluence等Atlassian系工具,或TFS的微软系工具。国内企业常用阿里云效、禅道等。这类工具的功能大而全,能满足绝大多数团队的需求,并且有成熟的售后支持。
3 s' I$ x1 t1 O( ~" D此外,还有一些功能较轻量级的管理工具,例如Trello,Mingle,github.pages等,只提供看板维护、文档展示等较为单一的功能,使用时需要在这些工具间来回切换。 - 研发构建类; q0 M! R/ h- z& u6 O
越来越多的团队开始实行敏捷开发,为了缩短发布周期,而逐步推动持续集成与持续部署,相应的研发工具也慢慢推广开来。如版本控制工具Git;构建工具Maven,Gradle;CICD工具Jenkins, GoCD, BuildKite, BamBoo等。 - 代码测试类9 C$ T. @, B9 x8 f8 w
由于人工手动测试耗时耗力,容易出错,特别是在上线前的回归测试,往往是重复枯燥的体力劳动,我们倾向于将更多的测试自动化,集成在流水线中。许多团队会在用Gatling,Selenium,Cucumber,Jmeter等测试工具,从安全、性能、UI、业务等角度全面覆盖,并将测试过程自动化。 - 部署运行类
4 r H, @0 s5 A% w7 U基础设施维护也是较为繁重的工作,从虚拟化到容器化,再到无服务化,大大减轻了运维的成本和复杂度。如Vagrant,Ansible,Docker,Kubernetes,Istio等工具,近年来被较多采纳并实践。 - 监控运维类
6 c/ W- e9 E2 \ U6 I当软件运行起来后,需要持续地进行监控和维护,其工具也非常丰富,如Prometheus,Logstash,ZipKin,Zabbix等。
- O' P1 P5 @3 |0 E' `4 U7 J
% f! m& s4 S- J& T6 j, q( e |