可惜,很多软件团队里,在开发团队和架构师之间都有这个不必要的鸿沟,特别是当架构师被看作是只会下命令的独裁者。这导致了几个问题:
- 不管架构师的决策是否正确,开发团队都不尊重他;
- 开发团队变得缺乏积极性;
- 重要决策因为职责不明而无人负责;
- 因为没有人负责大局,项目最终苦不堪言。
幸好,有一些简单的方法能从两方面解决这个问题,毕竟,软件开发是一个团队行为。
如果你是软件架构师
- 包容与合作:让开发团队参与软件架构的过程,帮助他们了解大局,认同你所做的决策。确保每个人都明白决策背后的原理和目的,会对此有所帮助。
- 动手:如果可能的话,参与一些项目的日常开发工作 来提高你对架构交付的理解。根据你的角色和团队规模,这可能会不太现实,那就通过其他方式来了解底层的进展,比如协助设计和代码评审。了解软件的底层如何工作会让你更透彻地了解开发团队对架构(比如:他们是否对其视而不见)的感受,也会为你提供有价值的信息,可以用来更好地塑造/影响架构。如果开发者感到痛苦,你也要感同身受。
如果你是软件开发者
- 了解大局:花些时间去了解大局将帮助你了解做出架构决策的语境,增强你对系统整体的理解。
- 挑战架构决策:有了对大局的了解,你现在就有机会挑战眼前的架构决策。架构应该是一个合作的过程,而不是由那些不参与项目日常工作的人说了算。如果你发现有些事情你不理解或不喜欢,挑战它。
- 申请参与:很多项目都有一个负责架构的架构师,这个人通常会承担所有的“架构工作”。如果你是一个开发者,想要参与其中,提出来。你说不定帮了架构师一个忙!