写点什么

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

  • 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:002681
用户头像

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

关注

评论

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

Redis可观测最佳实践,5大关键指标最全解析!

观测云

redis

一张图读懂Z-ONE Digital Car

SOA开发者平台

如何实现一款毫秒级实时数据分析引擎

Shopee技术团队

大数据 数据分析 后端 HBase

考试系统高并发试卷存储设计方案

Imaginary

【墨天轮专访第五期】偶数科技常雷:创新改变世界,深耕云数据仓库

墨天轮

数据库 国产数据库

你知道怎么离线安装全局 node 模块吗?

编程三昧

大前端 npm Node 离线包 9月日更

Intel要跟华硕等OEM品牌推出DG2显卡?官方:消息不属实

科技新消息

华为云GaussDB(for MySQL)2.0全新升级,三大技术大揭秘

华为云开发者联盟

数据库 云原生 GaussDB GaussDB(for MySQL) 华为全联接2021

滴滴 x StarRocks:极速多维分析创造更大的业务价值

StarRocks

数据库 数据分析 滴滴 Clickhouse StarRocks

“智感超清”之HDR技术落地实践

百度开发者中心

最佳实践 音视频

等保是强制的吗?企业不办等保有啥处罚?

行云管家

网络安全 等保 等保2.0

Go 中五个常见错误

baiyutang

golang 9月日更

Flutter 对状态管理的认知与思考

小呆呆666

flutter ios android 大前端 dart

华为云开天aPaaS 上线,服务千万开发者,使能行业场景化创新

华为云开发者联盟

华为云 企业应用 开天aPaaS aPaaS 华为云生态

Java变异出现错误:No enclosing instance of type XXX is accessible

华为云开发者联盟

Java

Python代码阅读(第28篇):计算列表中位数

Felix

Python 编程 Code Programing 阅读代码

多租户是什么意思?怎么理解?

行云管家

云计算 运维 SaaS

全网通用Python点赞器(俗称刷分机器),想知道原理吗?看完本文你自己也能写个

梦想橡皮擦

9月日更

Prometheus 2.27.0 新特性

耳东@Erdong

release Prometheus 9月日更

一张图读懂Z-ONE Digital Car

SOA开发者

浏览器测试的三大挑战及解决方案【译】

FunTester

软件测试 测试 FunTester 兼容性测试 浏览器测试

一张图读懂Z-ONE Studio Lite

SOA开发者平台

书单 | 带你轻松度假的10本好书!

博文视点Broadview

一文教你如何落地spring cloud alibaba企业级架构

小鲍侃java

后端 引航计划

Linux用户/用户组编辑

在即

9月日更

【存储专栏】打破K/V存储的性能瓶颈

趣链科技

区块链 存储

一张图读懂Z-ONE Studio Lite

SOA开发者

Chrome浏览器控制台支持中文

FunTester

chrome 浏览器 控制台 FunTester 中文

Intel高管披露Arc显卡合作厂商?官方否认

科技新消息

从敏捷开发到全自动开发,加速实现企业数字化转型

飞算JavaAI开发助手

送你一个Python 数据排序的好方法

华为云开发者联盟

Python 数据分析 数据排序

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