你需要从软件架构师身上寻找许多不同的品质,他们过去的经验往往能很好地评判他们承担这个角色的能力。既然软件架构师是一个变化的角色,你就要看得更深,才能理解参与度、影响力、领导力和责任感的水平,这些在多个不同领域都已经论证过。结合我对软件架构角色的定义 ,每个部分都能够且应该单独评估。毕竟,软件设计过程看起来相当简单,要做的就是搞清楚需求,设计一个能满足它们的系统。但在现实中可不是这么简单,人们承担的软件架构角色可能千差万别。比如下面这些。
1.架构驱动力 :捕捉和挑战一套复杂的非功能需求,还是简单地假设它们的存在。
2.设计软件 :从零开始设计一个软件系统,还是扩展已有的。
3.技术风险 :证明你的架构能够工作,还是盲目乐观。
4.架构演化 :持续参与和演化你的架构,还是把它交给“实现团队”。
5.编写代码 :参与交付的实践部分,还是袖手旁观。
6.质量保证 :保证质量并选择标准,还是反其道而行之或无所作为。
其中大部分可以归结为是承担寻找方案的责任还是推诿问题。