问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

架构设计,如何找到正确的架构目标

创作时间:
作者:
@小白创作中心

架构设计,如何找到正确的架构目标

引用
CSDN
1.
https://m.blog.csdn.net/weixin_44485280/article/details/140229726

在软件架构设计中,明确的目标是成功的关键。本文将探讨架构设计目标的重要性、常见问题及解决方案,帮助技术团队在复杂多变的业务环境中做出正确的技术决策。

前言

目标能给我们指明前进的方向,无论做什么事情,确定目标的正确性都是首要任务。架构设计也一样,目标是架构设计的起点,它能够一直引导我们走在正确的道路上,同时帮助我们做取舍,在多个备选架构方案中作出最优的选择。目标不正确,团队再努力也是白给。

一、为什么需要目标

很多人认为,架构设计就是一个迭代的过程,我们要不断发现并且补偿现阶段软件设计的不完美,然后通过各种手段打补丁升级。因此,架构设计永远都是螺旋上升的,没有也不需要目标的指引。这其实是一个非常错误的观点,尤其是在当前的大环境下敏捷开发成为了主旋律,大家只顾小步快跑完全忽略了架构设计,没有目标导向更没有风险管理。最终导致项目一直交付不掉,即使是交付了后续维护成本也不断飙升。

很多技术同学做架构设计,首先会考虑 “技术先进性”,以此来作为架构目标,这其实是一个不成熟甚至错误的观念。作为技术人员追求 “技术先进性” 其实是一个积极向上的表现,但作为架构目标显然不合适了。 从实际案例来看,很多以 “技术先进性” 为出发点的项目都烂尾了,技术负责人在简历上添加了技术亮点之后提桶跑路了,惨了剩下填坑的同学。

二、目标缺失的原因

1、技术上,缺少全局视角

由于技术原因导致的目标缺失往往有个非常积极正面的出发点:那就是技术同学对于先进技术的强烈好奇心。很多同学会经常在社区内互相讨论新技术新趋势,当好奇心转变成行动,也就意味着我们已经从一个深受技术理念影响的评价者转变成了追随者。作为架构师,首先做的不是全盘否定,而是站在他的视角,看到、并理解他的出发点的正确部分是什么。

开发者的个人喜好、技术能力,甚至与其他开发者的关系,也会影响到自己是否会引入一个新系统。有这么个现象,新入职的同学对公司的老代码各种看不上,投入很大精力重构,刚开始确实理清楚了一些东西,随着业务的发展代码越堆越多,当这批人离职新人进来,又对这个代码各种看不上。嗨,闭环了!

做技术的同学也不要动不动就认为别人的东西过度设计了,认为我的场景简单,就应该定制自己的技术。往往你的场景简单,仅仅是因为你的业务还没做起来。

最后是架构师视角,没有从全局视角去思考架构活动的回报,以及它对企业整体复杂性的影响。作为技术负责人,你的视野一定不能局限于技术,要考虑到业务、产品、运营甚至商业。尤其在当前的大环境下,你的技术团队不能为公司创造商业价值,那么一定就会游离在被砍的边缘!

2、业务上,目标太多、不明确

比技术原因更常见的是业务原因,主要表现在:目标太多、目标不明确或者是目标摇摆不定。其实很好理解,业务在快速发展,行业在不停的变化,自然不太好找到正确的目标。技术人员想要解这种问题非常困难,后面我们重点说下。

交付压力,团队根本来不及做统一规划。如前面所说,业务在快速发展,很多需求延期交付就失去了他的价值。这个时候的唯一目标就应该是交付了,需要沟通业务人员来拆分目标,先保证最核心模块的按时交付!

三、如何判断目标的正确性

架构不是靠全程饱和攻击取胜的,而是靠对阶段性精确目标的最大化投入!作为一个架构师,怎么判断一个目标是不是正确的呢?

  1. 要用企业的战略意图去鉴定架构活动目标的正确性。
  2. 如果目标与战略意图不匹配,那么你要试图影响甚至是改变这个目标。你可以与架构项目的发起人反复沟通,陈述你的理由,建议他去寻找另一个更接近战略意图的目标。
  3. 如果目标与战略意图匹配,那你要看看是否存在一个更合理的目标,可以让企业能够更快地逼近战略意图。

四、目标太多或者是不明确,怎么办?

这里我们先说下决策者和取舍权,决策权决定要什么,取舍权决定保留什么。一个决策者,必须要行使自己的取舍权,在自己的决策领域内做取舍。那种天天叫嚷着既要、也要、还要的人,其实就是不知道客户要什么。他们行使了自己的决策权,做了全部都要的决定。但也放弃了自己的取舍权,用全方位搜索来代替自己的思考无能。做技术管理、做产品、做业务,都一样,我们必须要有且仅有一个明确的目标。只有先要、后要,没有既要、还要!

取舍权是一个决策者最重要的权限,很不幸的是,这个权限却经常被不明不白地下放了。原因就在于决策者不是在目标上做取舍,而是选择向团队做无度的索求,制定一个又一个目标。然而无度的索求是不可能被完全满足的,这就导致取舍权被分散给了执行者。这意味着在你的决策范围内,如果你不做取舍,那么就只能让别人来替你做取舍。那么,碰到这种情况,我们该如何去做呢?

  1. 想办法反馈这个情形,耐心解释给当初的决策者,请他来做取舍。
  2. 你自己做个取舍优先级,想办法通知到决策者。
  3. 可以尝试自己拿下取舍权。不过需要清晰表达你取舍背后的思考逻辑,并邀请相关的利益方参与辩论。如果他们的输入合理,那么你可以调整取舍。如果输入不合理,那么你可以选择拒绝他们的要求。

五、目标的实施路径与成本考虑

当你有了一个正确的关于架构目标的决策,要知道这只是一个起点,你还要认真思考这个决策的实施路径。在制定完新方案之后,你要彻底理解新方案的价值,然后客观角度去考虑以下问题:

  1. 新方案的实现成本有多少?
  2. 新方案上线后带来的短期价值有多大?
  3. 这个新方案是否可以全面替代现有方案?
  4. 全面替代的实施成本有多少?
  5. 全面替代之后,这个新方案带来的长期价值是什么?
  6. 如果不能全面替代,而是两套方案并存,那么增量的维护成本有多大?

总结

寻找正确的架构目标是一个复杂的过程,首先需要把格局和视野打开,从各个视角去考虑问题,技术人员的思维一定不要局限于技术,技术很容易被替代,但思维不会!

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号