写点什么

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:186714
用户头像
赵钰莹 极客邦科技 总编辑

发布了 885 篇内容, 共 655.8 次阅读, 收获喜欢 2681 次。

关注

评论

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

2023年三个最佳的免费PostgreSQL GUI工具

wljslmz

6 月 优质更文活动

软件测试/测试开发丨Pytest结合数据驱动-Excel

测试人

程序员 软件测试 Excel 数据驱动 pytest

重磅!龙蜥社区联合 3 家理事单位发布人才培养计划,推出“龙蜥+”合作模式

OpenAnolis小助手

开源 生态 龙蜥社区 理事单位 人才培养计划

MySql性能调优:实用的实践与策略

xfgg

MySQL 6 月 优质更文活动

视频编码耗时长、编码帧发送失败…DVPP视频编码问题典型案例分析

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 6 月 PK 榜

重磅活动 | 腾讯云智能推出首期《人工智能集训营》

牵着蜗牛去散步

人工智能 腾讯云 腾讯 教育 AI集训营

PDCA循环——快速提升软件质量的必备工具

敏捷开发

Scrum 敏捷开发 精益管理 PDCA循环

毕业季618双节狂欢!来华为阅读享品质阅听,0元读好书

最新动态

消保评级提升指南!保险公司如何高效开展消保工作?

中关村科金

解决方案

了解模型的元学习:Learning to Learn优化策略和Meta-Learner LSTM

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 6 月 PK 榜

英特尔发布全新量子芯片Tunnel Falls,硅自选量子比特有望更快实现量产

E科讯

亚毫秒 GC 暂停到底有多香?JDK17+ZGC 初体验|得物技术

得物技术

ZGC GC jdk17

FP&A转型,企业全面预算管理发展的催化剂

智达方通

全面预算管理 企业全面预算管理

风景如旧

风景壁纸

华秋亮相汽车电子研讨会,展出智能座舱方案、高可靠PCB板

华秋电子

如何在 Linux 上使用 `find` 和 `locate` 进行文件搜索?

wljslmz

6 月 优质更文活动

全球企业KVM贡献榜公布,腾讯云再添1项核心突破

说山水

DBA 抓包神器 tshark 测评

爱可生开源社区

MySQL 网络协议 TCP协议 抓包工具

「悦数图数据库」正式登陆西部数据交易中心

悦数图数据库

图数据库 数据交易 数据要素

HMI和SCADA的定义 两者有什么不同

2D3D前端可视化开发

组态软件 工业自动化 SCADA 工业组态 HMI

生态伙伴 | 华秋硬创联合湾加速,共同加速企业发展

华秋电子

Python初学者友好丨详解参数传递类型

华为云开发者联盟

Python 人工智能 华为云 华为云开发者联盟 企业号 6 月 PK 榜

NFTScan 成为 Coin98 官方 NFT 数据合作伙伴!

NFT Research

NFT\

分享|基于实时图技术的信用卡申请反欺诈应用

悦数图数据库

金融 图数据库 知识图谱 反欺诈

如何有效管理爬虫流量?

天翼云开发者社区

网络安全 爬虫

安全可信 | 首批!天翼云边缘安全加速平台AccessOne通过信通院“软件自研创新能力”专项评估

天翼云开发者社区

云计算 云服务

TS中, Array.reduce提示没有与此调用匹配的重载?

林十二XII

inBuilder今日分享丨RESTful API动态发布技术

inBuilder低代码平台

浅谈HPC中的Lustre

天翼云开发者社区

Linux 架构 存储

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