【摘要】 本文以本人主持的铁道部某部署大型设计院的办公管理系统项目为实例,探讨了在项目管理中始终作为核心竞争力的质量管理中遇到的问题和解决的办法,文章首先解释了质量管理的基本概念,基本原理及其重要性,总结了质量管理的三个主要过程及其采用的工具.指出了软件质量除了技术上过硬外,还需要一个良好的管理环境,优秀的团队建设,而软件过程作为软件开发的管理环境对软件质量起着决定性作用.本人在此项目中担任项目经理,自始自终参与了整个项目的建设,系统自发布到各个分院以来,运行稳定,取得用户好评,很大程度上得益于项目成功的质量管理.
【正文】
质量是反映实体满足和隐含需要的能力的特性总和.项目质量管理的主要目的是确保满足它所应满足的需求,项目管理必须满足或超越利益相关者的需求和期望.优质的产品或服务对于一个公司企业,对国家来说都具有战略性的重要意义,IT项目质量更是如此,由于本人国软件发展的历史较短,自身发展方面也存在许多问题,加上IT行业技术发展速度快,这样就导致软件产品不稳定,软件后期的维护,升级出现麻烦,轻者用户不满意,重者造成人身伤亡,或者重大的经济损失.因此,必须把质量看做与项目范围,时间和成本同等重要.在本人主持的铁道部某部署大型设计院的办公管理系统项目中,特别注意了质量管理.首先严格按照项目质量管理的三个主要过程质量计划编制,质量保障,质量控制上对项目进行管理,同时注重现代管理方法,借鉴国外先进的管理办法,注重领导管理,团队建设,并采用了RUP的迭代式的开发过程,开发目标定位在CMM2的关键过程域(KPA),达到CMM2的关键过程域,来控制软件质量.
根据RUP的经验,本人们把软件开发分成和RUP一样的四个阶段:初始化,精化,构建,部署四个阶段.为此本人们制定了需求分析,变更和配置管理,项目管理,分析和设计,测试等几个关键过程,通过对这些关键过程的定义来控制整个软件开发的活动.
需求分析关键活动是完成收集和定义软件开发需要的资源,变更和配置管理关键活动是定义项目开发所需要的环境以及如何协调成员之间的进度.这个关键活动的实施本人们主要集中在版本控制上,利用现在流行的CVS版本控制工具有效的协调和管理团队的开发.项目成立的技术交底会上,项目成员集思广益,为系统制定了质量标准,包括分院登陆总院的响应时间,操作的响应时间,确保产生一致准确的信息,平均出错的几率,系统的升级等.并将这些标准纳入质量计划编制.在本系统中本人们请了北京的领域专家参与到系统开发的早期阶段;而且做出了开发系统原型,用这些原型确认用户的需求.让领域专家参与开发的早期阶段,保证分析人员有充足的时间和领域专家进行充分的交流和确认.在这个阶段,原型可能在提交到用户之前,首先被领域专家确认,这样保证了原型被认可的程度和认可过程耗费的时间尽可能的短,从而在提高效率的同时保证了质量.
分析设计和测试这两个关键活动本人们主要采用几个原则:第一,分析和设计适当分开.做分析的不能全去做设计,在设计中有不做分析的人才能发现分析中的缺陷,分析的鉴定应该由所有成员统一来执行.第二,分析和测试适当分开.根据本人多年的开发经验,开发员并不是很乐意去做繁杂的测试工作,而且开发员的测试思路都比较狭窄.第三,设计和文档编写员适当分开.设计员应将精力放在设计上,可提供简单的样稿,具体的文档编写应交于专人,实践证明,上述原则的应用是成功的.质量保证包括对整体项目绩效进行定期的评估以确保能满足相应阶段的质量标准.质量保证过程不仅对项目的最终结果负责,而且还要对整个项目过程负责.本项目中,北京的领域专家的质量审核,很好的完成了质量保证任务.在整个开发过程中,测试也是贯穿了整个过程,分别进行了单元测试(白盒测试),自底向上的集成测试,功能测试(黑盒测试),回归测试,验收及安装测试,Beta测试,配置测试,兼容性测试等,测试者进行的详细而且严谨,对出现的问题及时解决,消灭在萌芽状态,确保系统满足期望.整个过程中,采用了控制图,来表明这个过程是出于控制中,还是失去了控制.当这个过程失去控制时,就马上确认这些非随机事件的起因,并调节过程以纠正或消除这些起因.
在整个项目过程中,深刻领会到除了使用好的质量计划编制质量保证盒质量控制这些有效工具外,强大的领导,团队组织,理解质量成本,提供一个好的工作环境来提高质量,努力提供组织在软件开发和项目管理方面的整体成熟度水平,都有助于提高质量.
许多质量专家都认为,质量问题的主要原因是缺乏领导.大部分质量问题出在管理上,而非技术上.认识到这一点,作为项目经理,本人经常到上司领导那里去.灌输本人的观点,说服领导重视这件事情.在这个项目中本人和本人的上司强调不断开发和使用质量标准,经常培训员工,推行质量概念和原则的教育和培训,实施策略计划及建立和跟踪质量水平,积极证明质量提高的重要性,提高全体开发人员的质量意识.明白质量成本是一致成本加上不一致成本.一致成本是交付满足要求的和适用的产品.不一致成本是对故障或没有满足质量期望负责所消耗的成本.认识到这一点,尽量实现零缺陷,将问题尽早发现,尽早解决.
在团队组织上,鉴于成员小组素质和技能都比较高,本人采用了一种驱动式的管理模式,要求成员共同协商,互相平等,尊重和调动每个成员的积极主动性.本人则不直接参与其他成员的活动,而是类似于教练的角色在旁边不断的指导和更正他们的行为,整个实际活动由小组成员自己完成.根据每个成员的能力和特点,分配不同的任务,明确他们的责任,指导他们的行为,这种模式类似于足球队管理,教练不实际打球,而是在外场确定中锋,前卫,后场的关系和位置,将自己的战术灌输下去,实际的操作由队员自己完成.这样做可以有效的缓解项目经理的压力,让项目经理将更多的精力用在项目管理上.发挥团队主体的能力,来保证软件的质量.
综上所诉,整个软件开发的过程中,注意了软件过程的定义,认真编制质量计划,编写需求分析,分析和设计模块,制定并严谨执行测试活动,进行质量保证,并采用有关工具进行质量控制.而且注重让领导参与进来,加强团队建设,进行职工质量先进概念培训.处理了这些问题,本人们的软件质量有了大幅度的提高,而且本人也相信这些问题的解决也是大规模软件开发的基石,也是软件组织成熟的标志之一.
大型设计院的办公管理系统项目自2005年1月项目启动到2005年7月项目验收历时7个月,系统至今运行稳定,取得用户好评,很大程度上得益于项目成功的质量管理.
各省软考办 | ||||||||||