BPES

简介: BPES

大局事件风暴(BPES)主要分为以下几个阶段:


1. 做好准备:确定参与者,包括业务专家、开发人员、架构师等,准备必要的工具,如便签、马克笔和大白板或者其他可以粘贴便签的平面。


2. 事件发现:所有人员共同讨论并记录业务流程中的重要事件,这些事件将被写在颜色鲜明的便签上。


3. 排序:将记录的事件按照发生的先后顺序进行排序,形成一个时间线。这有助于对整个业务流程的理解。


4. 热点发现:在事件的讨论过程中,可能会出现一些争论和问题,这些就是所谓的“热点”。找出并记录这些热点,为之后的深入探讨提供线索。


5. 命令和聚合识别:识别出导致事件发生的命令(动作)以及这些命令和事件所属的聚合(业务实体或组件)。


6. 结论和下一步计划:总结会议的结果,确定要解决的问题,制定后续行动计划。


这个过程可以根据实际情况进行调整,不同的团队和项目可能会有不同的具体实现方式。

大局事件风暴之后的下一阶段是流程级事件风暴 (PLES)。在 PLES 中,我们专注于解决方案,并按照我们希望的方式对事物进行建模。此外,还会出现一些新概念,例如命令、读取模型和业务规则。


准备好,稳住,出发!


在我们的第一次会议之前,我将域描述发送给了大家,并将一些原始线框图上传到了我们的 Miro 板上。我们有它们供参考,因此我可以快速解释示例中的流程。

然后我们开始进行混沌探索。我们每个人都在板上放置事件。首先出现了问题、想法和讨论。我们决定将“好的想法”标记为绿色便签。这是一个好的做法,因为它通常能激发创造力。过了一会儿,我们的板子看起来如下:

请仔细看一下,并试着参考第一篇文章中的领域描述。你可以发现这里的一些事件被组织成了某种批次/组。这是在Miro中使用“批量模式”功能的结果。在研讨会的早期阶段,这是一个有用的功能,因为它允许参与者一次添加几个事件。你可以将它们作为行添加到一个单独的模态表单中,提交后,它们被添加为“便签”到板上。


在这个阶段,所有的事件都被随机添加了,所以我们开始了下一阶段 - 强制时间线。我的任务是叙述整个故事。与此同时,我可以添加关于某些部分的一些额外信息,所以我们进行了一些额外的讨论。然后,Mariusz提出了他称之为“神奇四人组”或“0,50,100,150”的启发式规则。当我们观察到一个“二元”事件时,我们通常可以使用它 - 事情要么发生(100%),要么没有发生(0%)。有时我们有两个额外的情况:某件事部分发生了(50%)或者过多的发生了(150%)。在我们的案例中,这样的事件是“广告需求被接受”。我在这里有一个是/否的思维模式:招聘者接受或不接受需求。Mariusz建议我们可以试着使用“神奇四人组”启发式规则,因为在现实世界中,这种情况有谈判的余地。例如:“我们不允许远程工作,但你可以带你的宠物来上班。”我们记下了这个想法,以便在研讨会的后面部分考虑它。

好的,现在让我们回到剩下的活动。我们现在已经按正确的顺序排列了它们。我们还没有删除任何重复项或不必要的事件。尽管如此,我们还是标记了整个过程中一些较小的、相当独立的部分,告诉我们可能的子域。它将帮助我们专注于流程级别中较小的部分。

最后看板如下

在下一步,我们画了一条线来分隔我们的工作成果。我们开始在这条线下只放置领域事件 - 这些事件会在我们的系统状态中引起一些真正的变化。同时,我们删除了一些重复的事件。我们还同意跳过在第一轮迭代中不会实施的功能的事件。结果,我们能够可视化我们的第一个业务过程和业务模型。


为了移除所有“不必要”的事件,我们使用了另一个有用的启发式方法,它集中在事件类型上。区分了四种类型的事件:


