论项目的质量管理
【摘要】
本文以我作为乙方的项目负责人所主持的某大型综合性企业信息化建设系统为例,探讨了信息系统项目的质量管理,指出项目质量管理在信息系统项目实施中具有重要地位和关键作用。质量管理是项目管理中的重要组成部分,包括质量规划,质量保证,质量控制。在该项目中,我全程参与了组织协调工作,充分运用了项目质量管理的相关理论与方法,根据项目的实际情况和特点,有针对性地强化了质量管理的工作,并采取了以下针对性的措施:进行充分的用户需求分析,做好质量规划是保证项目质量的基础;加强质量培训,树立质量意识是质量管理的重要保证;加强测试工作,并成制度,加强代码走查,是质量控制的重要手段。通过这些办法,成功的完成了项目任务,保证了项目按时高质量的交付使用,获得了客户较高的评价。
【正文】
2012年2月,某大型综合性企业为实现信息管理,准备开发了一套企业信息系统,功能主要包含了客户关系管理,项目管理,库房管理,财务管理,消息管理,工作流管理等,其中以项目管理为核心,实现对项目整个生命周期各个环节进行有效监控,实时动态反应项目各阶段执行情况,进行成本控制和成本分析;同时对工作流程进行可配置化管理,实现任务督办,消息提醒,协同办公等功能;计划投资800万元;采用C/S结构。我作为乙方项目负责人,参与了项目的管理工作。
项目质量管理是项目管理中一个非常重要的组成部分,项目质量反映软件产品满足规定需求和潜在需求能力的特征和特征的总和。项目质量管理的工作流程主要有项目质量规划,执行质量保证,执行质量控制。项目质量管理是一个项目能否顺利的完成并交付使用的一项基础性的工作。在该项目管理工作中,我十分重视项目质量的管理和控制,借助项目软件MS Project 2003来辅助项目质量的计划和管理。在工作中,我根据实际情况,主要从用户需求分析,质量培训,代码走查,强化测试工作四个方面对项目质量进行有效管理,取得了较好的效果。该系统在2013年2月一次上线运行成功,目前运行情况良好。
一、充分分析用户需求,做好质量规划是保障项目质量的基础
在信息系统的项目质量管理中,充分分析用户需求,做好质量规划是信息系统质量管理内容中的重中之重,为此,我们工要做了以下工作。
首先,将与系统相关的用户进行分类以明确用户需求的来源及优先级。对于像这种涉及大型综合性企业几乎所有业务的大型信息系统的开发来说,用户需求的调查对象多种多样涉及到不同的部门或人员,为了更方便的从用户处获取有效的需求,我们将用户分成不同的类,如将其分为管理人员、业务人员、最终客户等,通过这种划分明确了需求的来源,在需求分析的理解出现不一致时可以有确定用户为需求分析人员提供“决策”。
其次,采用多种方式和途径获取用户的需求。在需求分析的初期我要求系统分析人员要深入到用户的工作现场中以观察用户是如何工作的,从而正确的把握用户需求的实质。同时为了更直观的与用户沟通,我们采用了Rational Rose创建的用例(Use Case)来展现用户的业务处理过程,并使用用例文档对其进行简要的描述,这样用户就能够很好的理解系统能够帮助其完成的工作任务,一般通过两到三次的沟通就能够确定用户的需求,极大的提高了用户需求获取的质量与效率。根据对用户的需求分析我们制定了项目详细的质量规划,为后期的质量管理奠定了良好的基础。
二、进行人员培训,提高项目成员的质量意识
软件质量保证贯穿于整个软件生命周期,忽略任一环节都是不可取的,但也要根据实际情况有所侧重。很多时候质量问题并不复杂,更多是团队成员没有质量意识,没有负责任的工作态度。首先,在项目实施前,我们先进行了质量培训,使项目组成员从思想上认识并重视软件质量保证的实施,形成一个良好的文化氛围。其次、我们依靠建立团队绩效规则,团队建设,形成质量文化和畅顺的沟通,使员工态度和责任感得到培养。最后,加强技能培训,通过以师带徒,自我学习,个人知识管理方法,问题管理,组织学习,读书会等各种方式来提升个人技能,确保团队成员具备保证系统开发质量的能力。
三、做好代码走查,提高软件代码质量
软件质量在很大程度上依赖于代码质量。在实际环境中对于同一项目而言,由于项目组成员的编程能力、习惯、风格、对需求的理解和个性的不同,所开发的代码质量也不尽相同。再加上一些难以预测的人为因素,由此带来的隐患将严重影响代码质量,最终造成软件质量低下,使得用户无法正常使用并为以后的维护带来更大的工作量和难度。考虑到项目进度以及实际情况,要进行完整的代码评审不太现实,因此,在软件开发过程中可以根据需要引进代码走查。每周在规定的时间内,轮流让程序员讲解其所开发代码的主要部分。这项措施一方面可以从侧面促使程序员本人注意所开发代码的质量,另一方面在走查过程中可以获得他人的意见进一步改善代码效率,使开发成员共享项目实施过程中问题解决的思路和方法,同时还可以促进项目组成员之间的交流并加深对需求的理解,关注软件开发过程中的各个环节,并进行过程改善的讨论,使得软件质量更有保障。
四、加强测试工作,并形成制度
测试就是对软件产品的检验。软件测试的目的是根据用户需求检查系统是否符合项目合同与任务书规定的要求。项目测试分集成测试和系统测试,主要进行功能测试、健壮性测试、性能-效率测试、用户界面测试、安全性测试、压力测试、可靠性测试、 安装/ 反安装测试等活动。测试过程通常在模拟环境中进行。只有通过了上述全部测试的软件,才可以称之为符合用户质量要求的合格的软件。测试是保证软件质量的重要手段,也是让用户直观地了解软件质量和熟悉软件操作的有效途径。我有计划地强化测试环节,让用户由始至终地参与测试工作测试活动要尽可能覆盖整改项目过程,从最初的需求到部署 阶段,都应该制订详细的计划并编制相应的文档,如测试计划、 测试用例文档、测试报告等。通过测试活动,尽可能早得发现每个阶段中软件存在的缺陷,以方便后续阶段的实施。在这测试活 动过程中,我们应该遵守一条基本原则——按照用户需求进行测试。我们即不能为求速度而缩短测试规模,也不能忽视用户需求 而提高测试要求。总之,一切测试应该符合用户需求。
经过努力,该系统一次上线运行成功,并在10个月后通过了验收。回顾项目的质量管理工作过程中,虽然没有严重的项目质量问题,但仍然存在一些问题,如软件测试不系统,忽视了压力测试;项目需求做的还不够充分,没有充分考虑到用户提出的非功能需求和用户的使用习惯问题等。综上所述,进行充分的用户需求分析,用户需求分析是准确确定项目质量的基础;加强质量意识的培训,树立质量意识是质量管理的保证,加强代码走查、强化测试等方法综合运用加强质量控制,是我在某大型综合性企业信息化建设系统项目中的质量管理中的四个主要实践,为项目的成功奠定了坚实的基础。在以后的项目质量管理工作中,我要加强测试的系统性和科学性,更充分的进行用户需求分析,深化各方的沟通,协调好开发工作各个部分及各个方面的关系,更好地完成项目。