架构师的责任
1. 平衡(balance),随着功能扩展,持续保持整个系统的平衡性。
2. 一致性(Consistency),多个模块和设计之间,从需求到实现细节,从系统级到细节实现。
3. 分解、集成(Decomposition,Integration),分解是处理复杂和大麻烦的标准答案,将系统分解成子系统,分解出模块化子系统是架构的主要责任。大多数系统需要多维度分解:物理、逻辑、功能等等。与分解相对的是集成,产品的终极目标是完整的功能,实践中集成远比分解困难,事实上架构的分解必须保证可以集成。
4. 整个系统的overview。以帮助理解整个设计决策,架构师必须向产品所有人员提供overview。大多数成员只有很有限的视野,架构师要帮助他们正确理解当前的设计决策。
5. 优雅、简单(Elegance,Simplicity)。这一点要避免主观,简单和优雅不能从架构师的角度理解,而是需要其他人认可。
6. 完整性(Integrity),系统设计和规范必须完整,开发团队经常跑偏,这依赖于每周的宣传主题,架构师的责任是随时拉回来。
7. 试运行(Fitting),在整个项目周期中,保证各利益相关者的需求,是架构师的一个核心责任,架构师必须具有广泛并且足够深度的各种知识。