环境事件 - 存在于系统外部 - 在真实世界中,例如,一个人走进商店。它们通常对研讨会不是关键,但是它们有助于获取上下文。

UI事件 - 我们在点击/使用UI,但是我们不“提交”我们的选择。我们没有改变系统的状态。例如:我们可以在UI上多次选择定价计划,但是直到我们确认我们的决定,我们的系统中实际上什么都没有发生。

基础设施事件 - 指的是技术性的事情,并且对系统没有任何影响:“发送到Kafka的事件”,“度量增加”。

领域事件 - 事件风暴的核心。在我们的研讨会中,我们应该只关注这些事件。

使用上述假设和启发式规则,我们改变了大局如下:

现在让我们从左到右一点一点地看看发生了什么变化。


首先,我们删除了所有与潜在客户开发相关的事件:

之后我们又做了如下改动

这里你看到我提到的第二种启发式方法在实际中的应用 —— 关于不同类型事件的那个。我们移除了所有的UI事件。请注意,“添加证书”或者“标记远程工作为必需”并没有改变系统的状态。那些只是在UI上的操作。换句话说,我们正在准备广告的草案。我们可以将所有这些事件描述为一个:“草案被修改”。实际上,如果我们决定在我们的系统中没有草案的概念,我们这里可能一点儿事件都没有。然而,我们想要有草案,因为我们希望用户即使暂时离开也能继续准备过程。否则,我们可以删除所有与草案相关的事件,通过UI处理所有事情,并且只在表单提交和广告进入系统时有一个事件。


当广告准备好后,我们进入支付和发布过程:

同事指出,如果广告在一段时间内有效,也许我们不应该继续制定一些定价计划,而应该出售时间。如果用户希望广告在搜索结果中停留更长时间,那么他们需要额外支付几美元。我们喜欢它,第一个商业模式就这样诞生了。多亏了这一点,我们可以跳过定价计划的所有部分。顺便说一句,我们还在这里放置了热点(粉色便签),只是为了标记我们有一些担忧的地方。

最初,我也有个想法,那就是在发布后,广告就只读了。我只是想防止招聘者接受开发人员的要求后,但随后要求被更改,从而产生一些不一致性的情况。实际上,只读模式可能真的很让人烦恼。想象一下,你打错了字,想在一两天后修正。解决这个问题的第一个想法是在发布后给用户X分钟的时间来编辑广告。这就是为什么你在第一版中可以看到一个“广告编辑时间过期”的事件。但后来我们意识到,招聘者接受的是开发人员在给定时间点的要求。这使我们想到了像“快照”这样的东西 - 针对特定要求的提议。



现在到了最后一个流程——候选人验证:


我决定将这个过程包含在产品的第一个版本中,因为它展示了如何与外部系统集成。而且,这是一个长期运行的过程。由于广告是匿名的,我想给开发者一些展示他们技能的可选可能性。换句话说,他们可以在外部系统中解决一些测试后获得徽章。您可以注意到指定准备就绪和测试开始的事件有所减少。那是因为这些事件不在我们的领域之内,它们属于外部系统。我们只想开始我们的验证并在问题解决后得到测试结果。


当谈到我们的大局事件风暴时,就是这样。在下一篇文章中,我们将进行流程级事件风暴并对每个流程进行详细建模。

