【FCon】聚焦金融行业在数智化的全面革新,一线的金融数智化实践干货 了解详情
写点什么

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

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

    阅读完需:约 5 分钟

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

6 月 17 日,极客时间《企业级 Agents 开发实战营》正式上线,10 周掌握企业级 Agents 从设计、开发到部署全流程。

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

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

关注

评论

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

【Spring Boot实战与进阶】Controller的使用及获取请求参数的示例

Java 程序员 后端

深入理解 TCP 拥塞控制

拍乐云Pano

TCP 音视频 RTC TCP通信

【Spring Boot 25】JdbcTemplate配置类 ,设计模式面试题java

Java 程序员 后端

【Spring Boot实战与进阶】AOP的两种动态代理,java注解的实现原理

Java 程序员 后端

【云计算】云的七大分类定义说明

行云管家

云计算 公有云 私有云 云资源

【SpringMVC笔记】拦截器 ,java设计模式及实践百度云

Java 程序员 后端

以闭包方式实现一个Controller层打印日志的切面

LSJ

aop 闭包 切面

【MyBatis-plus】条件构造器详解,mysql索引原理及btree

Java 程序员 后端

就这?彻底搞懂单例模式

蝉沐风

Java 面试 设计模式 单例模式

【Spring 基础注解】对象创建相关注解,java开发实战经典答案百度云

Java 程序员 后端

【Spring 持久层】Spring 与 Mybatis 整合,spring教程极客学院

Java 程序员 后端

【SpringMVC 笔记】Json 交互处理(1),面试官都被搞懵了

Java 程序员 后端

【SpringMVC笔记】Ajax 入门,linux编程基础李养群课后答案

Java 程序员 后端

彻底说透简单工厂那些你没有关注过的细节

Tom弹架构

Java 架构 设计模式

【Java程序员必知必会的90个细节】1,隔壁都馋哭了

Java 程序员 后端

【Quarkus 技术系列】,Java高级工程师面试答案大全

Java 程序员 后端

【Spring Boot 23】MyBatis事务管理,java基础知识点思维导图

Java 程序员 后端

等保测评机构每年都需要年审吗?年审时候需提供哪些资料?

行云管家

网络安全 等级保护 等保测评 等保办

【Spring Cloud 8】熔断与限流Sentinel,java现在的主流技术

Java 程序员 后端

【SpringBoot系列】配置多环境配置文件,hadoop环境搭建教程

Java 程序员 后端

【JVM系列5】深入分析Java垃圾收集算法和常用垃圾收集器

Java 程序员 后端

Kafka 3.0 重磅发布,来看下值得关注的新功能

大数据技术指南

kafka 11月日更

【Redis实战】集合类型,unixlinux编程实践教程

Java 程序员 后端

【SpringMVC 笔记】Json 交互处理,顺丰java社招面试

Java 程序员 后端

【Spring Cloud 2】注册中心Eureka,java架构面试题spring原理

Java 程序员 后端

【Spring 工厂】反转控制与依赖注入,spring集成mybatis原理面试题

Java 程序员 后端

【MyBatis 2】MyBatis-Plus,java分布式框架技术方案

Java 程序员 后端

前端组件化工程实践

循环智能

AI 组件化 智能化

【Spring Boot 25】JdbcTemplate配置类 (1),鬼知道我经历了啥

Java 程序员 后端

【Spring Boot 6】自定义starter,花了6个月肝完阿里技术官的笔记

Java 程序员 后端

重磅|Apache ShardingSphere 5.0.0 即将正式发布

SphereEx

数据库 ShardingSphere Meetup Apache ShardingSphere DateBase

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