最近在做一款android平板上的产品,经过两位QT半年多的测试(用她们自己的话讲已经测的快吐了)加上客户一个多月的测试,依然是每个迭代可以冒出10来个bug,虽然有些是极其特殊的场景下才会发生的,但项目依然不能结案,已经少许delay。这让我有对质量有一些思索,是为序。

       那么,我会想什么是高质量。是不是高质量就是毫无纰漏?好像也不对,因为这样讲的话,那么市面上就没有一款软件产品可以达到这个要求了。你使用的时间越长,发现的问题会越多。既然如此,我就会想,质量是相对的,对某一个人而言的质量,对另一个人可能意味着质量不足。为了确定质量的相对性,需要透过其定义的文字表面,发现法其中隐含的一个或多个人。为此,我们需要提出这样的问题:在这个关于质量的叙述背后,对应的到底是什么人?所以不折不扣的讲,所谓质量就是软件产品对于某个(或某些人)的价值

 

       我们处在一个群居的环境中,要想真正解决质量(或者说高bug)的问题,必须要先弄清楚我们所处的公司实际情况中,也就是常说的“事业环境因素”。CMMI有定义五种层次,依次是:1.初始层次;2.可重复验证的层次;3.经过定义的层次;4.得到管理的层次;5.经过优化的层次。

        对应到软件企业的分类,我们可以此次定义为:

          1、反复无常模式;

          2、例行公事模式;

          3、驾驭自如模式;

          4、未雨绸缪模式;

          5、我也不知道该叫什么,就叫极乐模式吧。

 

        经过我十几年的从业经历来看,国内大多数小的ISP都属于模式1——即反复无常,尤其是十几或几十号人的公司,在这类公司中,最容易出现一个主程或重要程序员搞定一切的情况。这类企业最明显的特征就是“作坊式”。

        在模式2企业中,领导、主管会制定一些规章制度,在大多数情况下,这些都运行的不错。只是遇到一些棘手的问题时,情况就失控或者变得糟糕了。我的理解是,在一整套制度下,基层员工们抱着做一天和尚撞一天钟的心态把事情完成;主管们更多的是依靠命令式

        模式3阶段的企业与模式2阶段最本质的区别是有称职的主管,他们不简单的依靠手中的权杖,他们依靠的是理解;这些主管们有更为纯熟的技巧和更加丰富的经验。其制定了一整套工作规范和流程,得益于这种良好的基础,它们可以持续不断地运转,而且其中的成员相互理解。模式3阶段,会利用到各种工具,而且会很好的利用。

        模式4和模式5国内可以说是极少,那些已经达到了CMMI5级的软件企业实际情况也不一定能做到“未雨绸缪”。

 

        所以,公司与个人要有与自己身份对等的期待,做好分内的事情。在模式1与模式2企业中,谈什么0 bug、高质量,基本上是痴人说梦。