架构的定义和架构师的职责

关于架构的定义有很多,我自己比较喜欢这个:「架构是最高层次的规划和难以改变的决定」。

软件架构设计应该在一个很高层面上进行,在做架构设计的时候:

考虑产品需求和功能特性;

考虑性能、可用性、伸缩性、扩展性、安全性、运维监控、集成发布等非功能特性;

开发团队经验技能、组织分工、进度安排等项目管理方法;

产品运营目标、业务组织架构,使技术架构和产品特点与运营方案更好匹配;

甚至要结合技术发展趋势、公司战略目标、个人和团队发展方向,为产品、个人、团队、公司未来可持续发展去设计一个坚实而又有弹性的软件架构。

相关推荐