码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-05-03 17:28:43      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:架构设计   敏捷开发   敏捷架构   

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

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

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

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

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

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

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

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

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

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

标签:架构设计   敏捷开发   敏捷架构   

原文地址:http://blog.csdn.net/featuresoft/article/details/45459913

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!