致说不清遗留系统需求的开发团队——事件风暴之父的工作坊实录之一:“探索业务全景”

一家大型跨国企业收购了另一家大型企业的的关键业务软件系统,并决定用半年时间在上面进行定制开发,来适应新的需求。这个收购貌似让前者能快速开展新业务,但对于其开发团队来说,这不亚于是一场噩梦的开始:没有一位开发人员能够说清这个由多个团队合作开发的庞大系统从头到尾的业务全貌。在没有人能说得清业务需求的情况下,开发团队如何进行开发?

作为辅导这些企业进行敏捷和DevOps转型的咨询师,这几年来我一直在思考这个问题,期间做了一些努力来尝试回答,但成效总是有点差强人意。直到2017年12月8日我在“领域驱动设计中国峰会2017”大会参加了Event Storming 之父 Alberto Brandolini授课的一天“事件风暴工作坊”上午的“探索业务全景”(Big Picture Exploration)环节之后,才让我有信心解决这个难题。


“领域驱动设计中国峰会2017”大会“事件风暴工作坊”

工作坊上午的“探索业务全景”环节,能让说不清遗留系统需求的开发团队很快了解业务需求。适合新团队接手遗留系统、团队有大量新成员加入、业务发生很大变化等场景。以下是实施步骤:

  1. 准备物料
    准备各种颜色和尺寸的报事贴(详见下文),给工作坊参加者每人一支Sharpie记号笔。可以准备长长的一大卷白色画卷纸贴在墙上,在上面贴报事贴,以便方便地搬运报事贴。

  2. 邀请包含领域专家在内的团队所有成员参加
    团队所有成员包括业务、开发、测试、运维等各个角色,其中“知道答案”的领域专家是必不可少的。下文的工作坊实例是要探索Brandolini的培训机构销售培训课程的业务。

  3. 贴领域事件(Domain Event, 橙色)
    请领域专家贴第一张他/她最关心的领域事件。在报事贴上用类似”票已售出“的句式来写领域事件。然后大家同时分头各自写这个事件之前和之后发生的其他事件,并按发生的事件顺序从左到右排序。


    3. 贴领域事件(Domain Event, 橙色)
  4. 贴热点信息(Hot spot, 深粉)
    如果发现某些事件在业务上需要额外注意,比如需要花大量时间培养新入行的培训师,那么就可以在“已与新入行的培训师联系”事件边上贴一个粉红的报事贴,上写”要花时间“。


    4. 贴热点信息(Hot spot, 深粉)
  5. 贴业务子域边界(Boundary, 黄色胶带)
    等大部分领域事件贴完后,就在其中一些关键时点,用黄色胶条来分割子域边界。比如在“培训课程已发布“右边贴一个黄色胶条,在“培训课程已交付”的右侧再贴一个黄色胶条。这样两个胶条就划分了3个业务子域——培训课程准备子域、培训课程售票与交付子域、培训课程售后子域。


    5. 贴业务子域边界(Boundary, 黄色胶带)

    5. 贴业务子域边界(Boundary, 黄色胶带)
  6. 贴核心业务子域(Subdomain, 蓝色)
    识别橙色领域事件流中属于同一核心业务范畴的相邻的事件,并在它们的边上贴一个蓝色报事贴,写上核心业务子域的名字,比如“开具发票”。注意,此时不要移动橙色的领域事件。如果同样的核心业务子域出现在事件流的两个不同时点,那么就写两个相同的蓝色报事贴各自贴到相应位置。


    6. 贴核心业务子域(Subdomain, 蓝色)
  7. 贴参与领域事件的人(People, 黄色小报事贴)
    在橙色的领域事件边上用黄色报事贴,贴参与该事件的人,上面可以写这个人的姓名或角色,比如约见新入行培训师的培训机构老板Alberto。


    7. 贴参与领域事件的人(People, 黄色小报事贴)
  8. 贴外部系统(External System, 浅粉)
    在相应的领域事件边上,用浅粉报事贴,贴这些事件所依赖的外部系统。比如发布培训课程所需要的Eventbrite网站。


    8. 贴外部系统(External System, 浅粉)
  9. 贴新的价值或商业机会(Opportunity, 浅绿)
    在相应的领域事件边上,用浅绿报事贴,贴此处可能存在的商业机会。比如在“培训证书已打印”边上,贴一个制作“电子证书”这样一个新商业机会。


    9. 贴新的价值或商业机会(Opportunity, 浅绿)
  1. 投票评选业务瓶颈(Bottleneck, 画有箭头的蓝色竖条报事贴)
    每人一票,在你认为当前在业务上表现很糟糕或很有争议的地方上贴一个画有箭头的蓝色竖条报事贴。比如在“培训课程描述不抓眼球”边上贴箭头。那些获得最多箭头的瓶颈,就是今后开发工作的重点。因为根据约束理论,只有突破了这些最大的瓶颈,才能获得全局优化。


    投票评选业务瓶颈(Bottleneck, 画有箭头的蓝色竖条报事贴)

说不清遗留系统需求的开发团队,就好比说不清使命的军队一样,无法高效行动。要想在新团队接手遗留系统、团队有大量新成员加入、业务发生很大变化等场景下,让不熟悉业务的团队成员快速了解需求,可以召集包括领域专家、业务、开发、测试、运维在内的团队所有成员参加一个“探索业务全景”的工作坊,用每个人贴报事贴的形式来讨论和梳理现有的业务,最终让团队了解需求,达成共识,以便维护实现这些需求的遗留代码。另外还能识别当前系统的业务瓶颈,确定下一步开发工作的重点。
步骤如下:

  1. 准备物料
  2. 邀请包含领域专家在内的团队所有成员参加
  3. 贴领域事件(橙色)
  4. 贴警告信息(深粉)
  5. 贴业务子域边界(黄色胶带)
  6. 贴核心业务子域(蓝色)
  7. 贴参与领域事件的人(黄色小报事贴)
  8. 贴外部系统(浅粉)
  9. 贴新的价值或商业机会(浅绿)
  10. 投票评选业务瓶颈(画有箭头的蓝色竖条报事贴)

事件风暴之父工作坊下午的“软件开发设计”环节,可以让开发团队了解系统应该具备的领域模型及其交互关系,为编写单元测试进而驱动重构提供指导。下一篇博客将会对此进行讨论。敬请关注。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容