敏捷团队高效的完成软件架构设计

“在敏捷开发下,如何能经由敏捷团队,高效的完成软件架构设计?”

核心的思维是: 以 “团队” 为纬度,而不再以 “产品” 为纬度进行软件架构设计。唯有如此,团队才能有效的控制、处理产品上的复杂度。

也就是说,传统上, 产品团队都仅有一个、单一的产品软件架构的塑模。这种以 “产品” 为纬度的软件架构方式, 将会使所设计的软件架构, 因过于复杂与庞大;超过团队所能理解、控制、处理的范围。而使软件架构无法建立起一致性、统一性; 某些类(Class)或数据表结构的定义是互相矛盾或相关的规则是互相冲突的。

而过去团队往往得花上大量的人力与时间成本,才能解决上述由软件架构设计所引入的不一致性、不统一的问题。

在敏捷开发中, 为有效的提升产品开发的效率与质量,则可借镜 Domain-Driven Design 的思维;以 “团队” 的纬度,而非以 “产品” 为纬度进行软件架构设计。

每个团队,在 Product Owner 的带领下,只专注在自身团队的 “Bounded Context”;确保自身团队的 Bounded Context 内的类与数据表结构的一致性、统一性。至于,其他团队的 Bounded Context 内是如何设计的,则不关注。

而整个产品,则在 Super Product Owner 的带领下,建立起各个团队 Bounded Context 间的关系、关系类型、接口(协议)的定义。

最后,整个产品团队,将实际上经由持续集成,使由 “团队” 为纬度的软件架构,集成为 “产品” 级软件架构。并得以确保 “产品” 的软件架构,在持续集成后是拥有一致性与统一性的。

“要高效的完成某件事,需先充分理解人类能处理 “复杂度” 的极限为何?”

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android干货

Android项目实战(八):列表右侧边栏拼音展示效果

2745
来自专栏听雨堂

想修改CSS

      下载了一个“通用”的CSS文件,本来想偷懒的,结果发现有问题,就是它用的颜色是变量定义的,无法识别。我又找不到在哪里可以定义。 BODY{     ...

17710
来自专栏c#开发者

自定义ios keyboard tool bar代码片段

-(UIToolbar *)createActionBar { UIToolbar *actionBar = [[UIToolbar alloc] in...

2446
来自专栏琦小虾的Binary

Matlab R2012b 重复激活,License 失效问题解决

前段时间好多同学的 Matlab 突然同时不能用了,相当诡异。后来查了一下资料,现在已经解决该问题。 解决方案: 之前的破解方法按照下面链接进行操作即可: ...

3989
来自专栏SAP最佳业务实践

SAP S/4 HANA新变化-MM-IM物料帐:物料评估

Material Ledger Obligatory for Material Valuation 物料帐强制启用 Description This simpl...

3786
来自专栏生信小驿站

R 数据质量分析①

数据质量分析是数据挖掘中数据准备的最重要一环,是数据处理的前体。数据质量分分析主要任务是识别脏数据。常见的脏数据包括:

541
来自专栏Java帮帮-微信公众号-技术文章全总结

【数据库】MySQL经典面试题二(练习)

【数据库】MySQL经典面试题二(练习) 需要数据库表 1.学生表 Student(SID,Sname,Sage,Ssex) --SID 学生编号,Sname ...

5416
来自专栏转载gongluck的CSDN博客

自己在Qt上做的辣鸡计算器

#include "widget.h" #include "ui_widget.h" #include <QPushButton> #include <QDeb...

4465
来自专栏腾讯数据中心

敬请收藏:数据中心常用标识的中英文对照

中国的数据中心在不断走向国际化,同时数据中心内的关键标识也逐渐采取了中英文双语标识。 今天,我们整理出腾讯数据中心内部使用的中英文标识对照。敬请收藏以备后续参考...

3184
来自专栏一枝花算不算浪漫

[Java面试十一]数据库总结.

42016

扫码关注云+社区