【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

以演进式的架构来让系统为变化做好准备

  • 2016-10-16
  • 本文字数:1262 字

    阅读完需:约 4 分钟

2016 敏捷海滩会议在英国康沃尔举行。会上 Rebecca Parsons 认为,缩短进入市场的时间和提高业务敏捷性的要求,可以通过构建真正的演进式架构的软件、让系统做好准备改变、降低实验成本(和风险)、最大限度地提高可见度和反馈,以及统一公司的核心价值主张等来实现。

在第二天的敏捷海滩会议上,Thoughtworks 首席技术官 Rebecca Parsons 提出的议题是“准备改变”。在发言中,Parsons 首先提出,缩短进入市场时间的需求越来越强烈,虽然“敏捷”已经实行了二十多年,但并不是所有的软件交付过程的环节都完全接受这个概念。快速变化的能力和实验往往可以成为竞争优势:

在业务水平的敏捷性是至关重要的。缩短到市场时间的良性循环包括:测试假设、快速交付和发布以及测量。Parsons 指出,测量是至关重要的,但往往被忽略;虽然在项目开始之前花了很大的努力去做计划和预算,但在交付之后,花费的代价却往往不被测算。组织也必须让项目能安全地失败,因为不是每一个项目都会(或应该)成功。

如果你没有失败过,那你就没有创新。让它安全地失败。

可以对交付有价值软件有帮助的技术包括:

  • 持续设计 - 在系统在开发的时候创建和修改系统的设计,而不是试图在开发开始之前完全指定系统全部细节
  • 持续交付(Continuous Delivery,CD)- 在短周期内交付软件,确保软件可在任何时间点可靠地发布。持续交付使它能够安全地发布软件,从而能够进行实验
  • 实用的软件质量 - 监控核心软件质量指标的趋势(如重复、周期性复杂度和缺陷率等)是至关重要的
  • 演进式架构 - 把结构渐进改变作为设计的首要原则
  • 合理组织 IT- 了解康威定律(Conway’s Law),并相应地把敏捷原则引入到组织结构设计。Sriram Narayan 的“敏捷 IT 组织设计”一文中写了有关内容

演进式架构的主题对于许多研发人员来说都是陌生的。相应地要学习各种概念,如绞杀模式( strangler pattern )、波斯特尔定律( Postel’s Law )、可测试性架构、基于可维护性和适应性对演进方式进化优先级排序等等,都是非常有益的。

重视非功能性需求同样重要。提前决定在性能、安全性和可靠性方面哪些问题重要,将在整个项目的周期里,使设计的选择变得更容易。

非功能性的要求是非常重要的 […] 为了学习更多的内容,和那些在出错时的受害者们聊聊天,比如运维团队。

Parsons 在总结发言时说,IT 在传统上被认为是一个成本中心,并相应地以稳定化和标准化为重。现在,IT 往往被视为一个企业价值主张的核心,因此应以实验和反应为重。这种成本控制和价值生成的冲突往往会导致组织分裂,必须进行相应的管理。我们必须考虑组织差异(企业的核心价值是什么?),“商品计算”必须从 IT 需求创新的领域中分离出来,整个 IT 项目组合必须进行管理,并且考虑到适度的进行外包。

在 Parsons 的总结中,他指出,业务敏捷性的目标可以通过以下技术实现:

关于敏捷海滩会议的更多信息可以在会议网站上找到,并可以在推特上关注“ agileotb ”标签。Rebecca Parsons 第二天的主要讲话将很快上传到 YouTube 敏捷海滩会议频道

查看英文原文 Keeping Systems “Poised for Change” with Evolutionary Architecture

2016-10-16 19:002009
用户头像

发布了 152 篇内容, 共 68.0 次阅读, 收获喜欢 63 次。

关注

评论

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

一个BPMN流程示例带你认识项目中流程的生命周期

华为云开发者联盟

工作流 项目 BPM BPMN Activiti框架

飞瓜数据发布2021年抖音短视频直播营销报告(年度版)

Geek_2d6073

前端开发之React调度算法的迭代过程

@零度

前端开发 React

使用 electron-builder 打包 Electron 程序

编程三昧

Electron electron实战 1月月更

Java Spring Beans.xml里的Bean定义是如何被解析出来的

Jerry Wang

Java Spring Boot Spring Java 1月月更

Spock框架Mock静态资源经验汇总

FunTester

Mockito powermock Mock spock FunTester

30人的产研团队如何高效协同?

阿里云云效

阿里云 DevOps 云原生 研发管理 研发团队

尚硅谷JavaWeb新版视频教程发布

@零度

javaWeb

不会使用Spring的配置文件,赶紧把这个甩给他

华为云开发者联盟

Java spring API bean 配置文件

SSH 端口转发与 SOCKS 代理

CRMEB

Redis持久化RDB和AOF区别

编程江湖

redis'

中间件头部厂商加入,龙蜥社区携手东方通共创开源新生态

OpenAnolis小助手

Linux 开源

大数据开发之Flink sql 的基础用法

@零度

flink sql 大数据开发

java开发之SpringBoot+flowable实现工作流

@零度

Java springboot

译文|借助 Pulsar Functions 迁移到无服务应用程序

Apache Pulsar

Java 开源 架构 云原生 Apache Pulsar

【等保小知识】等保二级是否需要做密评?什么是密评?

行云管家

网络安全 等级保护 等保2.0 等保二级

AI 收藏夹 Vol.004:Waifu Lab 火了,AI 是如何创作的?

Zilliz

开源实践 | OceanBase 在红象云腾大数据场景下的实践与思考

OceanBase 数据库

OceanBase 开源 客户案例 开源实践

深入剖析 HDFS 3.x 新特性-纠删码

五分钟学大数据

hdfs 1月月更

引领中国分布式数据库企业技术创新力,平凯星辰获得赛迪顾问报告推荐

PingCAP

火山引擎边缘计算节点通过 EC Ready 边缘云首批评测

火山引擎边缘云

云原生 边缘计算 测评

第三节:SpringBoot中web项目推荐目录结构

入门小站

springboot java 编程

BigDecimal 被拼多多的"砍一刀"应用到了极致

恒生LIGHT云社区

Java 拼多多 Java中精确小数计算

面对 Log4j2 漏洞,安全人都做了什么?

华为云开发者联盟

Java 漏洞 Apache Log4j2 Log4j2 漏洞 漏洞防护

科技为驱,创新为翼——鲸鲮科技喜获“2021北京软件核心竞争力企业”评价

鲸鲮JingOS

操作系统 创新 信创 信息化 科技企业

Promise 异步流程控制

编程江湖

等保2.0基本要求是什么?跟等保1.0一样吗?

行云管家

网络安全 等保 等级保护 等保2.0

Flume简介和架构安装配置详解

编程江湖

干掉大小流切换 I 帧!阿里云 RTC QoS 及视频编码联合优化之切流编码

阿里云视频云

阿里云 WebRTC 直播 RTC 视频编码

从零开发区块链应用(五)--golang网络请求

杰哥的技术杂货铺

golang 区块链 HTTP post GET

提效赋能:当企业在谈论数字化时,我们在谈论什么?

优秀

管理工具

以演进式的架构来让系统为变化做好准备_架构_Daniel Bryant_InfoQ精选文章