随着我国国民经济的快速发展,信息产业步入了高速发展的阶段,涌现出为数众多的软件生产和服务厂商。这些企业面临激烈的市场竞争,迫切需要提高管理水平,部分企业开始引入ISO 9001质量管理体系。现就软件企业导入ISO 9001关注点作一粗浅分析。
第一, 软件企业从项目策划开始,就必须同时规划完整的设计文档,把文档规划纳入软件设计不可或缺的一部分,与编程设计放在同等重要的位置。这点对软件企业导入ISO9001质量管理体系具有十分重要的意义。
软件企业标称人员的流动率高,这是IT行业的特点。尤其我国大多数软件企业规模偏小,编程人员流动率更高,据统计有的高达30%。同时,技术人员还会有内部项目之间的流动,如果没有建立严格的高水平的文档体系,产品的开发难以正常进行。
印度的软件产业国际知名,就是应为他们软件工程管理水平高,他们的软件产品可以不依赖任何一个人,谁都可以立即辞职,产品的开发还是会正常进行。他们的文档做的很详细,详细到只要有个文档就可以编码的程度,而且所有的东西(包括草稿)都有文档。国内软件企业常见的通病是,一个软件中有多个版本,每个人都觉得别人做的差,自己再搞一套,又不留下文档注释,叫后面接手的人无从着手。
所以,软件企业应严格文档策划,软件开发同样遵循设计策划—开发—评审—验证—产品检测—安装运行—反馈—修改等过程。与软件产品直接相关的通常有以下几种文档:
1.开发文档。企业接受一个开发项目后,首先熟悉
业务流程,确定需要实现的功能,然后熟悉业务流程,确定需要实现的功能,然后选择系统和开发工具,对开发做一整体构架。一个大的程序可划分多个模块,交给多个程序员或开发小组同时进行。开发应吸取以往设计的经验教训,避免重新出现同样或类似的问题;产品的设计应便于测试、维护和使用;文档需要对开发的规则、约定和软硬件接口定义等有详细记录。
2.编程文档。程序员在编写程序代码时,需要对关键点和实现重要功能的程序进行注释,对一些公用模块、自己开发的函数、功能键的源代码更要有详细注释说明。对软件版本升级也要有详细记录。
3.测试维护文档。软件在交付使用前需要进行调试,以防不成熟的软件系统交付使用后出现问题。所以要对测试进行认真策划,制定模块测试、集成测试、系统测试计划,确定测试是否完成的判断准则。另外,客户的软件应用环境多种多样、千差万别,软件编写稍不严谨便会出现漏洞(bug),这也需要调试后修改程序,做好记录。
所有文档记录格式都应是规范的,内容包括出错现象,原因分析、改进步骤、测试结果等。因为建立良好的文档说明可以保持程序的可读性和易维护性,从而保证程序开发的连续性。
ISO 9001:2008标准要求建立并保持一个文化化的质量管理体系,这个体系应是贯穿软件整个生存周期的一个综合过程,以便在开放过程中保证质量,而不是在过程结束时才发现质量问题。应确保文件化质量管理体系能够有效地贯彻执行。ISO9001:2008标准要求的质量管理体系文件和记录规范手控与我国软件企业需要提高管理水平的实际结合,能丰富企业的技术积累,是软件企业提升技术管理水平,增强竞争力的有效手段。
第二, 大多数软件企业管理流程化,各部门和个人的职责权限划分明确,企业可通过建立一整套的管理系统在内部网上运行,实现办公无纸化。这套系统应由公司指定专人(系统管理员)管理,对个人分别授予策划、评审、验证、开发、调试等权限,设置个人的帐号/密码。各人由所授予的帐户/密码进入系统,进行所设权限的操作,这套流程应设计成未经过上一道操作不能流到下一道程序,过后还应该留有操作时间备注。
软件企业的文件常是电子文档形式,文件控制同样可以在网络上进行,文件的编写、修改、审核、批准、签发由相关具备权限的人员操作,留下各自的操作时间。文件分发也可在网络上进行,不过程序最好设计成文件在网络上分发时,其接受方能回传“已接受”信号并在发送方留下标识。发放的文件应设为“只读”文件“,不得随意修改。只要内部职责权限设置严格规范,网络上有操作时间记录,先后秩序得当,可认为是符合ISO900:2008标准关于文件控制相关条款的要求,是有效的、充分的。
第三, 关注客户投诉。客户投诉有些是设计上的问题,如系统可靠性不足,兼容性不够,程序设计有缺陷等,有待设计人员能力经验的提高来解决;有些是使用上的问题,是操作不当引起的。软件使用者水平不一,软件提供者需要编制完善的使用说明文档提供给用户,或是在系统集成“帮助”文档(F1)。
多数企业习惯将所有文件和记录都放在计算机网络上,带有一定风险,病毒的传播和系统的不稳定都可能给软件运行带来隐患。这时,要考虑到安全性与保密性的问题,应该有灾难性故障的恢复方案和其他防范措施。
第四,应该有管理上的计划文档,如开发进度控制、确认开发阶段输入输出要求,确定开发阶段输入输出要求,确定各阶段的验证准则,软件项的版本标识,故障发生和维护记录的数据统计等。对电子文档,同样要有批准、存取、分发和归档的程序。
ISO9001:2008标准将产品分为硬件、软件、流程性材料和服务四种通用产品类别,尽管这四种类别产品的质量管理体系要求基本上是一致的,但相应的生产特点不同,产品质量的要求及其控制的因素也不同。软件企业的生产和开发融为一体,这是有别于传统制造业的重点特点。软件是无形的产品(当然有代码、文档等表现形式),与传统制造业的有形产品不同,在产品实现过程中,脑力因素起决定性作用,已经没有严格意义上的生产。软件的生产就是软件的设计开发和调试。