软件进化架构的组织因素与业务实践
1. 团队耦合特性与文化影响
在软件开发中,公司的组织和管理结构对软件的构建和架构设计有着显著影响。大多数架构师往往忽略了团队结构对架构耦合特性的影响,然而这种影响是巨大的。
架构师应关注工程师构建系统的方式,以及组织所奖励的行为。良好的架构师会承担领导角色,塑造技术文化,并设计开发者构建系统的方法,教导和鼓励工程师掌握构建进化架构所需的技能。
可以通过以下问题来了解团队的工程文化:
- 团队成员是否了解适配函数,以及新工具或产品选择对进化新适配函数能力的影响?
- 团队是否衡量系统满足其定义的适配函数的程度?
- 工程师是否理解内聚和耦合,以及共变关系?
- 是否有关于哪些领域和技术概念应结合在一起的讨论?
- 团队选择解决方案是基于其变更能力,而非想学习的技术吗?
- 团队如何应对业务变化?是难以融入小的业务变化,还是在这上面花费了过多时间?
调整团队行为通常需要调整团队周围的流程,因为人们会对要求他们做的事情做出反应。如果团队不习惯变革,架构师可以引入相关实践,将变革作为优先事项。例如,当团队考虑引入新的库或框架时,架构师可以要求团队通过短期实验,明确评估新库或框架会增加多少额外耦合。
代码审查也是考虑新更改代码对未来更改支持程度的自然环节。当然,开发者要警惕过度工程化,避免过早为变更添加额外的复杂性或抽象。
2. 实验文化的推动
成功的进化需要实验,但一些公司因忙于按计划交付而未能进行实验。成功的实验是指定期开展小活动,尝试新想法(包括技术和产品方面),并将成功的实验融入现有系统。
<
超级会员免费看
订阅专栏 解锁全文
8

被折叠的 条评论
为什么被折叠?



