写点什么

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

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

    阅读完需:约 5 分钟

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

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

近日,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:186630
用户头像
赵钰莹 InfoQ 主编

发布了 881 篇内容, 共 620.1 次阅读, 收获喜欢 2674 次。

关注

评论

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

基于阿里云 ASK 的 Istio 微服务应用部署初探

阿里巴巴云原生

阿里云 容器 微服务 云原生 服务网格

吃豆人游戏【附源码】

JavaPub

上新了 亚麻云 | 远程办公有点上头?解锁云上应用现代化的奥秘

亚马逊云科技 (Amazon Web Services)

远程办公 应用

常用的 Lambda 表达式案例解析,工作中都会用到!

CRMEB

小鸟飞行游戏【附源码】

JavaPub

3D赛车【附源码】设计实现

JavaPub

A New ETL Language -- Easy SQL

Bright

数据开发 ETL 大数据开发 EasySQL

固态硬盘和机械硬盘的区别(7大区别,简单易懂)

源字节1号

软件开发 前端开发 后端开发 小程序开发

git bisect:让你闭眼都能定位疑难 bug的利器

华为云开发者联盟

开发 bug git bisect 二分法定位

用户体验至上时代,银行的“主动出击”

博睿数据

金融 博睿数据 数据链DNA IT运维

俄罗斯方块【附源码】

JavaPub

Java实现一个打飞机的小游戏【附源码】

JavaPub

Java 实现 贪吃蛇 小游戏【附源码】

JavaPub

【等保测评】2022年北京正规等保测评机构新名单公布

行云管家

等保测评 北京

高危!Fastjson反序列化漏洞风险

源字节1号

软件开发

超级马里奥【附源码】

JavaPub

编程,不止有代码,还有艺术

华为云开发者联盟

数据库 倒排索引 GaussDB(for Influx) hint

大咖说·图书分享|阿里官方为你分享内部测试之道

大咖说

阿里巴巴 测试 开发

【技术干货】代码示例:使用 Apache Spark 连接 TDengine

TDengine

数据库 tdengine 开源 时序数据库

【等保测评】等保测评师怎么考,前景怎么样?

行云管家

网络安全 IT运维 等保测评 等保测评师

中科大脑知识图谱平台建设及业务实践

NebulaGraph

图数据库 知识图谱

深入解析 TiFlash丨多并发下线程创建、释放的阻塞问题

PingCAP

Java 实现 植物大战僵尸 小游戏【附源码】

JavaPub

Java

Java 实现 捕鱼达人 小游戏【附源码】

JavaPub

Java实现一个坦克大战的小游戏【附源码】

JavaPub

关于敏捷测试象限的“秘密”

BY林子

敏捷开发 敏捷测试 测试策略

给小白的 PG 容器化部署教程(上)

RadonDB

postgresql 容器化 数据库·

艾莫尔研究院基于Karmada的落地实践

华为云开发者联盟

云原生 Karmada 自动化集群管理

亚信安慧AntDB数据库斩获“最佳数据库品牌”大奖

亚信AntDB数据库

Java 实现 1024 小游戏【附源码】

JavaPub

大数据培训数仓实践 Kimball 维度建模

@零度

数仓 大数据开发

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