【我们的两点设定带来了一个“没有战略”的死结:】
□客户并不清楚战略;□架构是服从客户设定的战略,而非为客户设定战略。
因此“依据内在动律来主观判断整体动向”其实是不得已而为之的,因而我们也必须质疑:作为架构师,是否真的“不能设定战略”呢?战略与方向,是存在本质性的不同的。方向只表达动向,而战略其实是已经决策的动作,或对其行动步骤的规划②。对于架构师来说,无法决定的其实是客户的战略决策,但对于客户的方向是可以有自己的判断的。以某一企业客户为例,架构师可能不能决定该客户:①如果用户整体的电子化程度相当高,则可能提供有限的、功能性的开放接口。
②我们要尽可能避免望文生义地去理解这些概念。基本上来说,方向与战略并没有非此即彼的边界。事实上在一些讨论中,方向也是战略的一部分,例如将战略表达为战略方向、战略方案、战略决策等的统一。同理,架构师与决策者也并不具有那么明显的分别,很多时候架构师也是决策团队的成员。问题是,如果我们非得要分离出一个“架构师角色”来,那么我愿意将架构师作为战略的分析、细化和推进者,对决策过程只作辅助,而认为战略的制定者另有其人。
□是否通过购并消灭30%的竞争公司。但架构师可以考虑:□购并是企业客户的一个可选途径,若该途径成立,则账户合并将会成为系统中长期的关键问题。
我们看到,这里存在架构师必须“考虑到”的两个因素:□其一,消灭竞争者是公司运作目的;□其二,购并是达成上述目的的一个可行手段。yipindushu.com
架构师对“方向”的考虑在于上述的第一个因素,即对“公司运作目的”的判断:某些情况下,公司并不存有这样的目的,或公司可能根本没有短期竞争者;某些情况下,公司可能需要跟竞争者在某些领域合作,而在某些领域相互牵制;某些情况下,消灭竞争者只是公司经营者的一个口号,而非阶段性的目标……对于类似这些问题,是架构师在方向问题上必须有的判断,这些判断才是后续“是否需要将账户系统的通用化作为架构意图○”的依据。
但无论是否以此作为架构意图,架构师在整个过程中都没有将“购并”作为一个客户战略。架构师只是在客户的经营动向上作出了自己的判断,更或者是尝试性地思考了这一方向的可能性,并更进一步思考了架构需要为此而做出的准备。
是否将“通用账户系统”作为架构意图,是依赖对许多假设条件的分析而作出的,决非凭籍上述一个推断而得。需要指出的是,上述的思考背景包括许多方面,例如:□架构师是否有客户领域的工作经验;□架构师是否对相关行业的信息有过统计分析与评估;□架构师是否了解客户或其领域当前面临的主要问题;□架构师是否参与客户的经营决策;□架构师所面临的系统是客户的解决方案还是试探性产品;□架构师所面临的是对客户系统的改造还是重建(或新建);口架构师是否了解客户对该系统的持续投入情况。
对于这些问题,一方面它并不仅仅取决于系统内部的一般过程,另一方面它也不是对客户战略的直接设定。它们(以及更多的问题)综合地反映了在架构问题上的、最后可以依赖的一些信息,亦即是:客户在系统——所对应的现实系统——中可能选择的方向。
①我们这里假设了一种情况,即在某个系统的建设中,架构师将“使用统一的、通用的账户”作为架构意图。而我们的讨论要点在于:是哪些因素决定了架构师应当(或不应当)作出该判断。
这种情况下①,架构师需要一些主观判断的能力,以及在系统推进中的一些尝试机会。
【四】
可见,在既不存在所谓事实(因而也难有可信的主观判断),又没有所谓战略时,我们是可以藉由前瞻方向来形成架构意图的。而另一方面,我们也可以尝试回溯问题。
Soul曾经是我邻座的同事。某天一早,他敲响了我的工位的隔板,问道:Hi,Aiming,你有没有一个苹果?显然我不会一大早地备好了苹果来等着他的发问。因而我只是诚实地回答道:没有啊。然后机械地开始一天的工作:打开电脑、泡茶、拿出文件夹,以及把椅子调到合适的角度……等等,我们在谈什么②?其实,仅仅在几十秒之后,我便醒悟了——Soul的“一个苹果"不过是一个需求。我有或没有一个苹果,或者能否帮他找到一个苹果,或者他找到一个苹果之后是否太酸太甜等等细节,都只是由这个需求开始的求解(又或者面对这个需求时,就如同我当时的茫然无解)。一刹那之间,我便绕过了这一需求的纷繁枝节,再次回问他道:你是不是饿了啊?这个场景之所以让我如此印象深刻,是因为在前半段中我经历的是典型的“程序过程式"的思维活动,
版权声明
本站素材均来源与互联网和网友投稿,欢迎学习分享
【主要编程范式及其语言特性关系13:http://www.yipindushu.com/xuexifangfa/16424.html
推荐文章
09-11
1 吵架一定要带脏话吗为什么09-11
2 场地推广宣传用语09-03
3 哲理句子慢慢来09-13
4 激励你成长的满满正能量语录大全09-03
5 长句吧 百度贴吧哲理