[ IT史上最完整、最经典的软件框架开发技术宝典 (上百篇经典文章&eBooks) ]

[ 請指教:高老師的免費on-line教學視頻 ]


架构师的思维模式:逆向思考+删除法_苹果公司

ee                                                                        ee

欢迎访问 ==>高老师的博客网页

高焕堂:MISOO(大数据.大思考)联盟.台北中心和东京(日本)分社.总教练


EE                                                                        EE

架构师的思维模式:逆向思考+删除法

By高煥堂2013/10/13


1.从愿景回顾现实(逆推思维)

    愿景是人们对未来情境的期待。从愿景到架构,就是基于「从未来回顾今日」(MAPingfromVisiontoReality)的逆向思维。其中,对架构师而言,寻找愿景并非最关键之事。反而是透过「从未来回顾现在」的动作来找到从愿景到现实(Reality)之间的<线>才是架构师最关键的事情。就如同,苹果公司乔布斯(SteveJobs)说道:


你不可能在眺望未来时把生活中的每个点连接起来,

只有回顾现在时能才将连点成线。

此你就会相信今天所做的事情会影响你的未来。


    因为「从未来回顾现在」能够引导我们去发现必要的未知(UnknownKnowledge),并且努力去钻研该知识,加上了它,就能与旧知识串成线了。

一位架构师的愿景,并不是看到别人所没看到的景象;而是别人大多从现在遥望未来,很难已找到可实践的线。因为愿景常常来自大老板的企图心,而架构师必须帮他找到通往愿景的线,再交给项目团队去执行;只是,要找到通往愿景的线,其最有效率的途径就是:「从未来回顾今日」思维模式。此项思维的特性如下:

l架构师进行「从未来回顾现在」思考时,它是迭代循环的(IterativeorSpiral)而且持续的;可以表示为:Loop{Mapping(Vision,Reality,Time);}。随着Time的推移,架构师持续关注于Reality的变化,Vision不断调整和完善,整体团队对于愿景愈来愈清晰,愈具有信心且乐在其中。

l对架构师而言,Vision是手段,线是目的。他拿Vision来作为手段,想找出一条Vision-->Reality间的线。一旦找到了线,就称该Vision是可实现的(Achievable)。于是架构师就提供这线给项目团队(Projectteam)去执行。

l对于项目经理或团队而言,线是手段,Vision则是目的。项目团队依循架构师提供的线,踏实执行去实现Vision

l在进行「从未来回顾现在」思考时,架构师很容易安排goal-->sub-goal-->sub-sub-goal的时间相连性,以及时间的间隔。因此能准确依据时间的允许下,挑选和安排可行的行动,时间成为一项较充裕的资源。相对地,若采取「从现在远眺未来」,则时间常常是很匮乏的资源,一味穷紧张地加快赶工。

l很多人误解了「从未来回顾现在」思维模式。其一心一意要寻找自己的Vision,并且怀疑它是否自己所想要的、质疑自己是否有能力完成它等,导致患得患失一直敲不定自已的Vision是甚么?一旦自己对心中的Vision没有信心,就无法回答大老板所提的问题:"Tellmewhy"了。

l举例说明。房屋大厦的建筑师,其与营建商(开发团队)是互补的。他的视角(Viewpoint)Top-down,从第100层楼往下推算出地基的大小。营建商(开发团队)的视角则是Bottom-up,从地基往上建。建筑师提供Vision并找出实践路径(线),让营建商跟随。

l举例说明。例如有一位爸爸(Boss)告诉他在大学念书的儿子(ManagerorTeamMember)说:想办法赚钱(ProblemX);利用课余时间要去摆地摊卖球鞋赚些钱,以便有钱能出国留学(Vision)。这位大学生就答应去卖鞋子。一位有效的架构师则说:不要去摆地摊(解决ProblemX)。并提出相对建议:应该考虑如何从银行申请到留学贷款(ProblemY),可立即出国(实现Vision)了。

l举例说明。例如一栋没有楼梯的建筑物,想从一楼登上二楼,思维步骤是:1)想目标--要上去二楼。2)从二楼往一楼看下来。3)看到一条绳索从二楼往下垂调于半空中。4)去找来一张凳子。然后才展开实际登楼动作:(1)跳上凳子。(2)举手拉到绳子。(3)用力引身上楼。


2.以需求来检验連線(删除法)

无论是需求派或愿景派架构设计,都会遇到思维过程中的发散问题;也就是说在寻找线的过程中,会愈连愈多、不能聚焦,而难以深入规划。在愿景派里,则有一个非常有效的途径,就是:藉由分析需求(或事实)来检验线,采删除法,迅速聚焦。此删除法的特性如下:

l架构师的需求分析与项目团队的需求分析,两者是基于不一样的目的。前者是为了左证为假,来否定之;而后者是为了左证为真,来支撑它。因为架构师从多条路径中挑选一条最佳的,提供给开发者去实践。于是,架构师分析事实(Reality)来试图否定、删除路径。反之,开发团队进行需求分析,主要是用来支持其做最好的实践,而不是删除或否定其实践。

l愿景攸关未来。许多未来的事物常常不容易找到能强力正面支持的事实(Reality)。架构师倒过来,寻找强有力的反面否定的事实就简单多了。这种途径,让架构师对于无法被否定的命题,却有十足信心敢去相信。

l架构师对于目标是非常关注的,但是目标是在未来,于眼前并不一定真的能看清楚,更因为架构师常常基于<删除法>去选择目标和手段,并非正面地去证实目标和手段是正确、最好的。

l举例说明。例如,孔明军事架构设计的经典之作<<隆中对>>写道:「今操已拥百万之众,挟天子而令诸侯,此诚不可与争锋。」分析两件事实,就足以删除一统天下的路径。而且,「孙权据有江东,已历三世,国险而民附,贤能为之用,此可以为援而不可图也。」这也删除了二分天下的路径。

l此删除法,与麦肯锡(McKinsey)顾问公司的MECE方法是基于相同的思维模式。

l麦肯锡方法最核心的思维就是:MECE(mutuallyexclusive,collectivelyexhaustive)+FBA(Fact-basedanalysis)。其中,MECE是建立一个树状的「从未来(Vision)回顾现在的线」架构;而FBA是在架构引领下的现实(Reality)收集和分析,以便删除不可实现的线


   综上所述,架构师擅长于:1)右脑的逆向思维;2)基于事实检验的删除法。他很容易发现ProblemX不在通往Vision线上,或者基于事实而否决掉ProblemX的可实现性。但是无法以左脑正面推理出ProblemY是正确途径;于是有时候架构师会依赖Prototype来展示架构的正确性和可实现性。

   此外,项目团队常凭<过去>经验而挑选一条看来成功机率性较高的路径X。架构师常从未来回顾现在,很容易看出路径Y才是抵达未来目标最佳路径。此刻架构师不能专注于正面说明路径Y优于X,而是要专注于:1)清晰叙述未来目标;2)找出事实删除路径X。如此才可能说服他们放弃X