软件项目汇报总结

2022-07-13

总结是记录某个时期的学习或工作情况,通过系统性分析的方式,编写出详细的书面报告,通过这份报告的内容,可让我们更加了解工作情况。那如何写出科学合理的总结呢?以下是小编整理的《软件项目汇报总结》,仅供参考,大家一起来看看吧。

第一篇:软件项目汇报总结

软件项目管理总结

《软件项目管理》学习总结报告

软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展。

项目风险管理是指为了最好的达到项目的目标,识别、分配、应对项目生命周期内风险的科学与艺术。项目风险管理的目标是使潜在机会或回报最大化,使潜在风险最小化。

1.项目管理在软件开发中的应用的成因

目前我国大部分软件公司,无论是产品型公司还是项目型公司,都没有形成完全适合自己公司特点的软件开发管理模式,虽然有些公司根据软件工程理论建立了一些软件开发管理规范,但并没有从根本上解决软件开发的质量控制问题。这样导致软件产品质量不稳定,软件

后期的维护、升级出现麻烦,同时最终也会损害用户的利益。

随着软件开发的深入、各种技术的不断创新以及软件产业的形成,人们越来越意识到软件过程管理的重要性,管理学的思想逐渐融入软件开发过程中,应用开发的项目管理日益受到重

视。

2.软件项目管理常见问题及解决方案

(1)缺乏项目管理系统培训

在软件企业中,以前几乎没有专门招收项目管理专业的人员来担任项目经理,被任命的项目经理主要是因为他们能够在技术上独当一面,而管理方面特别是项目管理方面的知识比

较缺乏。

解决方案:项目经理接受系统的项目管理知识培训是非常必要的,有了专业领域的知识与实践,再加上项目管理知识与实践和一般管理的知识和经验的有机结合,必能大大提高项

目经理的项目管理水平。

(2)项目计划意识问题

项目经理对总体计划、阶段计划的作用认识不足,因此制定总体计划时比较随意,不少事情没有仔细考虑;阶段计划因工作忙等理由经常拖延,造成计划与控制管理脱节,无法进行有

效的进度控制管理。

解决方案:计划的制定需要在一定条件的限制和假设之下采用渐近明细的方式进行不断完善。提高项目经理的计划意识,采用项目计划制定相关知识、技术、工具,加强对开发计

划、阶段计划的有效性进行事前事后的评估。

(3)管理意识问题

部分项目经理不能从总体上把握整个项目,而是埋头于具体的技术工作,造成项目组成员之间忙的忙、闲的闲,计划不周、任务不均、资源浪费。有些项目经理没有很好的管理方

法,不好安排的工作只好自己做,使项目任务无法有效、合理地分配给相关成员,以达到“负载

均衡”。

解决方案:加强项目管理方面的培训,并通过对考核指标的合理设定和宣传引导项目经理更好地做好项目管理工作。技术骨干在担任项目经理之前,最好能经过系统的项目管理知识,特别是其中的人力资源管理、沟通管理的学习,并且在实际工作中不断提高自己的管理素

质,丰富项目管理经验,提高项目管理意识。

(4)沟通意识问题

在项目中一些重要信息没有进行充分和有效的沟通。在制定计划、意见反馈、情况通报、技术问题或成果等方面与相关人员的沟通不足,造成各做各事、重复劳动,甚至造成不必

要的损失;有些人没有每天定时收邮件的习惯,以至于无法及时接收最新的信息。

3.软件项目管理的现状分析

软件项目管理的提出是在20世纪70年代中期的美国,当时美国国防部专门研究了软件开发不能按时提交,预算超支和质量达不到用户要求的原因,结果发现70%的项目是因为管理不善引起的,而非技术原因。于是软件开发者开始逐渐重视起软件开发中的各项管理。到了20世纪90年代中期,软件研发项目管理不善的问题仍然存在。据美国软件工程实施现状的调查,软件研发的情况仍然很难预测,大约只有10%的项目能够在预定的费用

和进度下交付。

1995年,据统计,美国共取消了810亿美元的商业软件项目,其中31%的项目未做完就被取消,53%的软件项目进度通常要延长50%的时间,只有9%的软件项目能够及时

交付并且费用也控制在预算之内。

软件项目管理和其他的项目管理相比有相当的特殊性。首先,软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证。其次,软件系统的复杂性也导致了开发过程中各种风险的难以预见和控制。Windows这样的操作系统有1500万行以上的代码,同时有数千个程序员在进行开发,项目经理都有上百个。这样庞大的系统如果没有

很好的管理,其软件质量是难以想象的。

4.我国软件项目管理的前景

应该很清楚地意识到,项目管理在中国起步较晚,项目管理水平与高速增长的经济建设不相适应,也不利于参与国际竞争,必须奋起直追,赶超国际先进水平。展望未来,我们

面临的不仅有广阔市场的大好机遇,还有必须认真对待的严峻挑战:

(1)、随着中国加入WTO,工程建设市场竞争时代的来临,加大项目管理力度势在必行。只有稳定提高实力,迅速熟悉并掌握国际规则,主动溶人贸易体系,不断加强竞争实

力和项目管理水平,才不会在激烈的市场竞争中失败。

(2)、随着中国宏观控制体制调整和市场经济改革的深化,工程公司、项目管理公司和工程咨询公司等企业必须进一步深化管理体制和运行机制改革,加快重组,与世界接轨,建立现代企业制度,才能成为自主经营、自担风险、自负盈亏和自我发展的良好经济实体,在

项目管理中提供高质量、有针对性、有竞争力的服务。

