架构师如何让架构决策更具未来性?

发布时间:2013-2-18 09:26    发布者:绝对好文
关键词: 架构 , 高焕堂
by 高焕堂

苹果公司前CEO乔布斯(Steve Jobs)曾说:”你必须相信今日所做的(決策)会影响你的未来。”

所以,今日决策的未来性攸关个人或企业的未来发展。

今日決策的未來性

架构师(Architect)是重要的决策者。他要透过架构<设计>来创造<目前(今日)决策>的未来性。对企业而言,所谓未来性就是未来竞争主导性。所以,架构设计不仅要适应未来的变化,而且要让企业、产品或系统在未来多变的需求趋势、时尚空间里取得市场的竞争话语权。

架构师的职责是致力于现在决策,并让它能包容未来的变化,也就是让<目前决策>具有未来性。架构师不是去预测未来(的标准),不是去关心<未来决策>、去替未来做决策。架构<设计>不是要去实现<需求>。需求是善变、市场主导权之竞争也往往如流水般不可测;也就是因为它的未来的不可测性,所以我们需要优越的架构设计。

架构师的核心思维有4个元素:愿景、组合、创新、未来性。对于客户(或企业)而言,愿景是目标,组合创新是手段;然而对于架构师而言,愿景则是手段,组合创新是目的。至于需求(Requirements)代表现实性。愿景和需求都随时间而变,所以架构决策必须具有未来性。

例如,在约20多年前,台北市兴建地铁时,必须做出当时的<目前决策>:地铁出口该高出街道几公分;必须具有未来性:避免未来大雨淹水。如果你是架构师(即地铁建筑设计师)会如何思考呢? 可惜,当时的设计师只依赖统计数字(依过去400年来台北市区平均水位+60公分高)来<预测未来>,没有斟酌当时<目前决策>的未来性。果然在一回台风过境时,台北市地铁全部成为大水沟,不幸损失了数百亿元新台币。

Mapping from vision to reality

架构师清晰的愿景(Vision)并非要准确预测世界的未来景象,未来世界是不可知的。但是我们的目前决策会影响世界未来的发展轨迹。所以愿景是期望的未来景象;对架构师而言,它是手段,不是目的。真正目的是:要找出有助于实现愿景的目前决策,这样的决策才真正具有未来性。所以,架构师的主要活动(Action)是: “从愿景回顾到现实” (Mapping from vision to reality.)
关于这项活动,可以听听苹果公司前CEO乔布斯的叙述,他说:

“你不可能在眺望未来时把生活中的每个点连接起来,只有回顾时能才连点成线。”

他所提的就是架构师的关键活动:找到愿景与现实之间的连线。这是架构师必备的修练。

愿景是人们对未来情境的期待。然而,对架构师而言,寻找愿景并非最关键之事。反而是透过「从未来回顾现在」的动作来找到从愿景到现实之间的<连线>(或称途径)才是最关键的事情。所以,不是等到找出真正的愿景之后,才进行”Mapping from the vision to today’s reality”动作;反而是在持续不断地”Mapping”过程中,逐渐寻觅连线和修正愿景。换句话说,进行”Mapping”活动是迭代的(Iterative or Spiral)、实时的,随着时间的推移,现实持续变化,连线持续寻觅,愿景不断修正,整体团队对于愿景愈清晰、对于连线愈有信心、愈乐在其中。

架构师不断在寻觅多条行得通的途径(连线),然后选择一条<较具有未来性>的途径给开发团队施工。由于是一条具有未来性的途径,其意味着继续走下去,遇到阻力时,会有足够的转圜空间。所谓阻力,就包括各方既得利益者的阻碍。因之,架构师会持续不断地寻找<无异走廊(Corridors of indifference)>;经由这走廊,开发团队可以迈向(主人的)目标,但避免伤害伙伴(如客户)或别人的私利而招惹阻力。

虽然初期愿景可以从别人而来,但架构师也需要培养自己的愿景和洞察力。不然,如果只是一心一意实践企业或客户的愿景或需求;而不是去实践自己的愿景的话。架构师就没环境来培养愿景了,于是,没有愿景的架构师可能就不是有效架构师了;反而是一位初阶的开发者呢!

