另一个角度的架构师
架构师要做什么?
ADMEMS矩阵,明确介绍了架构师需要思考的问题,而在这个矩阵中,做完一个架构师最需要了解的什么呢?技术?业务?都不是,最需要了解的是你的领导,其次是你的团队成员。
如果你的领导是不懂且不放权的类型,那你的好架构要如何实现呢。如果你的团队技术烂的一塌糊涂,又如何开发出成熟的产品?看看ADMEMS矩阵,理论上是先上后下,先左后右。而现实中,应该是先右后左,先下后上。
看了ADMEMS矩阵,最重要的就是约束,最最重要的就是开发需求对应的约束。那么架构师要如何分析这些呢。
首先分析你的领导
1, 确定他是否能清晰的分辨出团队成员技术的高下,这个清晰很重要,要十分清晰。
2, 确定他支持你架构设计的力度,(强烈支持,还是设计的好就用不行就不用)
3, 确定他是否真的理解了架构的重要性,还是他只是为了给工作计划戴个好看的帽子,还是两者都有。
以上三点只要有一点不满足你的架构基本上就很难实现,为什么是很难而不是不能呢?因为团队成员足以弥补一些领导的能力不足。
接着分析你的团队成员
1, 你的团队成员能力差距是否过大。
2, 你的团队成员能力高的和低的比例是多少。
正所谓巧妇难为无米之炊,即使你再棒,也没办法一个人做项目。团队成员当然都是高手最好,如果是2:1也可以接受,如果是能力低的多,那就要看领导了,如果他不符合上面三点,那软件开发流程就只会是和稀泥式的前进。架构与否就不那么重要了。当成员和领导都是优秀的时候,那么在分析其他需求又有何难呢?
架构设计要思考的问题
一个软件架构师最重要的问题,就是他所设计的产品必须是满足客户战略规划的需求,能够帮助客户解决实际问题的。
这是理论上,或者说是书本上的知识点,现实中的变数太多。首先要考虑着三个问题,who,what,why。
Who:为谁设计?
你设计的架构是为客户设计的吗?你的客户理解你的架构的重要性吗,也许连什么是架构都不懂吧。如果你的客户理解,那么恭喜你,你是在为客户设计一套理想的架构。如果不理解,那么很遗憾,你并不是为你的客户在设计,你是在为你公司的领导在设计。那么你设计的东西就需要为他们讲解。记得,有时候领导比客户更笨拙。并且他们会要求不断解释那些1+1=2的问题。有些架构师太久不去温习那些基础,只是记得1+1=2,却忘记了如何解释,那么很遗憾你的架构将遭到怀疑。我记得以前带我的前行一位架构师和我说过这么一句话,“信则灵,不信则不灵”,这不是迷信,为什么呢?因为架构师要能把所有的东西都给领导和团队成员讲明白,那大家就都是架构师啦,不是架构师讲不明白,是对手听不懂啊。
What:要解决用户的什么问题?
性能低下?结构转换?可维护性差?领导面子?(一点不好笑,真的有公司这么做的)。
我见过一个公司,他们的产品还能运行,但改起来很难受,程序员天天抱怨。于是就请了一个架构师,目的有二,(1)修改产品结构,降低维护成本(2)使员工不要抱怨。结果当然是无疾而终了,新架构上不去,又折腾了好久。最后不愉快的离开。原因是什么呢?首先领导并不是全力支持他,这会导致什么结果呢?他必须设计出完美无缺的架构,并且拥有神一样的讲解能力,否则新架构永远是有风险的。而现在的程序还能运行,不可能去冒这么大的风险。由于这个强力矛盾的存在,那么其他问题也就应运而生了。至于性能低下,结构转换,可维护性差等等,这些技术层面能解决的问题就显得不那么重要了。
Why:为什么要解决这些用户问题?
提高用户体验?用户强制要求?合理化软件程序?为业务拓展做基础?首先要确定,这些真的是用户需求吗?还是程序员们和业务们总结出来的理想建议。如果真的是从用户那里得到的,那么恭喜你,对症下药,功德无量。如果不是,那就是事倍功半,褒贬不一。抑或在根本无法得到客户需求,那么你就只能摸着石头过河了,至于成败,就只能谋事在人成事在天了。
总结
其实业界很多架构师都是摸着石头过河的。又有许多架构师失败并不是因为架构和技术,只是没读懂领导的心。架构师首先要分析公司的现状,然后再设计,当然发现公司现状根本不可能完成架构时,那就要早做准备,不要等到最后背个黑锅离开。如果公司问题太多,新就架构根本是无稽之谈,那就着手于小分区的修改,这也是个长存之道。
----------------------------------------------------------------------------------------------------
注:此文章为原创,欢迎转载,请在文章页面明显位置给出此文链接!
若您觉得这篇文章还不错请点击下右下角的推荐,非常感谢!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
MySQL 内核深度优化
MYSQL数据库适用场景广泛,相较于Oracle、DB2性价比更高,Web网站、日志系统、数据仓库等场景都有MYSQL用武之地,但是也存在对于事务性支持不太好(MySQL 5.5版本开始默认引擎才是InnoDB事务型)、存在多个分支、读写效率瓶颈等问题。 所以如何用好MYSQL变得至关重要,一方面需要通过MYSQL优化找出系统读写瓶颈,提高数据库性能;另一方面需要合理涉及数据结构、调整参数,以提高用户操作响应;同时还有尽可能节省系统资源,以便系统可以提供更大负荷的服务。本文将为大家介绍腾讯云团队是如何对Mysql进行内核级优化的思路和经验。 早期的CDB主要基于开源的Oracle MySQL分支,侧重于优化运维和运营的OSS系统。在腾讯云,因为用户数的不断增加,对CDB for MySQL提出越来越高的要求,腾讯云CDB团队针对用户的需求和业界发展的技术趋势,对CDB for MySQL分支进行深度的定制优化。优化重点围绕内核性能、内核功能和外围OSS系统三个维度展开,具体的做法如下: 一.内核性能的优化 由于腾讯云上的DB基本都需要跨园区灾备的特性,因此CDB for MySQL的优...
- 下一篇
ARM借力使力 AI布局正在稳妥推进
今年Arm宣布最新旗舰CPU——Cortex-A76,相比上一代在性能上实现了35%的提升,同时降低了40%的功耗,并在机器学习能力上提升了4倍。去年Arm发布的Cortex-A75针对AI和ML能力进行了特别优化,同时引入了TrustZone技术(芯片级安全技术)和DynamIQ big.LITTLE拓扑特性。据最新数据显示,截止2017年底基于Arm的芯片出货量已达1200亿片,约占整体市场四成份额。在连续创造惊人的数字之后,ARM的目光更为长远。嵌入式开发 Cortex-A76虽采用和前一代相同的v8.2指令集,但内建的微处理器架构则是从头开始研发,实现了诸多重大改进,包括解耦合分支预测与指令预取、译码宽度更大、更高的整数与向量与浮点运算单元等。同时,Cortex-A76是针对7nm工艺定制的全新架构,在搭配7nm工艺时主频可达到3.0GHz。 这一性能相当于PC端英特尔旗下的酷睿i5-7300,如果SoC厂商缓存设计得更好,其性能甚至可以媲美i7。联想到此前新一代高通骁龙1000版Windows 10ARM笔记本,表明Arm正着力染指PC市场,但能否借Cortex-A76挑战英...
相关文章
文章评论
共有0条评论来说两句吧...