(3)、目前,中国建设市场在管理体制、法制建设、运行机制、中介服务、价格政策和社会习惯等方面仍有许多有待改进的工作要做。中国必须建立法制的、政府监督的、自我约

束的管理体系,建立公开、公平、公正的投资中介市场,加大投资中介服务的法律责任,为

工程咨询和项目管理创造更好的市场环境。

(4)、中国公司应该进一步加强与美国、欧洲和澳大利亚的国际项目管理机构和协会之间的合作与交流。充分利用理工大学和学院加强项目管理的理论与实践研究,建立自己的项目管理体系,引进和开发先进的项目管理软件系统,提高项目管理水平,为工程公司、项目

管理公司和工程咨询公司的发展提供更好的环境。

(5)、中国必须培养自己的优秀项目管理专业人员,大力提高项目管理水平。专业人才匮乏是影响中国项目管理快速发展的主要因素,中国应当把培训和建立一支优秀项目管理专业人员队伍作为战略任务来抓。中国项目管理人力资源结构必须通过国内国际相关培训和认

证机构以及项目管理实践来改进。

只有采取上述的措施,中国企业才能适应可持续发展要求并在激烈的市场竞争中立于不败之地。刚刚在9月1日,邦永科技于广东亚洲国际大酒店召开首届渠道峰会,被业内同行称之为“来势汹汹”。此会议共在全国招募了30多个地区总代理商,11月份正式启动市场。据了解,邦永的产品定位为中低端,价位在5万到40万元之间。邦永目前加紧平面营销渠道建设的同时,还在酝酿许多与行业主管部门的技术合作,似乎对打造国内项目管理行业标准胸有成竹。无怪乎邦永拿出这么大的举措:据资料显示,2002年中国政府拨3000亿元专款用于各类政策性项目,省、市地方政府捐助至少1000亿元的专款,全国每年至少有2000个新的1亿元以上的大中型项目。如果这些项目都采用软件来进行管理的话,市场非常可观。邦永对这个市场充满信心,尽管项目管理软件市场在中国仍然处于启动阶段,但市场已经很大,高中端市场的容量在一亿元以上,3-5年内将达到6亿元左右。这还是一个

比较保守的数字。

总而言之,软件项目管理领域仍然是一个比较新的领域,竞争态势还远未达到白热化的程度,但前景十分可观。需要不断的去开发与研讨,才能让软件充分的发挥在项目管理的领域,但在软件项目管理中,存在在的各种风险管理应该根据不同的因素而做出不同的解决措施,让项目管理可以发挥到一定的程度,使之更加的完善。最后感谢张冰峰老师一学期来

的教导。

第二篇:软件系统项目总结

XXXXXXXXXXX项目

项目总结

XXXXXXX科技有限公司

2016年6月

我公司自2016年3月3日与XXXXXXXX签订了《XXXXXXXXXXXX项目》的合同,严格按照合同要求与约定来执行合同,在甲方单位及监理单位的大力帮助下,通过近四个月的项目沟通与实践,已进入项目验收阶段,现在就此次项目作出如下总结:

1、项目开工阶段。

我公司在监理单位下达开工令后,编制了符合现项目状况的施工组织方案及项目实施计划,并按计划执行项目。

2、需求调研阶段。

由于此项目属于软件项目,我公司对甲方及使用方进行充分的需求调研,确认了甲方及使用方对项目的具体需求,力求全面的收集并理解甲方及使用方的需求,并完美的完成项目建设。

3、详细设计阶段。

在需求调研的基础上,我公司进行软件系统的详细设计。在详细设计中,描述实现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,以便进行编码和测试。应当保证软件的需求完全分配给整个软件。

4、系统测试阶段。 我方对软件系统进行了模块测试和整体联调;也测试了正常操作情况测试和异常情况测试;按并进行了全覆盖测试和抽样测试。我方会在软件的后续使用中不停的跟踪软件的运营状况并持续修补升级,直到这个软件被彻底淘汰为止。

5、系统试运行。

自试运行开始以后,我方及时对系统中出现的问题进行解决,对用户使用中提出的对功能的使用及更改需求进行完善。按照合同经过为期一个月的试运行,进入正式的系统运行阶段。

6、系统培训阶段。

为了让用户能更好的管理和使用系统,我们针对所有的系统进行了系统的专业的培训,以确保用户可以在最短的时间内熟练的使用系统,确保系统高效的运行。

为了更好的保障整个项目中各个系统的正常运行,我们将在以下方面做好服务:

甲方在软件使用过程中如发生故障或遇到疑难问题,乙方提供有效支持,保证30分钟响应,4小时内派人赶到现场,一般故障1天内修复,重大故障7天内解决。对所提供的软件实行6个月定期进行一次维护。

我公司非常荣幸参加XXXXXXX项目的建设工作,我们以最大努力完成XXXXXXX项目建设要求,我们将严格按照合同要求执行各个系统的维护和服务承诺,为XXXXX(建设方)美好的明天贡献我方一份微薄的力量。

项目负责人:

承建单位:XXXXXXX科技有限公司 时间:

第三篇:软件项目投标问题总结

投标工作总结(经典)

在岳总的领导下,我有幸参与了此次招标的组织与协调工作,现总结如下:

一、工作问题

1、围标单位的标书出现了内容(技术人员的信息、资料等)遗漏问题,险些造成废标事件。

2、在标书准备的前阶段,没有静心研究招标文件,致使受到了岳总的批评指正。