相关文章
|
6天前
|
供应链 监控 安全
对话|企业如何构建更完善的容器供应链安全防护体系
随着云计算和DevOps的兴起,容器技术和自动化在软件开发中扮演着愈发重要的角色,但也带来了新的安全挑战。阿里云针对这些挑战,组织了一场关于云上安全的深度访谈,邀请了内部专家穆寰、匡大虎和黄竹刚,深入探讨了容器安全与软件供应链安全的关系,分析了当前的安全隐患及应对策略,并介绍了阿里云提供的安全解决方案,包括容器镜像服务ACR、容器服务ACK、网格服务ASM等,旨在帮助企业构建涵盖整个软件开发生命周期的安全防护体系。通过加强基础设施安全性、技术创新以及倡导协同安全理念,阿里云致力于与客户共同建设更加安全可靠的软件供应链环境。
113486 10
|
14天前
|
弹性计算 人工智能 安全
对话 | ECS如何构筑企业上云的第一道安全防线
随着中小企业加速上云,数据泄露、网络攻击等安全威胁日益严重。阿里云推出深度访谈栏目,汇聚产品技术专家,探讨云上安全问题及应对策略。首期节目聚焦ECS安全性,提出三道防线:数据安全、网络安全和身份认证与权限管理,确保用户在云端的数据主权和业务稳定。此外,阿里云还推出了“ECS 99套餐”,以高性价比提供全面的安全保障,帮助中小企业安全上云。
201925 14
对话 | ECS如何构筑企业上云的第一道安全防线
|
3天前
|
供应链 监控 安全
|
5天前
|
SQL 安全 前端开发
预编译为什么能防止SQL注入?
SQL注入是Web应用中常见的安全威胁,攻击者通过构造恶意输入执行未授权的SQL命令。预编译语句(Prepared Statements)是一种有效防御手段,它将SQL代码与数据分离,确保用户输入不会被解释为SQL代码的一部分。本文详细介绍了SQL注入的危害、预编译语句的工作机制,并结合实际案例和多语言代码示例,展示了如何使用预编译语句防止SQL注入,强调了其在提升安全性和性能方面的重要性。
|
9天前
|
搜索推荐 物联网 PyTorch
Qwen2.5-7B-Instruct Lora 微调
本教程介绍如何基于Transformers和PEFT框架对Qwen2.5-7B-Instruct模型进行LoRA微调。
414 34
Qwen2.5-7B-Instruct Lora 微调
|
1月前
|
人工智能 自然语言处理 前端开发
从0开始打造一款APP:前端+搭建本机服务,定制暖冬卫衣先到先得
通义灵码携手科技博主@玺哥超carry 打造全网第一个完整的、面向普通人的自然语言编程教程。完全使用 AI,再配合简单易懂的方法,只要你会打字,就能真正做出一个完整的应用。
9934 29
|
3天前
|
机器学习/深度学习 存储 人工智能
【科普向】我们所说的AI模型训练到底在训练什么?
人工智能(AI)模型训练类似于厨师通过反复实践来掌握烹饪技巧。它通过大量数据输入,自动优化内部参数(如神经网络中的权重和偏置),以最小化预测误差或损失函数,使模型在面对新数据时更加准确。训练过程包括前向传播、计算损失、反向传播和更新权重等步骤,最终生成权重文件保存模型参数,用于后续的应用和部署。理解生物神经网络的工作原理为人工神经网络的设计提供了灵感,后者广泛应用于图像识别、自然语言处理等领域。
|
2天前
|
人工智能 算法 搜索推荐
阿里云百炼xWaytoAGI共学课开课:手把手学AI,大咖带你从零搭建AI应用
阿里云百炼xWaytoAGI共学课开课啦。大咖带你从零搭建AI应用,玩转阿里云百炼大模型平台。3天课程,涵盖企业级文本知识库案例、多模态交互应用实操等,适合有开发经验的企业或独立开发者。直播时间:2025年1月7日-9日 20:00,地点:阿里云/WaytoAGI微信视频号。参与课程可赢取定制保温杯、雨伞及磁吸充电宝等奖品。欢迎加入钉钉共学群(群号:101765012406),与百万开发者共学、共享、共实践!
|
15天前
|
机器学习/深度学习 人工智能 安全
通义视觉推理大模型QVQ-72B-preview重磅上线
Qwen团队推出了新成员QVQ-72B-preview,这是一个专注于提升视觉推理能力的实验性研究模型。提升了视觉表示的效率和准确性。它在多模态评测集如MMMU、MathVista和MathVision上表现出色,尤其在数学推理任务中取得了显著进步。尽管如此,该模型仍存在一些局限性,仍在学习和完善中。

热门文章

最新文章

下一篇
开通oss服务