时间的车轮,驶入了公元2008年,适逢奥运,对于每个中国人来说注定是骄傲和不平凡的一年。对于软件行业,又将迎来怎样的变革呢?在2007年金山上市了,微软“软件+服务”的模式也渐渐清晰了,谷歌和阿里巴巴这两个互联网大鳄对传统软件行业也产生了巨大的影响,SAAS再一次风生水起……,我们是否用“拥抱变化”的心态,思考一下正在忙碌的工作呢?
今天要谈论的话题是“软件项目的质量管理”,应该说这个题目并不是很准确,因为我并没有明确这个质量是相对谁而言的,是客户、老板、项目经理、还是程序员?对于客户而言,客户认可的质量是预期需求的全部实现,老板关注的质量是合同在成本控制的范围内是否履约完毕,项目经理满意的质量是软件验收顺利通过,而程序员认为高质量就是程序没有BUG。每个角色站在自身的视角,对质量的审视都是正确的,所以软件项目的质量管理要帮助所有参与项目的角色实现其质量目标。
胜任是质量的前提,现在很多软件公司都正在或已经通过CMMI的评估,理论上这些类似的认证或评估是对公司管理能力和业务能力现状的评价,是产品质量保障的前提,但是一些软件公司往往只注重评估的结果,却忽略企业质量管理生态建设的过程。这就埋下了一个隐患,企业要完成超出管理能力和业务能力的项目,对客户和企业自身都是极大的冒险。企业要“善其事”,同时人也要“善其位”,只有每个工作岗位上的人都能顺利履行岗位职责,才有可能保证质量,所以说胜任是质量的前提。软件开发过程中应对每个岗位的任职能力有个量化的指标,根据项目的难易程度合理配置资源。
没有100%完美的项目,但有100%完善的质量体系,我们带着尽善尽美的心态去完成项目,然而我们应容忍缺陷的存在,项目的进程我们是可以掌控的,所以质量管理应该百分之百的贯彻到项目全程。制定的质量计划应该是对项目里程碑计划的解约,质量计划规定了保障项目实施的资源能力、标准作业以及检测指标,对产品、作业现场和资源进行全面质量控制。我认为质量体系不是不允许大家犯错,即使我们按正确的方式去做事,结果也有可能是错的,关键是如果去处理和补救。软件项目中影响质量的因素很多,比如,用户需求发生变更、开发人员流失等等,那让一切的变化都在质量体系的掌控之中。
最佳质量成本,质量成本是项目实施过程中为保证项目质量而消耗的控制成本以及因质量不良而带来的补救成本之和,而最佳的质量成本就是当两者都处于最低时相加之和。公司可以没有QA部门,但QA部门承担的角色应该有人来承担。所以在计算项目开发成本时应摊销软件测试人员、工具以及测试环境搭建的费用。根据软件开发生命周期的规律,软件开发前期的需求调研和分析阶段应注重控制成本的投入,软件设计和开发阶段也应注重对测试工具的使用。
软件项目开发的各个阶段以及软件项目开发中的每个角色都处在质量管理体系之中,因此只要每个角色按正确的方式执行任务,对非正确的结果有预期和标准的处理方法,保证项目质量自然水到渠成。