3、行贿证明申请函的日期由于粗心差点造成错误。(将2010误写成2013)

4、报价文件中的单位(“万元”问题)出现了纰漏。

5、标书的检查工作不到位,导致胶印工作的返工,降低了效率。

二、工作总结

1、标书的文字准备工作需要特别细心,不能出一点差错,一旦出差错,返工既浪费时间又会使事情变的更繁杂,直接影响后面标书的质量和效率。这要求参与人:

(1)仔细研究招标文件,才能做到心中有数。

(2)严卡招标文件,按照招标文件要求进行筹备工作。 (3)响应评分标准,像考试一样力争获得最高分数。

(4)报价文件中的单位要谨慎对待。“元”“万元”的细节处要小心对待。 (5)页码的细节问题。

2、标书的检查、打印、胶印、签字、盖章、封装等流程中,检查变得尤为重要,否则的话会造成返工,甚至误工。

3、一个人不能同时兼顾两家单位的投标文件,否则容易出现问题。

4、指定人员要完全包干到人,包括:围标单位的对接、标书的文字准备、检查、胶印、盖章等工作,能够减少错误的发生。

5、确保每一位参与人都要细读招标文件。

6、项目演示环节建议提前进行演练,确保时间的合理性。

2013年11月12日

第四篇:《项目管理软件》学习总结

学习,对于我来说,早已不是一个陌生的词汇。十几年来,随着学习的深入和年龄的增长,我却发现学习能力和效率在逐年下降。《劝学》里说,“君子博学而日参省乎己,则知明而行无过矣”,这里就要求学习者要经常静坐思考,及时调整,重新定位,找到一种最适合自己的学习方法,并不断体会总结,以便融会贯通、学以致用。

本学期我选报了曹刚老师的《项目管理软件》,一是耳闻曹刚老师授课严谨,对学生负责,不容许“混学分”的现象;再者,曹刚老师讲课风趣幽默,教学方法有与众不同之处;当然,最主要的还是我对这门课本身比较感兴趣。由于我对自己所修专业不是太感兴趣,所以在选修课的学习上比较慎重,在选这门课之前,已经对本门课程有了大致了解;并在后期的学习中逐渐深入。

项目是指一系列独特的、复杂的并相互关联的活动,这些活动有着一个明确的目标或目的,必须在特定的时间、预算、资源限定内,依据规范完成。项目参数包括项目范围、质量、成本、时间、资源。项目管理(PM),就是项目的管理者,在有限的资源约束下,运用系统的观点、方法和理论,对项目涉及的全部工作进行有效地管理。即从项目的投资决策开始到项目结束的全过程进行计划、组织、指挥、协调、控制和评价,以实现项目的目标。目前国内企业对项目管理水平和方法越来越重视,而合适的项目管理软件在其中起了极其重要的作用!主要有工程项目管理软件和非工程项目管理软件2大分类。曹刚老师就Microsoft Project 2007为纲,为我们由浅入深、循序渐进地讲解了这门课程,受益匪浅。

我认为,学习一门课程成功与否,不仅仅以掌握本学科专业知识的多少来权衡。更主要的,应该是一种思想,课程本身起着抛砖引玉之效果。项目,我们熟知却不懂管理,就像目标和梦想,不是我们没有,而是我们缺少动机和实现他们步骤及方法。话不多说,从今天起,小至对一门课的学习、一个购物计划;大至一年的学习目标、感情生活,甚至是职业生涯规划,我想我都不会再模里模糊,而是提前打算,有章可循。是的,项目管理,应该成为一种生活习惯。

再细说一下我们老师的授课方法。本门课程采用面授+上机+网授,这样,我们有了一个专属的学习平台和交友空间。与别的选修课不同,我们在这里能很快熟知班里的同学来自哪个学院,哪个专业,对于相互学习起着很大的促进作用。曹老师还为我们专门设置了讨论区,灌水区,学习之余轻松分享,互通有无。网授空间井井有条,条理清楚,学习重点一目了然,便于“温故知新”。作业平台、考试系统都很方便,老师能对我们一段时间的学习效果及时反馈,以便我们查缺补漏。这本身就是对本门课程的一种管理机制,方便快捷,合理有效。

当然,任何事情都不可能尽善尽美。首先,一开始的时候,我对这种学习方式很不适应,本来就只有8周的学习时间,一节课下来,便有了“时间紧任务重”的感觉;再者,网授仅限于校内局域网,对于一般情况下都用外网的我来说,不是很方便,这样导致同学同学之间和同学老师之间的交流过少,网授不能达到应有的效果;还有,学习任务都是每周上课前才出现在网授平台上,对于没有教材的我们来说,不容易提前对整门课全面统筹,既然有了这个平台,老师可以把整个课程的学习目标、教学进程、课程安排,提前公布出来,以便我们对整个软件学习的全面把握。

总之,通过对本门课的学习,我受益匪浅。俗语说:“师父领进门,修行在个人。”在以后的学习生活和工作生活中,我会逐渐熟练运用软件,完整做事,完整做人。项目管理,会逐渐成为习惯,有始有终,让生活井井有条起来。

第五篇:软件项目质量管理实战总结

第一章 引言

许多IT项目开发的系统应用在生死攸关的场合。例如,1981年,由计算机程序改变而导致的1/67的时间偏差,使航天飞机上的5台计算机不能同步运行,这个错误导致了航天飞机发射失败。1986年,1台Therac25机器泄露致命剂量的辐射,致使两名医院病人死亡。造成惨剧的原因是一个软件出现了问题,导致这台机器忽略了数据校验。这些惨痛的教训说明,在软件开发项目中认真抓好质量管理,并加强有关软件项目质量管理的研究是摆在我们面前的重要课题。

