沙雕与大婶 | 把5W2H融入你的架构设计吧
故事背景:
沙雕在公司一个开放api团队工作,平时的工作内容主要是做一些对外api项目开发,负责跟第三方系统对接。虽然工作也几年了,但是一直都是按照上级做好的设计文档和分配的任务去做,很少自己去做设计和思考。有一天团队老大跑路了,部门老板想提拔他做团队老大的工作,但需要负责一个新项目架构设计工作来试探下他的能力,因此他感到很迷惘,因为之前没有尝试过,既怕自己能力不足也怕失去这个难得的机会,他悄悄去请教部门里的一个大婶。
记住5w2h
在确定新的解决方案或对现有项目优化的解决方案要求时,无论你项目规模如何,都值得使用5w2h这思维工具
- 谁(who)
- 是什么(what)
- 什么时候(when)
- 哪里(where)
- 为什么(why)
- 怎么样(how)
- 多少(how much)
who(谁)
who负责确定解决方案中的各个参与者和参与者。
这些是您要针对预期解决方案的“对象”提出的各种问题的示例:
- 谁 需要使用这个解决方案或者受影响?
- 谁 从这个解决方案中受益?
- 谁 为这个解决方案付费?
- 谁 将支持该解决方案?
- 谁 有权执行解决方案中的各种活动?
- 谁 属于解决方案中的哪些角色?
- 谁 来维护这些数据?
- 谁 来管理解决方案?
- 谁 遗漏了谁?
what(内容)
what 负责识别这个预期解决方案中的各种功能,数据,输入,输出,交付,软件工件等。
这些是您应该针对预期解决方案的“内容”提出的各种问题的示例:
- 解决方案的目的和目标 是什么(应以业务术语说明)?
- 用户需要在解决方案中/与解决方案一起 做什么?
- 解决方案需要获取,存储,生成,输出等 哪些数据元素 ?
- 什么 是主数据元素?
- 什么 是交易数据元素?
- 主数据元素的权威 来源是什么?
- 解决方案需要执行 哪些业务规则?
- 解决方案需要支持和/或促进 哪些流程?
- 解决方案需要支持和/或促进 哪些交易?
- 解决方案需要与其他 哪些系统交互?
- 解决方案需要与其他系统交换 哪些数据元素?
- 解决方案的容量 是多少(例如,用户数量,交易数量,数据增长率等)?
- 解决方案可以解决或缓解 哪些问题?
- 我遗漏了 什么?
when(时间)
when 解决预期解决方案中的各种基于时间事件和活动等问题。
这些是您应该针对预期解决方案的“时间”提出的各种问题的示例:
- 这解决方案 何时 需要准备好实施?
- 用户 什么时候 需要能够执行特定的活动?
- 何时 需要进行定期执行(例如,每天,每周,每月,每季度,每年等)?
- 这解决方案 什么时候 需要可用(正常工作时间,24/7/365等)?
- 这解决方案 何时 会不可用?
- 是否有任何活动需要捕获 历史 记录?
- 什么时候 可以从解决方案中清除数据?
where(位置)
where 解决一个解决方案的各种地理或者逻辑方面问题。
这些是您要针对预期解决方案的“位置”提出的各种问题的示例:
- 用户 在哪里 ?
- 用户需要 从哪里 使用该解决方案?
- 用户需要 从哪些 设备与解决方案进行交互?
- 解决方案可以 在哪里 托管?
- 持久数据将存储 在哪里?
- 临时数据将存储 在哪里?
- 备份将存储 在哪里?
why(原因)
why 要处理施加在解决方案上的各种驱动因素和/或约束(内部或外部)。
这些是您应针对预期解决方案的“原因”提出的各种问题的示例:
- 为什么 需要该解决方案(例如,业务条件的变化,新计划,遗留系统的更换,技术升级等)
-
为什么 是现在要做?
- 该解决方案旨在满足哪些法定或组织规则(即,成为驱动解决方案的规则)?
- 此解决方案需要满足哪些法定或组织规则(即,作为约束解决方案的规则)?
how(方式)
how 解决涉及的过程是如何进行的。哪些步骤,活动和相关变量会影响它。
这里的一个技巧是使用流程图可以更好去表示它。
这些是您应该针对预期解决方案的“以什么方式”提出的各种问题的示例:
- 怎么 去实现这个解决方案
- 怎么 运用这些开源框架在这个解决方案中
how much(多少)
how much 解决预期解决方案中的数量和成本等问题。
这些是您应该针对预期解决方案的“多少”提出的各种问题的示例:
- 这解决方案可以比原有项目提升 多少 性能?
- 这解决方案需要产生 多少 费用
- 需要用到 多少 人力
案例分析
老板交给你一个新项目,5月中旬需要对外提供一个标准api,开放公司某些内部产品数据能力。
大致需求:本次开放的产品是信用证,开放信用证状态数据给第三方机构查询,数据是从公司某数据平台获取,通过公司标准api提供给第三方合作机构,与他们系统进行对接,客户会从第三方机构app或者门户网站登陆去获取数据,预算大约20万美金。
初步需求分析
what | who | when | where | why | how | how much |
---|---|---|---|---|---|---|
开发信用证状态数据 | 提供给第三方机构企业用户 | 5月中旬 | 从数据中台获取数据 | 可以提升公司获客能力 | 标准开放api方式 | 预算 $200000 |
有兴趣的朋友,欢迎加我公众号一起交流,有问题可以留言,平时工作比较忙,我也抽时间尽量回复每位朋友的留言,谢谢!