此角色领导或协调系统的技术设计,并全面负责促进重大技术决策,这些决策被表达为软件架构。这通常包括识别并文档化系统架构的重要方面,这些方面是表达需求、设计、实现和部署的视图。
此角色还负责提供这些决策的基本原理、平衡不同利益相关人观点、减少技术风险,以及确保决策被高效沟通、验证并跟随。
此角色在人员和项目策划上与项目经理紧密合作,因为建议团队围绕架构进行组织。
此角色同样和分析人员、开发人员紧密合作,从而确保架构上重要的需求被分配到合适的系统组件。
架构师必须是一个面面俱到的人,拥有成熟、视野,以及深度的经验,使其能够快速的把握问题,并能够根据不完整的信息做出良好、重大的判断。特别是,必须具备以下资格的组合:
从专业角度看,架构师也需要显示设计和实现的能力。然而,从设计的角度,一个有效的架构师通常展示了这些特质:
承担此角色的人应该始终在项目中,从项目的开始到结束。
对于较小的项目,一个人可以同时承担架构师和项目经理的角色。然而,最好由不同的人来承担不同的角色,从而保证来自某角色的压力不会使其忽视另一个角色。架构师和项目经理必须紧密合作。
为了系统扩展,拥有一个架构委员会是种常见的最佳实践,此架构委员会有每个系统的架构师组成,加上一个或两个首席架构师。在这种情况下,架构委员会中的成员集体扮演架构师的角色。
This program and the accompanying materials are made available under the Eclipse Public License V1.0, which accompanies this distribution.
EPF Copyright.