软件项目质量管理包括:质量计划编制、质量保证和质量控制三个过程域。质量计划是质量管理的第一过程域,它主要结合各个公司的质量方针,产品描述以及质量标准和规则通过收益、成本分析和流程设计等工具制定出来实施方略,其内容全面反应用户的要求,为质量小组成员有效工作提供了指南,为项目小组成员以及项目相关人员了解在项目进行中如何实施质量保证和控制提供依据,为确保项目质量得到保障提供坚实的基础。质量保证则是贯穿整个项目全生命周期的有计划和有系统的活动,经常性地针对整个项目质量计划的执行情况进行评估、检查与改进等工作,向管理者、顾客或其他方提供信任,确保项目质量与计划保持一致。质量控制是对阶段性的成果进行检测、验证,为质量保证提供参考依据,它是一个PDCA循环过程。

第二章 对软件项目质量管理理论的认识

软件项目的质量管理指的是保证项目满足其目标要求所需要的过程,它包括编制质量计划、质量控制、质量保证等过程。

2.1 质量计划编制

现代质量管理的基本宗旨是:“质量出自计划,而非出自检查”。只有做出精准的质量计划,才能指导项目的实施、做好质量控制。

编制项目的质量计划,首先必须确定项目的范围、中间产品和最终产品,然后明确关于中间产品和最终产品的有关规定、标准,确定可能影响产品质量的技术要点,并找出能够确保高效满足相关规定、标准的过程方法。编制质量计划通常采用流程图、因果分析图等方法对项目进行分析,确定需要监控的关键元素,设置合理的见证点(W点)、停工待检点(H点),并制定质量标准:

1) 流程图:

显示系统的各种成分是如何相互关系的,帮助我们预测在何处可能发生何种质量问题,并由此帮助开发处理他们的办法。

2) 因果分析图(也称鱼刺图):

对于复杂的项目,编制质量计划时可以采用因果分析图,描述相关的各种原因和子原因如何产生潜在问题或影响,将影响质量问题的“人员、设备、参考资料、方法、环境”等各方面的原因进行细致的分解,方便地在质量计划中制定相应的预防措施。其次,质量计划中还必须确定有效的质量管理体系,明确质量监理人员对项目质量负责和各级质量管理人员的权限。戴明环(又名PDCA循环法)作为有效的管理工具在质量管理中得到广泛的应用,它采用计划——执行——检查——措施的质量环,质量计划中必须将质量环上各环节明确落实到各责任单位,才能保证质量计划的有效实施。

2.2 按照质量计划实施有效的质量控制

质量计划确定后,按照其建立的质量管理体系,各责任单位就必须按照PDCA质量环的要求,实施有效的质量控制。质量控制应贯穿于项目的整个过程,它可分为监测和控制两个阶段:监测的目的就是收集、记录和汇报有关项目质量的数据信息;控制就是使用质量监测提供的数据,进行控制,确保项目质量与计划保持一致。

在质量监测过程中,对于质量计划中设置的见证点、停工待检点,质量监测人员要按照作业程序及时进行测量检查(其中对于停工待检点必须由监理人员签字认可后才能进入下一道工序),以确定项目成果(或阶段成果)是否符合相关的质量标准。对于见证点或停工待检点要防止跳过检查,因为避免错误的成本总是大大低于补救错误的成本。对质量监测的结果应采用相应的统计方法进行分析,如帕累托图法(按发生频率排序的直方图,它显示了可识别原因的种类和所造成的结果的数量)等。通过统计分析对人员、设备、参考资料、方法、环境等影响项目质量的因素进行监控,确定项目实施过程是否在控制之中,同时进行趋势分析,对一些偏向于不合格的趋势及早进行控制。质量控制阶段应根据验收数据做出验收决定,确定是否进入下一步工序。对于质量监测中发现的不合格,应及时利用“因果分析图”等方法分析原因,并进行适宜的处置,保证不合格得到识别和有效的控制。不合格处置包括返工、返修、降级、让步放行、报废等形式。

质量监测分析时,对于已发现的不合格或潜在不合格,应制定相应的纠正措施或预防措施,以消除不合格或潜在不合格的原因,防止不合格的发生。纠正措施或预防措施制定后,应对质量计划进行相应的调整,保证项目的顺利实施。

项目收尾包括项目评估和项目终止两个阶段。项目收尾阶段的质量控制是一个非常重要而又容易忽视的内容。

项目质量评估不仅仅是在项目完成后进行,还包括对项目实施过程中的各个关键点的质量评估。项目质量评估看起来属于事后控制,但它的目的不是为了改变那些已经发生的事情,而是试图抓住项目质量合格或不合格的精髓,以使将来的项目质量管理能从中获益。

项目终止阶段,是在决策项目终止后,检查项目文件资料完备,包括项目施工质量验评表、竣工报告等,同时进行项目总结。项目总结是一个把实际运行情况与项目计划不断比较以提炼经验教训的过程。通过项目质量计划和总结,项目过程中的经验和教训将得到完整的记录和升华,成为“组织财富”。

四、项目质量管理的难点

每个项目的实施总是拥有同样的总体目标:质量、时间和成本。三者是一个相互制约、相互影响的统一体,其中任一项目标变化,都会引起另两个目标变化,并受其制约。如何合理的保证项目质量,正确处理质量与时间、成本之间的矛盾是项目质量管理的一个难点,这需要整合项目所有方面的内容,保证按时、低成本地实现预定的质量目标。

