转载

系统设计之系统建设的目的

在前面<聊聊系统设计的套路>这篇文章里聊了下做系统设计的一个思考框架,这篇展开讲系统设计的第一步,就是分析清楚系统建设的目的。

作为系统设计的第一步,重要性毋庸置疑,如果连系统建设的目的都没搞清楚,后面所有的步骤都会错误,但如果我们去看很多的系统设计,会发现压根就没有系统建设的目的的仔细分析。

当需要做系统设计时,意味着需要建设一套新系统,或者对原有的系统进行比较大的架构的改造升级,而这一定是因为什么原因才要去做的,之所以要分析好系统建设的目的,一方面是为了避免出发点有问题,系统建设的目的应该是充分反映出解决业务层面临的挑战,或者系统用户层面面临的问题的,而不是出于个人诉求,另一方面是为了确保在后续的系统设计中能保证目的的达成。

从对系统建设的目的的分析中,是很容易看出格局和高度的,这两个词看起来非常虚,但其实很实,格局和高度通常是指所做的事影响的范围大小,例如从所在的一个小团队,到所在的大部门,到所在的大BU,到所在的大BG,到跨多BG的业务板块,到整个集团,甚至是到这个社会,这里一定要实事求是,别这里讲的是世界形势,后面的整个系统设计又完全解决不了这里所说的。

结合我自己的经历来说,在早期做HSF时,在系统建设的目的这点上是最为缺失的,也导致了自己在HSF阶段犯下了几次大的错误,例如最典型的就是HSF做动态化的那次系统架构改造,如果仔细的去分析当时做这件事的目的,就会看到这个是出于技术情怀,而不是业务端面临的业务挑战,或者说HSF的用户面临的问题,也就是之前说的出发点的问题,我觉得这是很多技术人员非常容易犯的错误,就是纯粹是出于技术诉求发动的很大动作的系统重构,我自己是在有一年有一位阿里的高管在给我做辅导时,提到首先要思考清楚为什么做某件事,并且能讲清楚原因,才明白了动机真的是非常重要的,后面做事的时候才能没那么技术化了。

因为HSF/Ali HBase的经历,到了后面做阿里容器/调度、异地多活的时候在目的这块才算是能更好的把握,能更好的去结合阿里的业务所面临的挑战来看要做的事。

大多数时候,驱动系统设计这件事的发生是其他方提出的,作为架构师,做好需求的转换,决定是否要建设新系统,或重构升级老系统,深刻的去理解系统建设的目的也非常重要,因为架构师是最终要给整个技术团队讲为什么要做的,这能够更好的让团队明白做这件事的价值和意义。

总的来说,我认为做系统设计前,一定要先对于系统建设的目的分析清楚,确保系统建设有价值和有意义,同时确保后面的整个系统设计是能让目的达成的。

这个系列的文章会按照<聊聊系统设计的套路>来写,写的时候会理论结合实践,实践主要是讲我自己在相应的点上的一些经历,系列的计划大致是:

  1. 系统设计之系统建设的目的

  2. 系统设计之系统建设的目标

  3. 系统设计之达成目标的核心问题

  4. 系统设计之解决核心问题的设计

  5. 系统设计之设计原则

欢迎关注我的公众号hellojavacases,

聊聊编程能力的高级进阶,

聊聊系统设计,

聊聊技术方向,

聊聊职业生涯的发展。

系统设计之系统建设的目的

原文  http://mp.weixin.qq.com/s?__biz=MjM5MzYzMzkyMQ==&mid=2649826532&idx=1&sn=b4d86812928dd2777ae84876f6ef51b9
正文到此结束
Loading...