<軟硬整合>架構設計的未來性

以軟、硬件標準化為例

架构师专注的不是未来决策,而是目前决策的未来性。于是,表现在软件架构设计(即决策)的未来性上,其最为明显之处就是:要充分包容未来硬件的创新差异化。君不见,在当今智能终端厂商里,软硬整合做得愈好的,其竞争主导权愈大,获利愈丰,架构师的地位也愈高。

许多人问我:如何(How to)实践<软硬整合>呢? 我要强调:软硬整合是状态(State)、美好情境(Vision);不是如何做(How-to)。就像孙子兵法所说的<知彼知己>是状态,而不是指先知己、后知彼等的步骤(How-to)。

例如,在标准化的迷思上;许多学、研单位的专家们最喜欢谈标准化,并且容易获得政府各单位的支持。身为架构师,该支持这标准化论点吗? 事实上,崇尚标准化是一个陷阱。因为推行标准,就会排除不标准,也排除了创新,将严重伤害产业迈向高峰的机会。反而,架构师应该追求<包容>不标准才对。因为,架构师的职责是致力于现在决策,并让它能包容未来的变化,也就是让<目前决策>具有未来性。架构师不是去预测未来(的标准)、也不是去关心未来决策。过去的标准,会成为现在的不标准;现在的标准会成为未来的不标准;于是架构师致力于制定有效的目前决策,去包容未来的标准与不标准。

再如,无论是智能家庭或智慧城市,几乎都是标准、非标准、开放、非开放并存的空间;所以仰赖高度标准化、寄望完美开放;可能都是乌托邦。如何擘划一个能包容标准、非标准、开放、非开放… 的有机(Organic)架构,来展现未来性,适应未来一切环境变化,才是正道。

以包容通信協議為例
架构师的基本决策之一是:目前如何挖空,以开创产品或系统的未来性。老子曾说过:”无之以为用,有之以为利”。如果把<无>当动词用,就是挖空的意思。把它挖空,才能创造未来的多用途效益。其实,大家都知道房屋墙壁要挖<空>成为门窗,这房屋未来才有用。还有畚箕也要先挖空,将来才能用来装泥土或其它东西。所以目前决定如何挖空,这个决策大大影响整个产品或系统的未来效益,是架构师深具未来性的决策。其中,空与无的涵意非常接近,中国哲学谈无,佛学谈空。

基于这个<挖空>的决策,展现出未来性,让软、硬件能适应未来的环境变化。兹试想,有两个软件模块:C模块与S模块;而且两者之间透过网络通信机制来互通。此时一般人会先去寻找标准的通信机制(如协议),然后才开发C和S软件模块。这就是预测未来(通信途径)了,会让软件架构失去未来性,所以不是有效的软件架构设计思维! 其解决之道是什么呢? 很简单,只要<挖空>来包容通信协议的未来变化,就行了,如下图所示:

future-03.png

于此,我来引用著名软件架构师Fred George的话,他曾说:

“Kent Beck曾经写道:<代码就是设计与残酷现实的黎明交汇>。他的意思是,我们能画出许多美好的设计,但最好的设计仅仅是被翻译为优雅代码的那些。一个无法将愿景(即Vision)带入代码(即Reality)的架构师将无法洞悉这个急速变化行业所呈现的面貌。”

結語

架构师是决策者(Decision-Maker),管理学大师比得.杜拉克(Peter F. Drucker)指出:<决策往往不是从真相开始的,而是从想法开始。>一位架构师对于他在行的领域,如果不产生想法的话,表示他没有敏锐的愿景和洞察力。没有想法,而只能依赖需求分析、从中寻找真相,然后采取行动,是极为危险的。

由于机会存在于未来的复杂变化中;唯有简单,才能理解复杂。基于上述的敏锐洞察力,我们能从复杂设计出简单,再从简单掌握复杂。复杂与简单彼此息息相关,在其交错变化韵律中,抓住想不到的机会,创造绚烂的未来。(请参阅<<架构设计造形的简单性>>文章)


本文地址:https://www.eechina.com/thread-110370-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表