根据侧重点不同,项目可分为质量倾斜型、工期倾斜型及成本倾斜型体系。我们在编制项目计划时,一般而言是时间、成本、质量标准均已确定,在项目实施过程中就需在从客观因素、具体情况出发,根据将要采取的行动和可能导致的后果进行综合分析研究;按切合实际的原则,使项目进展平衡有节奏地进行,以求达到预期目标。避免出现工期紧张或成本减少,导致质量降低的现象,而质量下降又往往造成返工等后果而导致延长工期和增加成本。

2.3 对软件质量保证的认识

2.3.1 有关SQA的理论

我们都知道一个项目的主要内容是:成本、进度、质量;良好的项目管理就是综合三方面的因素,平衡三方面的目标,最终依照目标完成任务。项目的这三个方面是相互制约和影响的,有时对这三方面的平衡策略甚至成为一个企业级的要求,决定了企业的行为,我们知道 IBM的软件是以质量为最重要目标的,而微软的“足够好的软件”策略更是耳熟能详,这些质量目标其实立足于企业的战略目标。所以用于进行质量保证的SQA 工作也应当立足于企业的战略目标,从这个角度思考SQA,形成对SQA的理论认识。

软件界已经达成共识的:影响软件项目进度、成本、质量的因素主要是 “人、过程、技术”。首先要明确的是这三个因素中,人是第一位的。

现在许多实施 CMM的人员沉溺于CMM的理论过于强调“过程”,这是很危险的倾向。这个思想倾向在国外受到了猛烈抨击,从某种意义上各种敏捷过程方法的提出就是对强调过程的一种反思。 “XP”中的一个思想“人比过程更重要” 是值得我们思考的。我个人的意见在进行过程改进中坚持“以人为本”,强调过程和人的和谐。

根据现代软件工程对众多失败项目的调查,发现管理是项目失败的主要原因。这个事实的重要性在于说明了 “要保证项目不失败,我们应当更加关注管理”,注意这个事实没有说明另外一个问题“良好的管理可以保证项目的成功”。现在很多人基于一种粗糙的逻辑,从一个事实反推到的这个结论,在逻辑上是错误的,这种错误形成了更加错误的做法,这点在SQA的理解上是体现较深。

如果我们考证一下历史的沿革,应当更加容易理解 CMM的本质。CMM首先是作为一个“评估标准”出现的,主要评估的是美国国防部供应商保证质量的能力。CMM关注的软件生产有如下特点:

(1)质量重要

(2)规模较大

这是 CMM产生的原因。它引入了“全面质量管理”的思想,尤其侧重了“全面质量管理”中的“过程方法”,并且引入了“统计过程控制”的方法。可以说这两个思想是CMM背后的基础。

上面这些内容形成了我们对软件过程地位、价值的基本理解;在这个基础上我们可以引申讨论 SQA。

2.3.2 生产线的隐喻

如果将一个软件生产类比于一个工厂的生产。那么生产线就是过程,产品按照生产线的规定过程进行生产。 SQA的职责就是保证过程的执行,也就是保证生产线的正常执行。

抽象出管理体系模型的如下,这个模型说明了一个过程体系至少应当包含 “决策、执行、反馈”三个重要方面。

QA的职责就是确保过程的有效执行,监督项目按照过程进行项目活动;它不负责监管产品的质量,不负责向管理层提供项目的情况,不负责代表管理层进行管理,只是代表管理层来保证过程的执行。

2.3.3 SQA和其他工作的组合

在很多企业中,将 SQA的工作和QC、SEPG、组织级的项目管理者的工作混合在一起了,有时甚至更加注重其他方面的工作而没有做好SQA的本职工作。

国内现在基本有三种QA(按照工作重点不同来分):一是过程改进型,一是配置管理型,一是测试型。个人认为是因为SQA工作和其他不同工作组合在一起形成的。

下面根据经验对它们之间的关系进行一个说明。

QA和QC ,两者基本职责;

QC:检验产品的质量,保证产品符合客户的需求;是产品质量检查者;

QA:审计过程的质量,保证过程被正确执行;是过程质量审计者;

注意区别检查和审计的不同,检查:就是我们常说的找茬,是挑毛病的;

审计:来确认项目按照要求进行的证据;仔细看看CMM中各个KPA中SQA的检查采用的术语大量用到了“证实”,审计的内容主要是过程的;对照CMM看一下项目经理和高级管理者的审查内容,他们更加关注具体内容。

对照上面的管理体系模型,QC进行质量控制,向管理层反馈质量信息;QA则确保QC按照过程进行质量控制活动,按照过程将检查结果向管理层汇报。这就是QA和QC工作的关系。

在这样的分工原则下, QA只要检查项目按照过程进行了某项活动没有,产出了某个产品没有;而QC来检查产品是否符合质量要求。

如果企业原来具有 QC人员并且QA人员配备不足,可以先确定由QC兼任QA工作。但是只能是暂时的,独立的QA人员应当具备,因为QC工作也是要遵循过程要求的,也是要被审计过程的,这种混合情况,难以保证QC工作的过程质量。

QA 和SEPG,两者基本职责。SEPG:制定过程,实施过程改进;QA:确保过程被正确执行。SEPG应当提供过程上的指导,帮助项目组制定项目过程,帮助项目组进行策划;从而帮助项目组有效的工作,有效的执行过程。如果项目和QA对过程的理解发生争持,SEPG作为最终仲裁者。为了进行有效过程改进,SEPG必须分析项目的数据。QA本也要进行过程规范,那么所有QA中最有经验、最有能力的QA可以参加SEPG,但是要注意这两者的区别。

