为什么实施GJB5000A之后软件的质量没有得到改善?

很多组织在实施完GJB5000A 二级和三级后,软件的质量并没有得到明显的质量改善——软件到了系统联试和外场试验的时候,依然会暴露很多问题。这是为什么呢?

抛除少数组织实施GJB5000A只为了获取资质,一旦通过认证之后就把这套体系弃之不用的情况外,实施GJB5000A软件过程体系却没有改善软件质量可能还有以下原因:

  • 没有根据组织的实际情况对GJB5000A软件过程体系做持续优化和改进

任何一个组织实施GJB5000A的过程都是一个从无到有,认识逐渐加深的过程。这就意味着实施GJB5000A初期建立的软件过程体系与组织的实际情况不会那么契合,那它所起的作用也就有限。

如果一个组织在通过GJB5000A认证的两三年甚至更久之后,仍然使用通过认证时的那套体系来管理软件项目,或者顶多根据外部评价的意见做些标准符合性的改进,那可以预见该组织的软件质量不会得到明显改善。

GJB5000A的组织过程焦点(OPF)所要求的过程改进,以及共用实践中的中高层验证,并不只是有那么几份报告和会议纪要就了事的,它是要求组织能够通过分析软件开发过程及实施GJB5000A的过程中发现的问题来找出过程改进项的。软件过程改进的目的是为了更好地完成软件开发,绝不是为了合规。

  • 没有在那些对软件质量有直接影响的过程域上面下功夫

GJB5000A是软件开发优秀实践的大集合,是软件开发过程管理的大框架,它规定了软件开发的组织活动、工程活动、管理活动、支持活动等方方面面,累计有几百个专用实践和共用实践。所以,如果组织在实施GJB5000A的时候面面俱到,没有把有限的资源向那些对软件质量有直接影响的过程域倾斜,那对软件质量的改善也会很有限。

GJB5000A中的那些组织过程、管理过程,它所起的作用就是预防。就像中药那样,能治病,见效慢,但是能从根本上解决病因。而工程活动则好比是西药,可以立竿见影,直接作用在病处。

而在这些工程活动中,对软件质量有直接且巨大的影响就是测试与同行评审。

软件测试的功效还是被很多组织认可的,但也存在很多对测试不够重视的情况。比如,有些组织不追求内部测试能力的建设和提高,更依赖于外部测试;或者尽管开展测试活动,但却不抓测试的充分性和有效性。这种做法都会使得参试的软件质量得不到保证。

与测试相比,同行评审对于软件质量控制的作用要大得多。根据统计数据证明,同行评审发现问题的效率一般是测试发现问题的3倍以上。但要达到这样的效果,需要在同行评审上面加大投入。至少我们的同行评审要满足Humphery在PSP/TSP中的建议:设计评审工作量要大于设计工作量的1/2,代码评审工作量要大于编码工作量的1/2。如果组织因为工期紧张就忽略了同行评审,软件质量也得不到改善。

总之,实施GJB5000A之后软件质量没有得到改善,并不是GJB5000A过程体系的问题,而是我们实施的问题。根据组织的实际问题不断改进GJB5000A过程体系,充分发挥同行评审和测试活动对软件质量的影响力,组织的软件质量一定会有很大的改观。

这正是:

质量缘何未改善,不能标准来承担

过程改进没做好,评审测试没抓严

参考书目:术以载道:软件过程改进实践指南,作者:任甲林,出版社:人民邮电出版社

作者简介:王小双,长期从事GJB5000推广、实施、评价、改进的工作,创建《软件工程之思》微信公众号,一直在《软件工程之思》分享GJB5000、CMMI、软件工程的知识和感悟。现致力于GJB5000咨询以及软件过程改进、软件工程能力提升的研究工作。

为什么实施GJB5000A之后软件的质量没有得到改善?》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:http://www.hashtobe.com/3479.html