在软件开发中,质量很重要(这个估计谁都知道),但是很多时候质量看上去却又不能保证(基于进度压力下)。然后,乱了…这个情景我想大多数人都经历着。

  “高质量、高口碑的软件开始于好的分析与设计阶段,并不是靠后期的测试与修补来完成的”

  我发表下下面这几个阶段会影响质量的地方吧:

  ● 分析与设计阶段

  ● 计划安排

  ● 开发阶段

  一、分析与设计阶段

  如何才能做好这个步骤呢?要获取用户真正的需求,同时考虑好可能产生变化的需求点,我认为这两点基本上能保证分析与设计阶段的高质量进行了。这里PM是肯定要花大功夫的,由于这里的“可能产生变化的需求点”需要比较好的业务领域知识,所以PM要做足这个行业的功课了。呵呵,关于PM的工作部分,我不是很清楚…

  二、计划安排

  上面所提的乱,出现的原因很多时候是因为时间问题。所以我认为也需要在计划安排这里花大力气---列出的计划需要周详,不能缺少步骤,并且时间上是差不多够的。当然要是上级要求必须在某某时间完成,这时怎么办?那需要这个项目负责人对上级提出异议,保护这个团队。

  三、开发阶段

  采用迭代开发时,往往是先开发部分功能,接着QA测试那些完成的功能。假如开发的质量有问题,比如很多低级错误、又或者很不稳定,这样的程序交给QA去测试,QA看了后不晕才怪,连看都不想去看了(情有可原)。QA测试不通过,必然开发人员再去进行修改,所以时间会根据质量的高低程度产生急剧的浪费!这里有很多原因发生开发质量不高,比如:主观上的不做单元测试、客观上的由于进度紧不做单元测试,凑合着交给QA

  1、主观上的不做单元测试

    a)这个要么是开发人员根本不知道单元测试是何物(估计没多少人是这个原因)

    b)或者过渡信任自己的程序没有bug

      i.这个只要适当提醒下行了

    c)不积极工作的表现

      i.这个需要注意阿!很危险了

  2、客观上的由于进度紧不做单元测试

    a)一种是由于原先计划安排上有问题

      i.这个我想也只能通过排计划的那人考虑周详点、需求要在排计划之前要90%弄清楚(不知道90%是不是太高了…)

    b)一种是所采用的技术需要攻关

      i.技术研发部门要抓紧时间了,研发部门内部损耗来了,要解决

    c)一种是由于需求老有问题导致了开发阶段较多的非开发时间的产生,而消耗了本该属于开发的时间

      i.需求获取有问题,或者分析那里不够细致,可能是分析时想的不够细,还存在着许多想当然的东西,没有分析到能够交给开发人员做的地步(这地方有挑战!)

    d)还有一种是a+b+c,哈哈(这种还居多)

      i.阿门,依次解决上面几个问题吧..

  上面是我的个人见解,请大家多指教。