技术开发 频道

大型软件开发过程的质量管理体系

    4 .应用质量管理思想满足顾客需要

    ·缺陷预防

    一 分析过去遇到过的缺陷并采用响应的措施以避免这些类型的缺陷以后再次出现。

    一 规划缺陷预防活动。

    一 找出并确定引起缺陷的通常原因。

    一 对引起缺陷的通常原因划分优先级并系统地消除。

    ·紧紧扣住用户需求

    用户分为两种顾客(Customer)和使用者(User)。前者是付钱的,而后者才是使用者。两者的要求有时是不同的。所以两方面的要求都要满足。 ·采用快速原型法,尽快演示(Demo)给用户并及时获取用户的反馈,根据用户的反馈不断修改软件,而不是全部完工后再最后交给用户。否则,要改的地方可能很多。甚至推翻重来。

    ·充分设计之后再编码,防止因考虑不周而返工。

    ·牢牢控制对缺陷的修改

    要用专门的软件,记录和跟踪软件缺陷的修复。缺陷跟踪记录包括:发现人、缺陷描述、修复人、修复记录、确认人、确认结论,通过后才关闭该记录。

    ·充分进行软件的系统测试

    软件编码、单元测试、集成测试后,还要进行充分的系统测试、回归测试,待软件稳定、不再出现新的缺陷后,再考虑软件出厂。

    · 恰当掌握软件的放行标淮

    并不是零缺陷的软件才是质量高的软件,软件零缺陷几乎是不可能的,对遗留的缺陷要充分进行分析,只要能满足用户需求,软件遗留的缺陷可以在今后升级中解决。

    三、大型软件开发的质量管理体系

    所谓"大型软件开发",通常指那些开发过程资源消耗较大、开发时间跨度长、技术复杂的软件开发过程。例如"集中告警监控软件"NetGuard"在开发过程中,需要30到40名软件工程师花费半年左右的时间;技术上,"NetGuard"与其它多达20多家的电信设备提供商的系统的接口进行互联,并且,作为告警集中监控系统,实时性要求很高。大型软件开发流程可采用螺旋式增量开发方式,示意如下:

    图中各阶段的输出点也是质量控制点,有相应的输出文档和软件代码,均需要得到QM的确认。

    除了上述7个阶段外,还有项目管理(PM)、变更控制、需求控制、文档控制、用户满意度管理等贯穿整个流程。

    软件企业实施ISO 9001,以保证软件产品的质量,总经理应亲自抓质量体系。总经理要制定企业的质量方针和质量目标、配备足够的人力、物力资源,明确各岗位的质量职责,并保证质量体系的运行。

    1.质量管理部门的职责

    由于软件的专业性和复杂性,质量管理可实行"检、监、控"三分离的职责设置:"质量检验"部门是"系统测试部",负责软件质量的检验(功能、性能测试、回归测试等)b"质量管理部"的角色和功能定位为:在管理者代表的领导下,独立:扩企业的运行之外、规划、监督、指导和改进公司质量体系的运行,检查开发结果是否符合规定,可以更全面、客观、公正地观察企业的运际而各部门经理推动该部门的质量管理工作,负行政责任。

    质量管理部的具体职能是:制定质量管理工作计划;对各部门的质量管理工作提出建议指导跟踪、内审、分析质量体系的运行;控制软件和开发文档的版本;确认软件产品的测试结果;组织质量体系的改进。

    根据能力成熟度模型(Capability Maturity Model,简称CMM),质量管理部可开展三个小组的话动、即SEPG(软件工程过程小组)、SCM(软件配置管理小组)、SQA(软件质量保证小组)。这些小组的成员都是兼职的,是各部门的资深开发人员。在质量管理部的领导下,这些小组可以把CMM的原则运用到公司开发流程的改进中。例如分析质量体系各种过程的运行数据,提出对过程的改进方案。

    质量管理部对产品质量进行确认。虽然对软件产品的测试、检验是由专门的部门完成的,但质量管理部要对其进行确认,例如采购的验收、软件的测试等是否按程序文件的规定完成并达到规定的质量要求,开发文档的编写是否符合规定等。

    质量管理部的一项重要工作,是控制软件和开发文档的版本。软件产品的版本非常复杂,相应的开发文档数量多、版本也很复杂,如果软件或文档的版本搞错了,会给使用带来麻烦,所以版本控制是软件产品质量的重要部分。

    对顾客满意程度进行搜集、分析和评价是质量管理部的另一项重要工作。"以顾客为关注焦点"是ISO9000质量管理体系的八项原则之一,公司对顾客的服务的部门有市场营销部、产品开发部、工程部等,而对顾客服务的效果、顾客满意程度的调查、搜集、分析和评价,则应由质量管理部进行(正如运动员不能同时又是裁判一样)。

    2.基于IS09001标准和CMM原则的开发流程管理

    基于ISO9001标淮,并吸收CMM的原则,制定的程序文件和指导书,以及记录这些流程操作的记录表格,应涵盖合同评审、采购、项目管理、软件开发、变更控制、设计评审、文档控制、测试控制、不合格品控制、现场安装、售后服务、技术支持、培训管理等软件开发的全过程,保证质量体系有效性的管理评审、内审、文件/记录控制、纠正/预防措施控制等程序文件,应为各项操作提供科学合理的指导,以此构成完整严密的质量保证体系。

    对于部分模块外包给其它公司开发,公司应首先严格审核承包商的资格,包括人员、设备、资质、以往业绩、管理水平等,与其签订外包合同后,则对承包商进行相同软件的开发过程监控和验收。

    软件开发同样应建立严密的售后服务方面的流程,如技术支持流程、现场技术支持流程、用户本地化技术支持流程、用户走访流程、用户满意调查等,为用户提供全方位的、周到的服务,真正体现ISO9001"让顾客满意"的精神。

0
相关文章