EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一,如何从零开始? 如果让你把下面这套技术体系串联起来,从零开始构建一个技术平台,你如何做需求分析呢,在没有产品经理帮助你梳理的情况下? 下面这些系统涵盖了我们研发测试运维日常工作的方方面面: idCenter:它定义用户、用户组、权限。研发测试都有了唯一的身份和权限集合,贯穿所有系统。 iDB:数据库自动化运维系统能把数据库建帐号、授予权限、建表、改表结构、刷库这些日常操作都变成流程,DBA审核通过后就可以自动执行,以及自动回滚。 Touchstone:容器私有云的管理控制台,管理镜像库、应用、容器、主机等。日常发布就在这里做。 JobCenter:定时任务调度和管理。 Summoner:大型计算任务的调度和管理。云纵佣金计算就是在这上面跑的。 Notify:异步消息可靠推送。所有的异步消息都走这个中间件。 Discache:管理m EMCached和redis。 OAP:运维自动化系统。主要是资产管理、资源管理和发布。 Secret:天机和鹰眼。数据库、Java、PHP、业务指标,监控报警都做进来了。 9 d' v$ I" o# [+ i; {1 l4 d* j8 T6 A% W4 U
你就是一个说故事的人,为了保证大家对故事的理解没有偏差,所以大家『都希望你说得具体点儿(User Story),把故事落实在产品的需求点(Product Backlog),然后在这些需求点里面排出优先级(Sprint Backlog),然后排出版本(Version),这样兄弟们做开发和不断燃烧(Burn Up)』。[注1] 即, /* 先有场景, \ 再有故事, \ 通过故事拆解出信息架构,即菜单结构和功能点, \ 最后归入某个版本, \ 在所有的故事、功能点和版本都确定之后,我们就进入不断的排序优先级和循环的过程。 */ 二,何谓应用场景? 大家也许会注意到,当我发起技术预研课题时,我通常都会给出我想象中的、心目中这个课题的愿景,以一个目标用户是如何使用这个平台的应用场景的方式。 譬如说: 本地生活服务商户“魔镜”计划 愿景: " @6 f2 v5 M% _
应用场景举例:
& C9 q0 h6 F+ U5 F% K2 _: j: ^3 i场景一: ) e1 Q1 j. h1 g
开站决策支持:哪些城市值得开站,哪些不值得? 背后的数据支撑: 1 |) S, C9 N+ ]* V. q, y3 R6 U. y
场景二: 6 L& A! z- d$ E; D; x: P
餐饮和美业品类下,优先向哪些商户推纵横客? 背后的数据支撑:
8 ~. R- l5 G& C8 H+ g/ T: T% q* p
这就是愿景和场景。 我们对于上游业务部门流转过来的需求,也必须熟练运用下面这种逆推能力: 先构造出合乎逻辑的多种应用场景,然后回头审视自己的概念设计、功能设计、信息架构设计是否正确。如果你的表结构等设计不符合这些应用场景,必定是你的设计不对。 WHY? 不合逻辑,必有问题。 再举一个应用场景例子: ![]() 有了应用场景,就可以针对不同的用户设计故事。 ^5 R* b: w) H+ c" _( R3 m
; ^4 p+ G; i. V9 w7 F. O9 s三,从应用场景推导出故事 顺着场景展开,就可以得到一个又一个的故事。 譬如说,对于上面的场景,我们可以针对用户“研发经理小丁”来设计 User Story,我们看到了什么,操作了什么,又得到了什么结果: ' ^8 r6 t# {* ?) F1 f7 ?
越细越好,越有助于研发同学设计页面,理解系统需要提供哪些接口和数据。 四,从故事推导出信息架构和业务流程 顺着故事,我们可以假想出人们是怎么抵达这些故事的。与此同时,即使是同一个应用场景,也会有多种进入途径。 譬如说,小丁同学既可以在首页的工作台上进入应用维护功能,也可以在二级菜单上找到对应的入口。如下图所示: ; R) n4 |* n0 ?) a# k7 ?( K. J7 |; L
8 y, m$ O0 s; d0 @7 p; r5 X
通过上图,我们可以整理出信息架构: 首页(工作台):应用快捷入口,环境快捷入口,…… 应用管理-应用列表(创建应用、编辑应用) 环境管理-环境列表(公共配置查看、公共配置编辑) % a6 B8 ] w+ `- h0 V
故事越写越多,进入途径梳理清楚之后,我们就能总结出需要哪些 Dashboard、一级菜单、二级菜单,进一步还能整理出业务流转流程。 以上这种思考问题和推演方法,有助于我们从零开始,一点点切入平台,而不是像下面这样“拍脑袋”地逆向设计: 先构想一级菜单和二级菜单 再构想菜单点击之后需要实现的功能点 最后在做页面组织 7 `6 u i& e. T
我们的技术预研课题一般都围绕着这四个核心概念: 资源 数据 流程 操作 8 n7 n1 ? ?" m4 N; R6 b4 l
开始构建一个体系。 我们顺着 场景——>故事——>信息架构——>业务流程——>版本以及版本包含的功能点,就可以把我们所掌握的资源(虚拟机集群、Docker集群、物理机、……),外界采集的数据(组织架构、员工信息、有效门店、交易……),业务流转的流程,各个部门的操作,顺利地结合起来。
7 e; ?. o" \) ?. T S1 B8 N: N
+ ^4 j" @" c! ?' l T2 S- U+ ^' ]2 I |