我们在开发一款产品,通常都需要先进行需求调研,然后整理需求并输出需求分析说明书以及配套的原型,在DDD统一过程同样需要这个过程,称之为全局分析阶段。
一、6W要素是什么?
我们在描述一件事情,通常可以遵循6W要素的情景叙述法:谁(Who)基于什么原因(Why)在什么地点(Where)什么时候(When)做了什么事情(What),是怎么做到的(hoW)。那么对应DDD的问题空间和解空间的话,前5个W对应问题空间,最后的hoW对应解空间。其中,
① Who:利益相关者
② Why:系统愿景
③ Where:系统范围
④ When:业务流程
⑤ What:业务服务
二、如何高效沟通?(统一语言)
在全局分析阶段进行需求分析的过程中,首先需要进行统一语言,技术人员尽量不要使用专业术语,比如数据库、类、方法等,因为这对于领域专家来说很难理解,而领域专家在讲述业务需求的时候,对于一些开发团队不熟悉的专业术语,也需要进行解释说明,在统一语言的环境下,沟通才更加顺利和高效。
1、 术语表
对于一些业务专业术语,需要建立一份术语表进行维护,并配套中英语术语,其中英语术语主要用于设计和编码阶段,并翻译过程中出现的不一致,而对于难以理解的术语,还需要提供具体的案例。
术语 | 英文对照 | 说明 | 举例 |
---|---|---|---|
一键登录 | quick login | 移动端利用手机号码快速登录 | 手机终端用于只需要在登录授权页点击登录按钮即可以快速登录 |
本机校验 | phone verify | 用于移动端验证业务手机号码是否为本机 |
2、用户故事
采用用户故事对领域行为进行描述,可以更加清晰的描述业务需求和业务规则,这个过程中需要遵循以下几点要求:
① 从领域的角度而非实现角度描述领域行为;
② 若涉及到领域术语,必须遵循术语表的规范;
③ 强调动词的精确性,符合业务动作在该领域的合理性;
④ 要突出与领域行为有关的领域概念。
以云通信平台应用管理为例,可以编写如下的用户故事:
作为一名运营人员
我想要审核客户提交的长链接是否合法,
以便明确客户在使用长链接转短接的合法性。验收标准:
① 客户提交的长链接如果审核不合法,则审核不通过;
② 只有审核通过的长链接才允许转换为短链。
三、如何高效协作?(可视化图表)
一图胜千言,在统一语言的环境搭配合适的可视化图表,会使得沟通效果更好,因为单纯的文字会由于理解能力的不同而导致理解偏差,从而降低沟通效率,因此通过可视化图表展示,可以降低理解上的偏差。
1、商业模式画布
商业模式画布可以用于业务价值分析,团队通过头脑风暴,一起梳理出目标系统/产品的价值需求。
2、 业务流程图
业务流程图是需求分析阶段最为常见也是必备的展现方式,因为系统业务不可能是一个个孤零零的点,而是连点成线,因此通过业务流程图,可以更直观的展现业务流程。当某个业务需要多个角色协同以及存在多个阶段时,我们可以通过泳道图来呈现。
3、服务蓝图
服务蓝图用于描绘不同角色的职责边界,能够全方位地展示具有完整业务价值的业务流程。
4、用例图
用例是对一些列活动(包括活动变体)的描述:主体执行并产生可观察的有价值的结果,并将结果返回给参与者。
5、事件风暴
事件风暴是以一种工作坊形式对复杂业务领域进行探索的高效协作方法,它对业务探索的改进体现在两点:
① 以事件为核心驱动力对业务开展探索。
② 强调可视化的互动,更好地调动所有参与者共同对业务进行展开探索。