DDD你真的理解清楚了吗(7)与敏捷结合
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
DDD在敏捷团队中的实践摘要
在敏捷团队中,实践领域驱动设计(DDD)可以通过选择适合的方法如“事件风暴”来适应敏捷开发模式。团队可以使用事件风暴方法在会议中互动探索需求,形成轻量级的领域模型,而不是一开始就编写大量需求文档。
敏捷团队会将开发过程分为多个小迭代,每个迭代前通过事件风暴会议梳理业务需求,并形成领域模型和限界上下文,以便划分子系统和微服务。同时,团队之间要通过上下文地图的划分来准备接口。
通过事件风暴会议的梳理,例如在一个在线订餐系统中,可以形成领域模型,并划分为“下单上下文”、“接单上下文”等,进而将开发团队分为相应的特性团队和架构团队。梳理领域模型时,团队需要关注与其他团队的交互和接口需求。
为确保团队协作和全局角度的协调,引入“项目群层”机构。管理大师戴明在SAFe规模化敏捷框架中强调了系统中各团队的自我管理和组织利益最大化。产品经理、发布火车工程师和架构师等角色在项目群层中管理多个团队。
在产品经理组织下,团队召开PI计划会议,制订迭代计划,关注任务依赖和潜在风险。第二天,团队会重新考虑迭代计划,整合他团队的接口需求。产品经理和架构师会关注团队协作和优先级,确保关键用户故事得到优先完成。
团队之间的协作可通过契约测试和“桩程序”实现接口提供方和使用方的并行开发。产品经理和架构师还会收集潜在风险并制定解决方案,例如创建订单跟踪微服务并使用NoSQL数据库。
最终,所有团队及其协作关系将被绘制到项目群公告板中,明确各个用户故事、团队协作、交付迭代和重要依赖。团队可按照这一节奏开发并交付工作。
想要了解更多内容?
白皮书上线