background image

开来。小组所作的结果,需要被

"平衡。" 贯穿整个文章的术语"构架师",是指的

 

一个人或者整个小组的成员。

  

[一个小组]是一些拥有各种技术的人的集合,他们之间有共同需要完成的

目标,并且之间相互负责任。如果一个小组来担当构架师的角色,那么就需要有
一个人作为这些构架师的领导,他要拥有整体的前景,并且需要调节构架师小
组之间的问题。如果没有这种调节,构架师小组成员之间就会存在危险,他们可

 

能不会建立出一个紧密地构架或者决策不会被成功的完成。

  现在有一个新的概念在构架师小组中被提出:为了使成员之间达到共同的

 

目的和目标,团队为构架师小组建立并发布了一个章程。 好的构架师知道自己
的强项和弱点在哪里。无论构架师的角色被一个人还是一个小组担当,他们背后
都有

"值得信赖的顾问"的支持。他们可以通过和其他构架师协同工作来弥补自身

在某些技术方面的不足。最好的构架通常是被一个构架师小组建立的,而不是一

 

个人。原因很简单,一个小组的力量总要比一个人的知识丰富的多。

  构架师小组的概念有一个缺陷,他们有时被团队中的其他人认为是在

"象牙

"里工作,因为他们的产品经常是很有智慧的但却没有使用价值。这种误解可

以从开始就把它减到最小:

1)确保所有的涉众都能积极地协商,2)不断的交流

构架和它的价值,

3)

 

在执行过程中要有组织策略的意识。

 

构架师应该理解软件开发过程

  构架师应该对软件开发过程有正确的估计,因为这个过程确保小组中的所
有成员使用同等的方式工作。一个好的过程需要定义各个角色的工作承担责任,

 

产品的建立,不同角色之间的协同工作等等。由于构架师每天的工作都需要和很
多小组成员打交道,所以对于他们来说了解工作的职责是非常重要的。在每天的
工作中,开发小组经常要找到构架师,了解该做什么工作以及怎么去做。这就是

 

软件构架师和项目经理之间的细微差别。

 

软件构架师需要有商业领域的知识

  尽管拥有了丰富的软件开发经验,但是我们还期望(或者是要求)构架师
拥有一定商业领域的知识。

[一个领域]是在一个范围内工作的从业人员使用一系

 

列特定的概念和术语来表达这个领域内的知识。

  这种知识将会使构架师更好的理解系统的需求,并把精力投身于其中,确

——

保系统的需求是合适的

例如,从构架师领域的角度出发,需求是要被准确

捕获的。经常会出现这样的情况,一个特定系列的构架样式可以被应用到与它相
联系的一个特定的领域中。如果构架师知道这种映射关系,那么对他的工作将是

 

很大的帮助。