基于过程改进的软件研发质量管理
2022-04-29任艳
摘 要∶进入21世纪后,信息技术飞速发展,并广泛应用于经济、文化和社会生活等领域。基于此,软件研发质量管理的重要性日渐凸显,成为软件产业发展的核心。如何提升软件质量成为软件企业乃至软件应用领域重点关注的课题。文章对基于过程改进的软件研发质量管理进行研究,旨在为国内软件公司的发展提供参考。
关键词∶过程改进;软件研发;质量管理;模型中图法分类号∶TP311
文献标识码∶A
Software R&D quality management based on process improvement
REN Yan
(CRRC Information Technology Co.,Ltd.,Beijing 10036,China)
Abstract:In the 21st century,information technology has developed rapidly and is widely used in various fields of economy, culture and social life. The importance of software R&D quality management has gradually become prominent, andhow to ensure the quality of soft ware R&D has become a key issue for software enterprises and even software application fields. This paper discusses and studies the related problems of software R&D quality management based on process improvement, aiming at providing some ideas forthe development of domestic software companies. Key words: process improvement, software research and development, quality management, model
1概述
1.1软件研发质量管理
通常,人们会从多个方面出发对软件进行评价,如软件功能、软解界面等。从事实角度出发,上述评价并不是软件质量的科学评价标准。对于软件质量的科学定义应是:与软件产品满足需求所规定的和隐含的能力有关的特征或特性的全体。在软件研发过程中,如何保障软件质量一直是软件企业的重要课题,不管是国外还是国内,对于软件质量问题都设定了一定标准,并在信息技术发展和软件研发技术进步的基础上,不断进行优化完善。当前,软件企业对lSO9000族标准的应用较为广泛,企业不但应用该标准建立质量体系,还会应用该标准对软件研发与维护过程的管理质量进行评价。通过lSO9000族标准的应用,能够让软件企业更加明确生产和发展的目标。
自1980年以来,基于过程改进的软件质量管理模型研究获得一定进展。其中,CMMI模型主要用于评价软件能力成熟度,通过对CMMI模型的应用,其主要目的在于促进软件研发管理能力提升,在软件研发过程发挥指导作用,以提升软件质量,保障软件行业可持续发展[1]。基于CMMI的软件研发质量管理对各项软件能力成熟度的优点进行整合,涵盖软件过程研发、过程改进、管理等众多领域的实践过程,能够对软件企业的生产、研发现状进行科学评估,并以此为基础建立质量改进方案,为软件企业的生产、研发工作提供重要科学指引,提升软件企业的生产效率和生产质量。
1.2软件过程改进
所谓软件过程,是指软件研发人员研发与维护相关产品的方案、实施方法、实施过程以及转换过程。在软件研发时,如果能够对软件过程进行规范,会大大提升软件质量。换言之,必须持续提升技术水平,持续提升规范化水平。软件过程具有特殊性,因此必须借鉴、学习先进软件过程改进的成果。软件过程改进也就是提高软件过程能力。软件过程改进建立在大量简单、渐进的操作步骤上,其基本目标在于减少从研发阶段传递到系统测试阶段的不正确的构建版本。
2现状
如今,我国软件产业正处于蓬勃发展时期。然而,质量管理并不是一个短期活动,而是需要长期实践的过程,在较短时期内,难以衡量出软件研发是否为企业带来一定经济效益,正因为如此,一部分软件企业过去注重短期经济利益,不愿在质量管理上加大投入,这成为提升软件质量的重要阻碍因素,更是软件产业实现可持续发展的重要约束。除了软件企业主观上对质量管理工作的忽视,还存在一些客观方面的因素。
2.1缺乏科学依据
当前,我国一部分软件企业进行软件研发存在这样一种现象:软件研发成果主要依靠团队中某一个或几个优秀成员,一旦这些优秀成员离开团队,项目再获得成功存在較大难度;一些软件研发人员进行软件研发完全凭借经验,不愿遵循规范化管理制度,在出现问题时存在协调难现象;有的研发人员在研发过程中对结果未及时进行记录,以至于后期反复出现同样的问题。之所以出现这些问题,是因为软件企业未建立明确的质量管理体系,且软件管理行为指引和软件研发作业规范缺失,使得软件研发效率大打折扣。由此可见,建立健全质量管理办法是软件企业必须重视的工作,从而使得软件研发设计过程有据可依[2]。
2.2缺乏应用便捷性
一部分软件企业虽然建立了软件质量管理体系,但是缺乏对于其应用便捷性的考虑,存在信息传递延迟、查找检索文件程序烦琐、收集分析数据困难等诸多问题。这些都成为软件企业质量管理体系推广应用的阻碍因素,难以切实发挥其实效。因此,软件企业的管理者必须深刻认识质量管理体系的重要性,并结合企业发展实际不断进行优化和完善,提升质量管理效率。从我国软件企业发展实际来看,加强质量管理迫在眉睫,应建立健全质量管理体系,这对于处于蓬勃发展阶段的软件产业而言,具有深远意义。
2.3缺乏完善的质量管理组织结构
首先,软件研发质量管理工作离不开配套的、常设的组织。但是,很多软件企业并未设立相应机构,致使质量管理工作难以有效开展。软件企业缺失专门的质量管理机构,成为其日常工作开展以及软件过程改进的阻碍因素[3]。其次,软件企业内一部分非质量管理部门员工在工作过程中存在“事不关己,高高挂起”的情况,受到错误想法的影响,认为质量管理工作属于质量管理人员的职责,与自己无关。软件企业并未针对这一实际情况在企业内部建立质量管理全员参与机制,无法促使全体员工树立起对质量负责的正确意识。最后,一部分软件企业缺乏对质量管理工作的深刻认识,将质量保证与软件测试直接画等号,更加难以加强软件质量保证和过程改进工作。之所以出现上述问题,恰恰在于软件企业缺乏完善的质量管理体系以及明确的质量监管职责,因此软件企业必须建立完善的质量管理体系,确保专人专责,激发员工的工作积极性,培养员工树立良好的质量管理意识,鼓励全员参与,形成良好的质量管理氛围。
3思路
3.1深入分析软件需求
通常说来,软件需求贯穿于整个软件研发过程。因此,软件研发人员應深入分析软件需求,这对提升软件质量具有举足轻重中的作用。首先,应通过调查问卷、研究资料等方式采集相应信息,通过信息采集实现对客户需求的精准把握[4]。其次,信息收集完成后,应对收集到的信息进行分析、总结、归类,并利用关联法等科学分析方法对信息进行深度挖掘,从多个层面掌握客户的软件需求。
3.2制定质量管理策略
软件企业应鼓励每一位员工积极参与质量管理[5]。因此,软件企业应注重建立全员参与机制。
3.3科学合理优化各过程域
软件研发质量的重要影响因素之一是软件过程成熟度,构建基于CMMI的软件研发质量管理体系,关键在于对各过程域进行持续优化和完善,以需求管理过程域的需求为出发点,难以解决双向追朔暴露出的问题。鉴于此,软件研发人员应及时对记录需求的方式进行改进,不但进行幅度调整,还应进行目标调整,构建多层次、多级别的需求体系,
首先,通过对需求管理工具的高效应用,能够将所有需求用同一编号进行展现,在此基础上能够最大化规避软件质量研发风险[6]。其次,软件研发人员应通过可靠措施将文档缺陷密度控制在基线范围内,并借助相关工具,保证信息数据完整,以提高文档评审质量。最后,应将定量管理过程域与质量管理体系相融合,对质量管理的每一个环节采用适宜的度量管理方式,通过明确度量指标,持续完善软件研发质量管理体系。
3.4落实质量监督工作
我国软件企业对质量管理水平进行评估的途径是质量标准认证,其中比较常用的是ISO9000系列标准化质量体系认证,软件企业获得这一认证,即代表企业产品质量已经可以获得国际上的质量标准认可。但是,这一认证作为一种外部认证形式,包含一定功利性,致使认证过程失去一定客观性和公正性。甚至一部分软件企业会因为已经获得ISO9000系列标准化质量体系认证而放松管理,还有一部分企业为了取得认证指标,过于注重管理,完全忽视软件质量,这脱离了软件企业质量认证的实际。实际上,基于过程改进的软件研发质量管理应提高产品质量,强化企业内部质量活动认证,其作为一种主动性认证行为,是软件企业依靠质量求生存、依靠质量求效益的可行性发展之路。因此,软件企业的管理者应充分重视并做好企业内部认证工作,切实解决企业在软件研发中的质量问题。
3.5弥补软件缺陷
任何一个企业要稳步发展,始终不能忽视人的作用,只有充分发挥人的主观能动性,才能促进软件企业的稳步、健康发展。基于过程改进的软件研发质量管理,其核心任务在于高效消除软件缺陷,满足客户需求,最终达到使客户满意的目标。软件缺陷主要包含两个方面,即技术方面和管理方面。首先,针对技术方面的软件缺陷,应着重从技术方面去解决。在实践过程中,应督促软件研发人员加强专业知识学习,积极探索、创新,对相关技术进行探究和总结,找出解决问题的方案,以后再遇到同类问题时能够快速解决。另外,应定期组织召开技术方面的会议和学习讲座,针对软件研发过程中出现的各种错误和缺陷展开深入研究,探寻解决问题的办法,并通过技术培训等方式积极进行推广,为解决此类问题提供重要参考。其次,针对管理方面的软件缺陷,应着重从管理方面去解决,当前软件企业管理水平不高,软件研发过程中职责不明确,软件一旦出现质量问题,即便大家都能找出问题所在,但是没有人愿意担责。软件研发工作具有一定的挑战性,随着研发工作不断深入,如果对一些小问题视而不见,最终会演变成阻碍提升产品质量的大问题。因此,软件企业应加强工作人员之间的沟通和交流,激发软件研发人员的主观能动性,只有让员工树立质量意识,才能逐步解决软件研发过程中因管理缺陷引发的质量问题。
4结束语
基于过程改进的软件研发质量管理应结合企业发展实际和发展需求,不断进行优化、调整,通过长期实践,不断总结、积累成功经验,并将这些成功经验在企业内进行推广,以形成相应制度和体系,逐步提高企业的软件质量。总之,我国软件研发质量管理仍存在一定的不足,仍须企业和相关研究人员不断探索、创新,以过程改进为基础,建立质量管理体系,为提升软件质量奠定坚实的基础,切实满足客户需求,最终提升软件产品的市场竞争力。
参考文献:
[1]龙燕,罗勇,杨彬.探究GJB5000A的软件过程改进途径[J].电子世界,2021(16):19-20.
[2]于晓春.基于GJB5000A要求的软件过程改进及其与质量管理体系的融合[J].航空标准化与质量,2021(1):24-27.
[3]刘瑞杰,杨文青.基于业务驱动的软件测试过程改进研究分析[J].数字技术与应用,2020,38(10):56-58.
[4]董曦,王妍.基于GJB5000A的软件工程过程组能力探讨[J].船舶标准化工程师,2020,53(4):16-18.
[5]苑学贺,贾冀芳,文建军.基于CMMI和ISO25000的软件研发质量管理体系设计[J].网络安全技术与应用,2019(2):27-30.
[6]辛健.实时测控软件系统研发质量的管理与控制研究[J].仪表技术,2018(11):40-43.
作者简介:
任艳(1983—),硕士,研究方向:软件研发质量管理。