如果企业的 SEPG人员具有较为深厚的开发背景,可以兼任SQA工作,这样利于过程的不断改进;但是由于立法、执法集于一身也容易造成SQA过于强势,影响项目的独立性。

管理过程比较成熟的企业,因为企业的文化和管理机制已经健全, SQA职责范围的工作较少,往往只是针对具体项目制定明确重点的SQA计划,这样SQA的审计工作会大大减少,从而可以同时审计较多项目。

另一方面,由于分工的细致化,管理体系的复杂化,往往需要专职的 SEPG人员,这些人员要求了解企业的所有管理过程和运作情况,在这个基础上才能统筹全局的进行过程改进,这时了解全局的SQA人员就是专职SEPG的主要人选;这些SQA人员将逐渐的转化为SEPG人员,并且更加了解管理知识,而SQA工作渐渐成为他们的兼职工作。这种情况在许多 CMM5企业比较多见,往往有时看不见SQA人员在项目组出现或者很少出现,这种SEPG和SQA的融合特别有利于组织的过程改进工作。SEPG确定过程改进内容,SQA计划重点反映这些改进内容,从保证有效的改进,特别有利于达到CMM5的要求。从这个角度,国外的SQA人员为什么高薪就不难理解了,也决定了当前中国SQA人员比较被轻视的原因;因为管理过程还不完善,我国的SQA人员还没有产生这么大的价值。

2.3.4 QA和组织级的监督管理

有的企业为了更好的监督管理项目,建立了一个角色,我取名为 “组织级的监督管理者”,他们的职责是对所有项目进行统一的跟踪、监督、适当的管理,来保证管理层对所有项目的可视性、可管理性。为了有效管理项目, “组织级的监督管理者”必须分析项目的数据。 他们的职责对照上图的模型,就是执行 “反馈”职能。

QA本身不进行反馈工作,最多对过程执行情况的信息进行反馈。SQA职责最好不要和“组织级的项目管理者”的职责混合在一起,否则容易出现SQA困境:一方面SQA不能准确定位自己的工作,另一方面过程执行者对SQA人员抱有较大戒心。

如果建立了较好的管理过程,那么就会增强项目的可视性,从而保证企业对所有项目的较好管理;而 QA来确保这个管理过程的运行。

2.3.5 SQA的工作内容和工作方法

2.3.5.1 计划

针对具体项目制定 SQA计划,确保项目组正确执行过程。制定SQA计划应当注意如下几点:

有重点:依据企业目标以及项目情况确定审计的重点。

明确审计内容:明确审计哪些活动,那些产品。

明确审计方式:确定怎样进行审计。

明确审计结果报告的规则:审计的结果报告给谁。

2.3.5.2 审计/证实

依据 SQA计划进行SQA审计工作,按照规则发布审计结果报告。 注意审计一定要有项目组人员陪同,不能搞突然袭击。双方要开诚布公,坦诚相对。 审计的内容:是否按照过程要求执行了相应活动,是否按照过程要求产生了相应产品。

2.3.5.3 问题跟踪

对审计中发现的问题,要求项目组改进,并跟进直到解决。

2.3.5.4 SQA的素质

过程为中心:应当站在过程的角度来考虑问题,保证了过程, QA就尽到了责任。

服务精神:为项目组服务,帮助项目组确保正确执行过程。

了解过程:深刻了解企业的工程,并具有一定的过程管理理论知识。

了解开发:对开发工作的基本情况了解,能够理解项目的活动。

沟通技巧:善于沟通,能够营造良好的气氛,避免审计活动成为一种找茬活动。 第三章 软件项目质量管理在实际中的具体做法

3.1 质量管理责任分配

笔者曾在美国TAJ Technologies公司任软件工程师工作。TAJ Technologies公司(位于美国明尼苏达州,有约200名员工)在开发项目上按照规范化软件的生产方式进行生产,在生产流程上采用ISO9000 的标准进行。每个项目除配备了项目开发所需角色外,还专门配备了配置管理小组、测试小组和质量保证小组确保质量管理的实施,下面针对这三种角色进行说明:

3.1.1 配置管理小组职责

配置管理小组是保证项目开发完毕的同时,内部文档和外部文档都同时完成。内部文档的及时产生和规范,是保证项目开发各小组能够更好的接口和沟通的重要前提,从另一个方面讲,也是保证工程不被某个关键路径所阻塞而延滞的前提。如上所述,配置管理小组还是保证质量保证小组得以发挥作用的基础。配置管理小组的主要职责包括: 完善各个部门发送需要存档和进行版本控制的代码、文档(包括外来文件)和阶段性成果; 对代码、文档等进行单向出入的控制;对所有存档的文档进行版本控制; 提供文档规范,并传达到开发组中。

3.1.2 测试小组职责

测试小组作为质量控制的主要手段,负责软件的测试设计和执行工作。如同软件开发一样,测试在执行之前,同样需要进行测试计划和测试策略的设计,通常情况下测试可以分为如下几种类型,如:正确性测试、功能性测试、性能测试、安全测试和系统测试等。而这些测试均需要在测试计划和测试策略中进行描述用以指导测试小组成员进行测试用例编写和测试执行。程序员在交给测试人员之前是进行过一定的单元测试,确保程序编译、运行正确。

