质量管理在软件工程中是非常非常重要的一个环节,无论你有多么精妙的算法,或是使用了多么先进的技术,还是拥有了多少强的设计,在质量控制或质量管理面前,这些都可能什么都不是。这里,有一些质量管理的法则,可以让软件的用户从中受益。如果对质量管理一言以蔽之:面对一个长期不断需要改善的软件,当其用户或是管理者们来说,他们对某个组织所提供的标准有一种完全和基本的信任。

    下面,我们给出8个质量管理的法则:

    1. 始终从用户角度出发: “无论何时何地,我们都需要明白用户当前的或未来的需求,并能够达到用户的需求,甚至超出用户的期望。”

    这是整个软件工程的重中之重。质量管理从某种意义上来说,是实现用户需求的质量的管理。这需要我们的质量管理管理和用户的关系,以及把用户的需求和整个团队(开发组,测试组,产品组,项目组等等)进行有些的沟通管理。


    2. 领导能力: “需要建立一个团结统一的有明确方向的团队。这个团队可以创造并维护一种良好的内部气氛,这种氛围可以使得所有的人都能参与进来,从而达到整个团队的目标。”

    对此,我们需要有一个有前瞻性的领导能为整个团队创建一种相互信任的环境。提倡诚实,并积极引导团队成员。从而可以激励每个人,并创建一种策略(比如奖罚机制)来达到这这些目标。

    3. 团队成员主动参与性: “团队成员总是有不同分工和不同职责的,只有所有的团队成员都参与进来,那么整个项目或是整个软件的各个部分,各个方面才会得到完美的发挥。”

    对此,让团队成员有主人翁精神,让他们觉得自己是工作或任务的所有者,是是否能让所有成员主动参与的关键。这里,我们还需要让每个被参与者都要从关注于用户的角度出发,并且帮助和支持团队成员,以及为他们营造一个比较满意的工作环境。

    4. 流程方法: “我们需要一个非常有效率的流程或方法来把所有的资源和日常工作活动整合在一起,形成一种生产线式的生产模式”

    对此,定义一个合适的流程(注意这里是合适的流程,好的流程并不一定是合适的)。这个流程需要有确定整个日常生产活动的输入,输出以及其功能。风险管理,分配责任,以及管理外部和内部的用户。

    5. 系统方法管理: “确定,理解,并管理一个系统相关的流程,以使得整个团队能够有效并快速地自我改善。”

    对此,定义一个系统的组织架构,这个组织架构是高效和有效的。这里我们需要了解到团队的需求(硬件的,软件的,人员的,等等),并了解一些可能会发生的限制。这样我们才能有效地管理整个团队系统。

    6. 连续的改进: “不断地改进是一个团队需要给自己设制的目标”

    对此,工作效率上的改进是整个改进的重中之重。工作效率方面,有大程度上取决于工作流程的改进,所以,流程改进是非常重要的,也是需要长期不断去努力改进的。要达到这一目标,一般来说,我们可以使用“计划??执行??检查??总结”这样的循环。

    7. 决策中的事实说话: “只有基于对实际数据和信息的分析后,我们才能制定出有效的决策和行动”

    对此,我们需要注意日常数据和信息的收集,并且我们需要对采集到的数据和信息的精确性进行测量。这样才能让我们在进行决策和行动能基于正确的数据。

    8. 互惠互利: “一个团队中的各个部门或各个子团队虽然是在功能上是独立的,但是,一个互惠互利的局面可以增强整个团队或公司的整体能力并创建更大的价值。”

    对此,我们需要一个健康的团队之间的关系。好的沟通只能让团队获益一时,而只有建立一个长期互惠互利关系或局面,才是长期。