质量保证的六个模式(5
) -
架构师控制产品模式
陈能技
2007-10-7
原文:Quality:It's All in the Values – Neil Harrison
我们从研究的组织中发现模式。这些模式形成了动态组成的软件项目组的语言模式。这里有一些模式是跟质量和价值尤其相关的。这些模式是从
Organizational Patterns of Agile Software Development
这本书选出来的。它们包括:
1、 雇用质量保证模式
2、引入客户质量模式
3、客户代表质量模式
4、架构师控制产品模式
5、架构和实现模式
6、代码拥有者模式
架构师控制产品模式
如果一个产品有很长的生命周期,那么赋予架构师展望未来的权利,并作为架构风格的长期保持者。
每个产品都有外部和内部质量。系统不仅仅要满足顾客的需要,还要满足系统的开发人员和维护人员目前和将来的需要。内部质量也一样主要由组织的价值和文化来决定的。例如,我们都知道项目的好的设计和文档会在崇拜进度面前牺牲。当然,我们总是对自己承诺我们后面会回来修正问题,但是往往很少这样做。
重视内部系统质量的组织有着长远的视角。他们想公司成功 – 不仅仅是当前季度的成功,而是将来很多年的成功。他们为了后面的回报重视目前的投入。这显然要通过一个卓越的架构角色来实现,因为架构设计和维护一个系统架构都需要很高的内部质量。架构角色与项目组的利益相关方有着很强的沟通并且是系统的技术架构的主要引导力量。
这是架构控制产品模式的组成部分:
虽然产品是由某些个体设计的,一个项目必须努力让产品的设计优雅并且内聚性强。有些项目可能通过集中控制的方式来达到,但是这种控制被大部分开发组认为是专制的。一个人不能做所有的事情,没有一个人可以很好地预见未来。
而且,需要某种程度的架构远见。有些领域技术是通过开发组的范围来分布的,系统的观点 – 尤其是创建普通的对话框和机构的设计原则 – 通常会从这些与个体思想或小组相关联的概念性的整体得到益处。
因此:
创建一个架构师角色作为一个为项目定义架构风格原则的体现,并且定义符合这种风格的广泛的领域专门技术。架构师角色应该建议并对开发人员角色产生影响并应该与他们紧密地沟通。架构师角色是开发组成员之间的主要桥梁。
架构师同样应该与顾客紧密联系。