技术、管理和架构的一体两面关系

一个软件项目需要有一个架构师这样的角色来平衡技术上的细节和管理的规模(见《每一个软件项目都应有个架构师》)。而技术、管理和架构之间实际上是一种一体两面的关系,它们之间的关系在理想情况下如下图所示。

技术、管理和架构的一体两面关系

但是,架构这一角色,在组织关系上介于管理与技术之间,在工作内容上也与二者有所重叠,在职责权利上游难以对当前项目与产品直接效果。

所以,如果架构角色不能很好地平衡技术的细节和管理的规模,将会给项目带来负面的影响。

  1. 架构对技术细节的失控

当架构角色的技术水平不足,难以把控产品实现的技术细节,使得程序员使用了一些不适合项目的技术,实现了一些不必要的功能,从而可能带来实现的软件产品与用户需求不符的境况。即便通过验证和确认的手段发现了偏离,技术调整的成本也会很高。所以架构即使得到管理角色的支持,最多也就是能够按时完成开发,但交付的却是与用户需求有差距的产品。如下图所示,

技术、管理和架构的一体两面关系

  1. 架构对管理规模的失控

如果架构角色有很强的技术能力,他也更愿意与技术角色合作,那么他可以在需求和目标上与技术角色达成一致,软件项目可以达成技术上的目标,但是,由于管理上的失控,会导致成本增加、研发周期延长等违反项目初始目标的境况。如下图所示。

  1. 架构对管理、技术都失控

如果架构对管理规模和技术细节都失控(如下图),那么带来的结果可能就是管理边界变大、复杂度增加、组织规模增长。

所以,技术、管理和架构三者最佳的关系是一种为了完成同一项目目标下的合作关系——架构角色完全理解自己的职责,管理与技术角色完全理解架构角色的职责,并且完全配合他。

这正是:

技术管理和架构,一体两面来合作

为了同一个目标,哪方失控有恶果

参考书目:大道至易:实践者的思想,作者:周爱民,出版社:人民邮电出版社

作者简介:王小双,长期从事GJB5000推广、实施、评价、改进的工作,创建《软件工程之思》微信公众号,一直在《软件工程之思》分享GJB5000、CMMI、软件工程的知识和感悟。现致力于GJB5000咨询以及软件过程改进、软件工程能力提升的研究工作。

技术、管理和架构的一体两面关系》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:http://www.bookhoes.com/467.html