架构每日一学 13:架构师如何确认架构活动的目标?

事实上,在互联网企业的绝大多数项目中,架构活动的目标都不合理或不明确。

如果目标不明确,那么整个架构活动难以达到预期的效果,因为连自己究竟想要什么都没有想清楚。

而确立架构活动的目标是架构工作中最重要的一环,如果架构师能为架构活动确立合理、明确的目标,将对公司产生巨大的价值。

合理且明确的目标是什么样子的?

首先是目标的正确性。目标的正确性是指企业在当下应该追求的目标。

网上流传的很火的一个视频,小米副总裁在一次 618 活动中赚了一个亿,却被雷军骂了。为什么呢?因为这次营销活动的目的是为小米新开业务扩大市场份额,而不是为了挣钱。

因为在雷军看来,只要前期市场份额扩大之后,后面利润自然就会上涨,而副总裁的做法明显与雷军的目标不一致。

这就是目标正确性的含义,副总裁的目标从长远来看是正确的,但不是目标正确,因为企业当下应该追求的目标是市场份额,而不是利润。

其次是目标的合理性。目标合理性是指目标既具有一定挑战,又不会过分夸大,导致实际操作动作变形,很难做到。

具体来说,目标的合理性包含目标的具体值、应该交付的时间和想要达到的质量要求。

最后是目标的可达性。可达就是最终到达,也就是说,即使项目在操作过程中遇到了实实在在的风险,这个风险导致计算资源人力成本的增加,但是仍在可控范围内,可以达到最终的目标,而不是被风险击败。

目标的正确性,合理性和可达性看起来差别不大,但仔细推敲后,你会发现这三个定义的角度其实是不一样的。

正确性是站在决策者的角度,帮助决策者做出正确的选择。

合理性是站在执行者的角度去重新思考目标,使团队内部能有效地完成相关任务。

可达性是站在赞助者的角度去审视目标,从而确保投资者以悲观的心态来确保项目即使有重大风险也能有所回报。

赞助者的概念我们往往会忽略,当我们在设计系统时,往往会自以为是的站在全局最优的制高点,却忽略了真正赞助者的利益。

"永远不能忘记我们的衣食父母",将是企业成功的关键。这也是为什么大公司会把"客户第一"放在首位,服务业会提出"顾客就是上帝"的口号。

知道了正确且合理的目标应该是什么样之后,我们就需要做一些事情,帮助我们完成这个目标的制定。

首先要确认核心角色。架构活动中的三个核心角色是决策者、执行者和赞助者,要确立目标,就要找出来这三个角色究竟是谁。

假如你在负责由内审部门主导的实际合规的项目,但是内审部门没有任何的资源调度权利,这时如果认为内审是赞助者,那你的判断就是错误的,必须要找到真正的赞助者,比如业务部门的负责人,只有他才能判断审计的优先级足够高,且愿意投入研发资源来完成这件事。

再举一个例子,架构师往往不是技术资源的掌控者,而只是一个监护人。因为技术资源一般都所属某个业务部门,这些技术资源的成本也将归为所属业务部门下。这就意味着业务部门才是技术资源的真正拥有者,因为他们要支付相关费用,而架构师只是帮助业务部门更好地管理技术团队。

其次,锁定核心角色后,要向他们确认出一个正确合理可达的架构目标。

确定出这个架构目标后,还需要使用 SMART 法则,制定出一个完整的描述。比如如下几个清晰的目标:

三个月内,把 90% 的商家发布商品的时间从每件 30 分钟降低到每件 1 分钟

三个月内,将 80% 的渠道对账准确率提升至 90% 以上

而实际大部分时候,我们的目标是不符合 SMART 原则的。

比如很多企业的项目目标,一般是"做xxx系统"、"xxx稳定性治理"、"资损防控项目"等。

如果是这样,作为架构是我们就需要根据自己的理解编写一份描述,然后请不同的角色分别确认。

小结一下,目标的确认需要从不同的角色出发去审视,这三个角色分别是决策者、执行者和赞助者,从而使目标更正确,合理和可达。而这三个角色也不是随便指定的,只有具备相应权利的人才能承担这些角色。锁定角色后,我们就可以用 SMAER 原则来制定目标了。

推荐阅读

相关推荐
六行神算API-天璇16 小时前
架构思考:大模型作为医疗科研的“智能中间件”
人工智能·中间件·架构·数据挖掘·ar
济南壹软网络科技有限公司16 小时前
企业级盲盒系统:Java高并发架构在多元化抽奖电商中的设计与实践
java·架构·开源源码·盲盒源码·盲盒h5·盲盒app
鹏说大数据18 小时前
数据治理项目实战系列6-数据治理架构设计实战,流程 + 工具双架构拆解
大数据·数据库·架构
一水鉴天18 小时前
整体设计 定稿 之26 重构和改造现有程序结构 之2 (codebuddy)
开发语言·人工智能·重构·架构
隐语SecretFlow18 小时前
【隐语Secreflow】如何配置 Kuscia 对请求进行 Path Rewrit
架构·开源
小二·19 小时前
MyBatis基础入门《十四》多租户架构实战:基于 MyBatis 实现 SaaS 系统的动态数据隔离
数据库·架构·mybatis
老前端的功夫19 小时前
Vue 3 vs Vue 2 深度解析:从架构革新到开发体验全面升级
前端·vue.js·架构
测试人社区-小明20 小时前
智能测试误报问题的深度解析与应对策略
人工智能·opencv·线性代数·微服务·矩阵·架构·数据挖掘
nbsaas-boot21 小时前
JWT 与 Session 的实用场景分析:从架构边界到工程落地
java·开发语言·架构