前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >敏捷团队高效的完成软件架构设计

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

作者头像
Ken Fang 方俊贤
发布2018-01-05 11:00:48
5060
发布2018-01-05 11:00:48
举报

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

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

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

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

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

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

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

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-05-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
持续集成
CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档