软件质量保证的银弹

       产品质量大概从人类制造工具开始就已经意识到它的重要性,人们对质量的关注仅次于产品功能。在工业时代,为了提高产品质量,人们进行了不懈的探索,在各行各业也形成了自己的质量保证体系。 

       当近几十年出现的软件行业也同样面临质量保证时,人们很自然地想到向传统行业学习,借鉴传统行业的质量保证体系。但很快发现,这招不灵。人们经过研究后发现,传统业行业与软件行业的区别,前者的质量很大程度上取决于原材料质量、生产工艺、生产流程。而后者的质量与原材料无关,与生产工艺关系不大,唯一剩下的是生产流程。于是在软件研发流程方面出现了“瀑布模型”、“迭代模型”、“敏捷模型”等等,在项目开发的过程中,出现了“需求评审”,“设计评审”、“代码评审””等各种评审进行质量确认,在开发模式方面出现了“TDD”、“XP”等等,也出现CMMI等软件质量体系,但都没能彻底解决质量保证问题。在方法引入的初衷都很美好,但在执行过程中逐步走样,慢慢流于形式,最后不了了之。难道是初衷不对?方法不好?

       软件行业与传统业行业都需要人去完成,关键前者对人的依赖远远大于传统业行业。传统行业更多是用管物的方法来保证质量,而将管物的方法用来管人效果肯定不会太好。软件质量保证的根本在人,只有人人都对自己的任务尽心尽责才是正道。

你可能感兴趣的:(软件质量保证的银弹)