飞天发布时刻:2024年 Forrester 公有云平台Wave™评估报告解读 了解详情
写点什么

500 位软件开发工程师的声音:微服务和 CI/CD 依旧是最爱

  • 2019-02-18
  • 本文字数:1594 字

    阅读完需:约 5 分钟

500位软件开发工程师的声音:微服务和CI/CD依旧是最爱

近日,Atlassian 发布软件开发相关调查报告,本报告收集了 500 多位软件开发人员的意见,对软件开发的部署、测试等发展现状进行总结。结果表明,软件开发工程师的价值意识已经觉醒,开始注意客户价值的重要性。


近几年,软件开发领域的声音似乎渐渐被人工智能、物联网、云计算等新兴技术遮掩,软件开发工程师这一群体的话语权越来越少。本周,InfoQ 曾就“软件开发是否有价值”展开讨论(《一个沉重的问题:软件开发到底还有价值吗?》),传统的开发方式束缚着不少软件开发工程师的发展,软件质量和价值在逐渐降低。


本次调查,93%的开发工程师表明比其他任何人都重视客户满意度,但是,其中 60%工程师表示虽然重视,但客户满意度几乎无法准确衡量。正是这种意识的觉醒,让软件开发领域开始不断以更高效,可衡量的方式一次又一次提高软件价值。


在现代软件开发过程中,开发新功能会优先考虑客户体验,这与新功能的发布时间一样重要。73%的软件开发团队会花费 10%到 50%的时间更新和升级自托管软件。当团队不处于维护模式时,92%的团队必须每周(甚至更频繁地)提供状态更新。平均而言,Jira 客户依赖较少的状态更新工具,平均为 2.3 种,非 Jira 用户大概会使用 3.3 种。

软件开发新趋势

微服务:单体应用 monolith 在下降

平均而言,软件和 IT 团队使用 4.3 种工具将代码从开发转移到客户生产环境,这个数字其实已经很多了。大规模的单片代码库会让连续交付变得非常困难和耗时,monolith 方式会限制团队速度,集成不同的服务和功能可能导致难以识别的错误,开发人员通常不会密切了解彼此的工作,扩展构建和测试也可能会使部署速度变慢。


研究表明,71%使用微服务架构的软件和 IT 团队认为,测试或部署过程比较容易,这是因为,当团队利用 PaaS 服务时,其中一些重要部署功能会直接进入平台。基于微服务的架构允许小型自治团队独立开发、部署和扩展其服务。

CI/CD:手动测试已经过时,自动测试正在进行中

众所周知,我们生活在一个消费者期望技术不断更新的时代。如果团队做不到,他们将会很容易被取代,想想自己在过去几年换了多少部手机就明白了。


软件开发出现早期,团队无法经常更新的主要原因之一是手动测试,自动测试覆盖率不足,额外的手动流程以及缺乏构建和部署管道自动化导致手动测试出现问题的团队占比 62%。


进入持续集成和持续交付时代,团队可以自动从源代码到生产环境发布高质量软件实践。CI/CD 正迅速成为满足不断增长的客户期望的重要手段,47%的团队通过 CI/CD 解决方案更快地发布变更并接收客户反馈,另有 57%的受访者表示采用 CI/CD 解决方案可以减少错误或中断,实时提供有关部署和发布状态的信息工具允许团队定期发布客户满意的功能。

Feature Flagging:降低风险,提高客户满意度

软件开发团队面临的另一个障碍是以安全,增量和可衡量的方式推出新功能,75%的软件和 IT 团队在调查中表示会在发布时遇到错误、缺陷或延迟问题。相反,63%使用 Feature Flagging 的团队在调查中表示,拥有更好的功能测试或更高质量的软件,这在很大程度上是因为大多数团队习惯同时为所有客户推出新功能。


Feature Flagging 允许团队向少部分客户(例如 25%)推出新功能,以便将问题和错误风险分散,并在将其推广到整个客户群之前评估客户反馈。

结果驱动型开发:客户价值优于团队成果

