什么是质量?
质量这个概念看似简单,实则深奥。国际标准化(ISO)将质量定义为“一个实体满足其明确和隐含需求的能力总和”,而在ISO 9000标准中,它被描述为“一组内在特性满足规定要求的程度”。而的标准(GB/T 19000)则将质量定义为“一组固有特性满足要求的程度”。
这几个定义看起来似乎说得差不多,但具体到实际应用中,我们可能会觉得有点难以捉摸。让我再理顺一下……
质量的核心是标准。标准就像是一个衡量尺度,告诉我们什么才叫“质量好”,什么又是“质量差”。
拿一个螺丝钉举例。如果我轻轻一敲,螺丝钉没有完全打进木头,那我肯定会觉得它“质量差”。如果它顺利地钉进了木头里,我会认为这就是“质量合格”。如果它直接把木头穿透了,我就会大声称赞:“这质量杠杠的!”
谈论质量之前,必须明确一个共同的标准。如果标准不清晰、不统一,质量的讨论就成了空谈。
这就像是老婆给我买了一件“质量非常好”的衣服,虽然我嘴上会说:“亲爱的,你的眼光真好,谢谢你!”但说实话,我根本不明白这件衣服的“好”在哪里——这可是钢铁直男经过多年锤炼的真实感悟。
只要我们有了明确的质量标准,讨论质量就不再困难。质量,其实就是达到质量标准的程度。比如,考试成绩60分就算及格,100分则是质量优异,而考试内容本身就是质量标准。
软件项目的质量是什么?
如果把软件项目当作一个一次性活动,那么软件项目的质量就等同于项目的工作质量,例如按时按量完成任务、代码中的BUG率、功能开发的速度等。而这些工作质量的极致体现,往往就是我们熟悉的KPI。各位开发者怎么看呢?
如果我们将软件项目看作是一个最终的产品,那么软件项目的质量就要从产品本身来衡量。例如接口响应的速度、任务执行的效率、系统的稳定性以及软件的易用性等,这些都是衡量软件质量的关键因素。
如果软件项目签订了合同,那么合同通常会成为项目质量管理的依据,也就是质量标准。现实中即便软件项目完全按照合同要求交付,仍然可能被用户吐槽为“难用”或“垃圾系统”。我认为合同作为质量标准,更多的是法律上的规范,它确定了收款标准、提供了争议时的依据,甚至可能成为打官司的证据。
那么,真正的质量标准究竟是什么?如何界定“好质量”的软件产品呢?其实很简单,只要你的软件和竞品处于同一层次,就算质量达标。如果比竞品做得更好,那就是质量优秀。而如果你能够在行业中脱颖而出,成为领跑者,那才是真正的“质量出色”。至于追求“完美”,还是别想太多了,继续努力吧,开发者们,继续卷下去……