来的。它们包括:
1、雇用质量保证模式
2、引入客户质量模式
3、客户代表质量模式
4、架构师控制产品模式
5、架构和实现模式
6、代码拥有者模式
(2)雇用质量保证模式
如果不能依靠开发人员来测试他们认为会出现的错误,那么雇用专职的质量保证人员作为一个重要的职位。
几年前,一个朋友发狂地找到我。她在一个系统测试组,她感觉自己被孤立了。开发人员不跟系统测试人员说话,看起来像系统测试员没有足够的关于项目的信息。因为他们得不到他们需要的信息,影响他们的正常工作。简而言之,组织有系统测试员的角色,但是人们不认为这个角色是重要的。这说明了质量在这个组织的重要程度。
另一方面,我们可以看看在Borland Quattro Pro for windows(QPW)的角色和沟通。项目是在90年代早期做的,堪称高效和成功的传奇。在这个组织里,质量保证的角色是中心,并且与所有其他角色有很强的沟通。很明显,质量是QPW组织的核心价值。这是被市场所证实的,因为产品在行业中有很高的质量。值得注意的是,占领市场的速度和效率也是关键的价值;这个组织是我们见过的产品能按进度时间发布,开发人员有着最高的生产效率的组织。质量与生产效率不一定是相对的。
雇用质量保证模式包括这些关键点:
顾客参与是QA的关键因素。虽然开发人员可能感觉他们把所有东西都做对了,但是顾客一针见血指出的现实帮助开发人员意识到开发完美的软件是不可能的。
很多企业推迟质量到后期阶段才考虑,或者把QA等同于在开发过程的后期才进行的测试。然而,成功依赖于高质量的工作,尽早的反馈对发现根本性的质量问题是非常重要的。
因此,让QA成为中心角色。一旦开发有东西可进行测试就与开发紧密地绑定在一起。测试计划的开发可以与编码并行,但是开发人员是宣告系统可以准备进入测试的人。QA组织应该在开发之外,换而言之,测试的计划和报告不应该向开发组织负责。
(3)引入客户质量模式
如果你想管理一个能适应客户输入的增量的过程,而且你想你的客户感觉你爱他们,那么把客户引入到你准备好的项目管理和QA中来。
也许最重要的质量的组成部分是顾客满意。实际上,很多人会说那是唯一有用的组成部分。因此,顾客角色在你的组织中的位置表明了你的组织中质量的重要程度。在你的组织和你的顾客之间存在什么信息流呢?我们发现在一个拥有很强的质量文化的组织中,存在良好沟通的客户角色或适当的代理角色。简而言之,开发人员可以学习到顾客的需要,顾客可以得到需要的支持。引入客户质量模式包括下面的方面:
开发组织通过鼓励关键开发角色,或者组织中的角色,与顾客的沟通,来确保和维持顾客满意是非常重要的。沟通不是某个“顾客满意”小组的责任;而是整个组织结构上下全体的需要。
因此,紧密绑定顾客角色与开发人员和架构师角色的关系,而不仅仅是与QA或市场角色。简而言子,开发人员和架构师必须自由地、经常地与顾客交流。当条件允许时,在客户他们自己的环境中来让顾客参与,而不是把他们带到你的环境中来。
让这个交互过程发生需要两个方面:机会和文化。开发人员必须有机会(和方法)去与顾客沟通。为了建立信赖和自由的沟通渠道,他们应该亲自见到顾客。
但是如果组织文化在客户与开发人员之间建立起一道墙的话,这些访问会是肤浅的。特别是,如果系统需求必须经过长期的正式过程才能得到确认,那么开发人员会受到阻碍而不能