测试人员根据详细设计的文档对软件要实现的功能进行一一测试,保证软件的执行正确的实现设计要求,在此也只证明了软件正确的反映了设计思想,但是否真正反映了用户的需求仍需要进一步的功能性测试。

测试人员只有根据软件需求规格说明书所提及的功能进行检测,才能确保项目组开发的软件产品满足用户需求。在正确性测试完成之后,需要测试的是软件的性能,软件的性能在本项目中占有重要的地位,性能要求有可能改变软件的设计,为避免造成软件的后期返工,测试在性能上需要较大的侧重。如果有必要的话,测试小组还需要做安全测试,以确保系统使用安全可靠。

3.1.3 质量保证小组职责

质量保证小组作为质量保证的实施小组,主要职责是保证软件透明开发的主要环节。在项目开发的过程中几乎所有的部门都与质量保证小组有关。质量保证小组对项目经理提供项目进度与项目真正开发时的差异报告,提出差异原因和改进方法。

在项目进度被延滞或质量保证小组认为某阶段开发质量有问题时,提请项目经理、项目负责人等必要的相关人员举行质量会议。解决当前存在的和潜在的问题。质量保证是建立在文档的复审基础之上,因而文档版本的控制,特别是软件配置管理,直接影响软件质量保证的影响力和力度。质量保证小组的检测范围包括:系统分析人员是否正确的反映了用户的需求; 软件执行体是否正确的实现了分析人员的设计思想; 测试人员是否进行了较为彻底的和全面的测试;配置管理员是否对文档的规范化进行的比较彻底,版本控制是否有效。

3.2 质量管理实施

有了良好的资源配备,又如何在项目全生命周期内实施质量保证,让我们从以下几个方面来看质量保证的实施过程:

3.2.1 项目进度的质量保证

项目进度是项目进行是否顺利的最直观表现。显然在项目开始之前,项目开发计划是必须的。如果项目开发计划的制定的是完全合理的,那项目进度也就真正表达了项目与最终的交付使用之间的距离,然而要制定完全合理的项目开发计划几乎不太可能。可见要保证项目进度,首先要保证项目开发计划尽可能合理。

项目计划的合理程度与项目计划制定者从事类似规模和类似业务的项目的经验有直接关系,通过经验往往能够预见潜在的阻碍,这样要求项目计划制定者需要集众人之力来完善计划。

当项目计划制定初期,由质量保证小组组织召开的项目计划评审会,邀请公司技术专家、用户以及项目组小组成员一起讨论项目计划的可行性,会议通常采用头脑风暴法,各抒己见,会后由指定的记录员形成质量记录,发送给相关人员,对其计划中不合理的地方进行修改完善,并由质量保证人员对其结果跟踪,以确保项目计划完整性、可行性,完善后的计划交由配置管理人员进行版本控制。

然而在计划实施过程中,计划不是“固定化”。常有人道,“计划赶不上变化”,但“要跟上变化”。项目计划以里程碑为界限,将整个开发周期划分为若干阶段。根据里程碑的完成情况,适当的调整每一个较小的阶段的任务量和完成的任务时间,这种方式非常有利于整个项目计划的动态调整。也利于项目质量保证的实施。

实际运作中,当质保小组发现计划实施的差异后,报告项目经理,由项目经理组织负责对计划进行周期性维护,对于已经变动的计划由质保小组协助配置管理小组完成版本控制。

项目开发各阶段的质量保证

a、需求分析

需求分析是开发人员对系统需要做什么和如何做的定义过程。从系统分析的经验来看,这个过程往往是个循序渐进的过程,一次性对系统形成完整的认识是困难的。只有不断地和客户领域专家进行交流确认,方能逐步明了用户的需求。从系统开发的过程得知,系统分析时犯下的错误,会在接下来的阶段被成倍的放大,越是在开发的后期,纠正分析时犯下的错误所花费的代价越是昂贵,也越发影响系统的工期和系统的质量。

解决系统分析错误的方法。TAJ Technologies公司通常采用邀请用户参与进行需求评定,然后对其用户的意见由质保成员跟踪检测是否纳入需求规格说明书,同时与用户签字确认形成需求基线,交由配置管理员放入配置管理库。

虽然尽早的邀请用户参与,仍然避免不了项目进行中用户的需求变更请求。对于开发过程存在的需求变动,我们要求用户填写变更申请单发送给项目配置管理员,在通过配置配置员转交质保小组,负责组织专家小组和项目组成员一起讨论实施变更的可行性及实施后所带来的影响,小的变更则直接记录入变更记录原因分析项和风险项栏,大的变更则需要形成正式的变更报告,无论那种变更都需要对相应的文档实施同步变更(包括需求规格说明书、详细设计文、安装手册、操作手册等)。但是对于无法实现或是变更会带来巨大的影响而将导致进度的延期,这时,我们将变更报告提交给用户或邀请用户进行协调会议,讨论变更取舍问题或是项目进度变更问题。

决定变更之后,由项目经理组织实施变更,测试人员检测变更结果,而质保小组成员监督变更实施过程并协助配置管理员对变更后的成果物进行版本控制。变更实施完后,上线前还需要指定人员协助用户一同测试并由用户签字后同意方可上线。

b、系统设计

优良的体系结构应当具备可扩展性和可配置性,而好的体系结构则需要好的设计方法,自然设计选型成为了系统设计首要的工作,究竟是采用哪种设计方法好呢?