几乎所有软件开发团队都希望提供能够提高客户满意度的功能,但缺乏跟进该目标的方法,这种困境反映了按产出衡量工作的悠久历史,而不是客户结果(即客户价值)。


事实上,结果驱动型开发的概念已经被提出多年,软件开发团队正在逐渐将焦点从开发速度和功能交付转移到所创建的客户价值上,希望采用以结果为导向的实践团队应该考虑提供实时构建和部署工具,围绕客户采用数据分析以及内置 Feature Flagging,这一方法预计在未来会被更多 IT 团队采用。


参考链接:https://www.atlassian.com/blog/software-teams/modern-software-development-trends


2019-02-18 11:186725
用户头像
赵钰莹 极客邦科技 总编辑

发布了 892 篇内容, 共 663.5 次阅读, 收获喜欢 2688 次。

关注

评论

发布
暂无评论
发现更多内容

IT人才知道的二进制爱情,羡慕ing

ioik

爱情 二进制 java; 签约计划第三季

什么是好的应用程序?

flow

签约计划第三季

最好的编程语言

flow

签约计划第三季

在常州“超级虚拟工厂”,中国智造正在“原力觉醒”

脑极体

Nacos配置中心之服务端长轮询处理机制

急需上岸的小谢

8月月更

使用 Monaco Editor 开发 SQL 编辑器

CRMEB

数据中台建设(十一):数据中台解决方案参考与未来发展方向

Lansonli

大数据 数据中台 8月月更

百家号打击挂载恶意导流链接行为,必须严厉打击恶意挂链灰产

石头IT视角

云渲染平台是互联网和云计算的发展产物

Finovy Cloud

云渲染 渲染农场 渲染价格

技术内幕 | StarRocks Community Champion、阿里云技术专家解读 Optimizer 实现

StarRocks

数据库

C++深拷贝与浅拷贝,初始化列表,对象成员,静态成员相关分析

CtrlX

8月月更

Linux的难题,终于有解了!

Jackpop

C++为什么始终无法取代 C 吗?

Jackpop

分析LED透明屏VS常规显示屏优劣

Dylan

LED LED显示屏 led显示屏厂家

如何设置跨域隔离启用 SharedArrayBuffer

JAVA活菩萨

Java 程序员 后端 大厂技能 大厂实践

设计模式:里氏替代原理(LSP)

flow

签约计划第三季

VS Code如何打造C/C++开发环境?

Jackpop

关于 SAP UI5 floating footer 显示与否的单步调试以及使用 SAP UI5 的收益

汪子熙

前端开发 SAP SAP UI5 ui5 8月月更

如何管理LAXCUS计算机集群

JAVA活菩萨

Java 程序员 后端 大厂技能 大厂实践

如何进行技术面试?

flow

签约计划第三季

为什么互联网大厂一边疯狂裁员,一边不停招聘?

Jackpop

Docker基础:Docker 常用命令梳理

天使不哭

#开源 8月月更

华为研究院19级研究员几年心得终成趣谈网络协议文档,附大牛讲解

JAVA活菩萨

Java 程序员面试 大厂技能 秋招 大厂面经

备份和恢复Kubernetes集群中的Etcd数据

JAVA活菩萨

Java 程序员 后端 大厂技能 大厂实践

为什么企业需要使用 Wiki 工具?

Geek_da0866

Kubernetes微服务Pod 影响力

CTO技术共享

开源 Kubernetes 集群 签约计划第三季 8月月更

云渲染掀起虚拟演唱会新热潮

3DCAT实时渲染

React组件应用于Spring MVC工程

JAVA活菩萨

Java 程序员 后端 大厂技能 大厂实践

架构实战营课程学习感受

极客土豆

SRv6网络典型部署场景

穿过生命散发芬芳

8月月更 SRv6

Service Mesh迁移原则

阿泽🧸

Service Mesh 8月月更

500位软件开发工程师的声音:微服务和CI/CD依旧是最爱_语言 & 开发_赵钰莹_InfoQ精选文章