欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

沙雕与大婶 | 把5W2H融入你的架构设计吧

程序员文章站 2022-03-25 17:19:50
故事背景: 沙雕在公司一个开放API团队工作,平时的工作内容主要是做一些对外API项目开发,负责跟第三方系统对接。虽然工作也几年了,但是一直都是按照上级做好的设计文档和分配的任务去做,很少自己去做设计和思考。有一天团队老大跑路了,部门老板想提拔他做团队老大的工作,但需要负责一个新项目架构设计工作来试 ......

故事背景:
沙雕在公司一个开放api团队工作,平时的工作内容主要是做一些对外api项目开发,负责跟第三方系统对接。虽然工作也几年了,但是一直都是按照上级做好的设计文档和分配的任务去做,很少自己去做设计和思考。有一天团队老大跑路了,部门老板想提拔他做团队老大的工作,但需要负责一个新项目架构设计工作来试探下他的能力,因此他感到很迷惘,因为之前没有尝试过,既怕自己能力不足也怕失去这个难得的机会,他悄悄去请教部门里的一个大婶。

沙雕与大婶 | 把5W2H融入你的架构设计吧

记住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

沙雕与大婶 | 把5W2H融入你的架构设计吧


有兴趣的朋友,欢迎加我公众号一起交流,有问题可以留言,平时工作比较忙,我也抽时间尽量回复每位朋友的留言,谢谢!
沙雕与大婶 | 把5W2H融入你的架构设计吧