对于设计选型不能一概而论,需要针对项目的结构、项目的特征和用户的需求来分析,同样也要考虑到参与项目小组成员的素质,如果其中大部分都没有从事过面向对象的设计且项目进对紧迫,这样没有多余的时间来培训小组成员来掌握面向对象的设计方法,尽管众所周知面向对象设计方法的优势,我们还是不如采用面向过程的方式(除用户指定开发设计方式外)可以减少项目承担的技术风险。

TAJ Technologies公司有过一个项目,用户指定需要采用面向对象分析、设计和开发,且开发周期短,在无赖的情况下,项目小组只能选用面向对象的软件开发过程,由于项目小组很少从事过面向对象的开发,经验缺乏,导致项目上马后项目进度延误,项目没有达到预期的效果。

针对此次开发,我们分析其原因,发现小组成员在开发过程中对于新技术互相交流少,各自有各自的理解和想法,造成理解上的不一致性,导致工作重复性高,滞后项目进度。建议解决方法是项目组成员采用集中办公,分块学习,学习的成果马上向项目相关人员发布,再由配置管理员对其发布的文档进行整理、规类放入配置库以供大家共享。这样方便大家的互相学习,减少重复的工作。在这次开发中我们公司从管理人员、设计人员到开发人员都汲取了很多教训,同时经过此次项目的开发,小组成员也积累了丰富的面向对象的开发经验。

除设计选型,还有一个容易被忽视的问题,就是公共类开发。公共类开发可以减少工作中的重复工作,降低开发成本。这要求我们再设计阶段通过对用户需求的仔细研究,尽可能的识别出公共类,并进行定义指定专人负责设计通知其它设计人员,以减少重复工作。对于项目组提供的设计文档,由质保小组组织技术专家、项目组设计人员、开发人员和测试人员对其设计文档的评审,检测设计文档对其下一阶段工作的可行性,及时发现设计中可能存在的错误,降低项目开发风险,同时确保设计文档能为开发人员、测试人员提供切实的指导。对于可复用的设计进行提取作为公共库设计和开发,提供项目组或整个公司重用。最后交由配置管理员进行设计文档的版本控制。

c、实现

实现也就是代码的生产过程。这里不仅包括代码的产生,同时也包括测试用例的产生。针对上一阶段提供详细设计,程序员开始编码并且调试程序,测试人员则根据设计进行测试用例的设计,设计出来的用例需要得到项目组成员认可由项目经理审核通过才能进入配置库。同时程序员调试完程序提交测试人员进行程序正确性检测。

d、文档管理

文档维护主要是配置管理小组的工作。文档从用途上分主要分为内部文档和外部文档。

内部文档包括: 项目开发计划; 需求分析; 体系结构设计说明; 详细设计说明; 构件索引; 构件成分说明; 构件接口及调用说明; 组件索引;组件接口及调用说明; 类索引; 类属性及方法说明; 测试报告; 测试统计报告; 质量监督报告; 源代码; 文档分类版本索引; 软件安装打包文件。

外部文档主要包括: 软件安装手册; 软件操作手册; 在线帮助; 系统性能指标报告; 系统操作索引。

如何保证文档的全面性,使其真正为项目的进度提供保证,又不因为文档的写作而耽误项目的进度,这仍然是一个比较难解决的问题。解决此问题,其核心仍然是个" 度"的问题。

在本项目的开发中,配置管理小组的一个非常重要的任务还是书写文档规范和文档模板。当有文档模板后需要书写文档的人员只剩下"填空"的工作,从某种意义上讲,书写文档的速度会加快。如果书写文档的人员认为文档的更细致的部分可以由他人帮助完成,则该文档即交由他人完成,但此时文档并不算被正式提交,当他人书写完毕之后,必须由文档的初写者进行复审,复审通过后方可以正式提交,进入软件配置管理的循环中。

配置管理小组真正核心的工作是对文档的组织管理。根据文档的不同,文档的来源也不同,有些是通过质量保证小组经过复审之后转交给配置管理小组,有些则会直接从文档的出处到达配置管理小组。文档的管理是一个非常烦琐的工作,但是长远来看它不仅使项目的开发对单个主要人员的依赖减少,从而减少人员流动给项目的带来的风险,更重要的是在项目进行到后百分之十的时候起到拉动项目的作用。

从以往做大项目的经验来看,写作文档在项目开发的早期可能会使项目的进度比起不写文档要稍慢,但随着项目的进展,各个部门需要配合越来越多,开发者越来越需要知道其他人员的开发思路和开发过程,才能使自己的开发向前推进。一个明显的例子就是系统整合,或者某些环节是建立在其他环节完成的基础之上时,就更显现出文档交流的准确性和高效性。

3.2.2 系统维护质量保证

在TAJ Technologies公司,维护小组的任务一方面是保证对项目客户的跟踪服务,另一方面是确保该项目其它的开发人员从项目中尽快的解脱出来以便投入到下一个项目的开发中。所以通常项目维护小组成员主要由项目组的少部分开发人员承担完成。他们不仅了解软件的核心内容,而且与客户也不陌生,以便能够以最快的速度修正错误。对于一般性的错误,如操作不当等引起的问题,全部由维护小组执行完成,但需要用户测试确认上线。如果较大的修改则需要走变更控制流程,用户或者维护人员填写变更申请,经专家会议讨论分析可行方案在由维护小组实施,通过测试后方可提交用户。

维护小组的人员基本上是按项目跟进的。当一个项目刚刚交付用户时,在维护小组有较多的人员进行跟进,随软件的稳定,跟进的人逐步减少,并转移到其它项目中去。

未完待续

上一篇:如何做好课前预习下一篇:让婚姻幸福的技巧

本站热搜