我对软件质量的认识

我想世界上绝大多数企业存在的目的恐怕都是为了使自己的利润最大化。对于一个软件公司来说,最直接实现这个目标的方法就是卖出更多的软件。那么如何实现这一点呢?

市场营销可能是很重要的一点。另外从长久来看,软件产品必须给客户带来利益。也就是说,软件必须能够满足客户的需要,能够对客户提供实实在在的帮助。达不到这样要求的软件最终一定会被客户和市场所抛弃。

考虑软件本身,除了软件外在的那些属性——也就是软件所提供的功能,是否的确是客户需要的东西之外,软件内在的品质也是非常重要的。但这往往是被忽视的环节,尤其在中国的软件企业。至少在我所处的行业,我感觉软件的质量从来没有被摆在一个非常重要的位置,在企业文化中很少看到对质量的关注,更不用说对于高质量的追求。对于客户来说他们就更不知道也不会去关心软件的质量究竟如何了。

但我觉得,质量其实是软件的生命。一个真正有追求的公司,没有一种对质量的崇拜的精神,是不可能发展得好的,至少不会得到长久的发展。当然即使不注重质量,或许短期内依然可以取得成功。尤其在中国这样的环境下,关系决定市场,这足以保证企业的生存,甚至也能活得很好。但如果企业不满足现状,想取得进一步的发展,而没有一个好的质量做保证,我相信这是不可能做到的。

广义的讲,软件的质量就是软件对客户需求的符合程度的一种度量。但我们抛除那些表面上的功能性的东西,很多内在的质量的属性是隐含在软件内部的。要想对软件的质量作一个完整的评价并不是一件简单的事情。

我认为在软件质量里面比较重要的几个方面:首先是软件的可靠性,稳定性和健壮性。发布的软件必须是可靠的,在各种条件下,软件的表现都应该符合预期。但实际的情况是,质量差的软件往往在使用的过程中会出现很多问题,特别是在真实的复杂环境条件下,这些软件会暴露出许多缺陷。

软件的性能表现也是质量很重要的一方面。其实性能也是软件可靠性的一部分。软件必须能保证在当前甚至在未来若干一段时间内能够承受住不断增加的用户量导致的性能压力。这又牵扯到软件可伸缩性的问题。好的软件能够很容易的进行scaling upscaling out。而糟糕质量的软件要做到这些就比较困难了。

另外我认为最重要的一点还是软件的可维护性。这一点是如此的重要:忽视了这一点的项目,要么是陷在软件难以维护的泥潭中,要么的确是不需要关注它——因为项目已经失败了。

注重质量,这是一个良好的循环。一个注重质量的团队,会真正激发出团队成员的主动性,热情和创造力,这种正反馈会保证软件的高质量。程序员不是机器,而是普普通通的人类,软件是他们为了维持生计的工具,同时也是他们价值的一种体现。只是为了交差保证饭碗,还是把软件当成自己的一件作品去精雕细刻,这得到的产出是完全不同的。

然而老板们通常不会这么有远见。常有的想法恐怕是高质量会显著的增加成本。常见的现象是虚张声势的期限。也许客户或者是老板们认为,先指定一个看上去不可能完成的工期,这会让项目组成员为了完成任务而拼命加快自己的速度,从而节省时间和成本。事实上一个个软件项目就这样完成了,但是质量就变成了一种牺牲。的确开发的速度加快了,但也仅仅是速度变快了,产品并没有变好,而是变得更糟。这些人迟早要吃下低劣质量的苦果。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值