人人范文网 其他工作总结

软件项目总结范文(精选多篇)

发布时间:2022-07-29 15:04:47 来源:其他工作总结 收藏本文 下载本文 手机版

推荐第1篇:软件项目总结

本项目从今年3月份启动,到系统上线一共历经7个月的时间,综合项目历程,本人有如下感想: (一) 调研阶段。

1.调研的时间充分是系统设计成功的关键。本系统的前期调研工作一共用了一个月的时间,在这一个月的时间内,项目组成员每天都与客户进行详细的调研工作,调研工作的详细使得系统在设计阶段没有发生重大的逻辑错误。

2.调研工作要详细,耐心。由于项目在售前阶段已经进行过粗略的调研,在调研时对于有些问题客户会显得不耐烦,对于这种情况,要耐心与客户做好沟通,让客户理解我们调研工作的重要性。 (二) 设计阶段。

1.数据库设计是极其重要的一个环节,要特别重视,数据库设计完成要进行细致的论证和审核。本系统在这方面应该有所教训,在前期数据库设计完成之后,论证得不够详细,导致在编程阶段走了很多弯路,不得不修改数据库设计。一定要在满足关系范式的前提下做设计,不要随便为了一时便利而引入表,要在遇到问题时审视原来的设计。 (三) 编码阶段。

1.本项目部分设计工作与编码是同时进行的,造成了边设计边编码的情况,影响了开发的效率,所以系统设计工作时间一定要充分,编码工作不要急于提前。2.每个模块的需求都是不同的,不能考虑“批量生产”模块。编码初期认为编写好了一个模块,其它模块都可以利用,会省很多时间,结果是每个模块的需求都是有差别的,利用批量复制的代码会造成逻辑混乱,并会含有潜在缺陷,往往会事倍功半。 (四) 测试阶段。

1.测试计划一定要详细,客户方负责人也就可以按计划安排各部门人员做测试,计划要考虑提前性,因为一些不确定性的问题(例如客户本身的突发事件)会使计划延迟,并且要安排好备选的测试计划,如遇突发情况,就可安排另外的测试。本系统的两次测试都是由于有较为详细的测试计划使得现场测试工作有条不紊。 2.与客户确定的需求要有字为证,在现场测试过程中,客户会提一些需求,对于这种情况,我们每天都整理到《测试处理结果表中》,并且每天都要给客户发邮件确认。这样,对于这样的需求我们就能够保证开发的准确性。而且客户如果再提出不合理的需求我们就能够做到有据可查。 (五) 其它。

1.定期向客户方领导做项目进度报告。项目开工后,我们每半月都向**部**经理和**部**经理做进度汇报,使得客户方领导很认可我们的工作,在推进项目进展方面给我们很大的支持。

2.始终把客户方关键用户作为项目组的成员来看待,遇到问题,可让他们协助做解决方案,这样不但增加了关键用户的成就感,而且在遇到问题的时候客户会主动帮我们解决问题,而不是急着催促我们解决问题。3.项目组成员要密切配合,肯吃苦耐劳。本次由于项目时间较紧,遇到难以解决的问题,项目组成员都是主动想尽办法以最快的时间解决,保证了项目的按期上线。

推荐第2篇:软件系统项目总结

“题库系统”项目分析

XXXXXX 项目描述:

这是我自身参与的一个项目。XXXXX学院的学生规模从最初的千人级迅速增加到近十万人级。在学生人数不多的情况下,学生作业及在线考试可以通过手工方式完成。学生规模快速增长后,手工方式周期长、容易出错、也不易统计。如何快捷方便地让学生完成作业及在线,以及如何快捷方便地批改作业及在线考试题,迅速反馈给学生,提在技术的首要日程。“题库系统”项目就是基于以上背景,是将常规的书面作业及考试系统化成网络化作业及考试,从而大幅缩短学生作业及考试到教师批改作业及考试的周期,也方便学生和老师随时随地完成作业及考试任务,也方便管理人员对组织的作业级考试进行统计分析,提供下一次作业考试的决策。“题库系统”项目已经上线,基本上完成了预计目标。但上线后经过几次大规模的修改,才使用户较为满意。 项目分析: 第

一、清楚的需求

1) 业务部门(需求方)因为IT知识缺乏,对自己需要什么样的题库系统没有明确的概念,走一步算一步,甚至于今天的需求跟昨天的需求是南辕北辙的。

2) 业务部门的业务流程不是规范的,固化的,在系统准备上线后,业务流程还有变化。 3) 未能与业务部门进行充分有效地沟通、引导业务部门清楚具体有效的梳理需求。 第

二、高层管理者的支持

高层领导对信息系统的不理解,对信息化的作用没有深刻的认识。对技术部门的支持不够,导致在项目需求界定、项目开发、实施上线过程中业务部门占了主导地位。 第

三、项目计划

1) 工作量估算过少 ,由于业务部门和高层领导的压力在工数估算上予以妥协。 赶工赶进度,项目节点项目质量相应下降。

2) 项目组织过小 ,人手不足,项目组人员不够造成以下问题:

 工作分担(责任范围)不明确,工作分割结构与项目组织结构不明确或者不相对应,各成员之间的接口不明确,导致有一些工作根本无人负责。

 每个开发阶段的提交结果定义不明确,中间结果是否已经完成,完成了多少模糊不清,结果是到了项目后期堆积了大量工作。

 开发中没时间去按指定里程碑或检查点检查完成情况。

推荐第3篇:软件项目管理总结

《软件项目管理》

学 号:专 业:软件姓 名:任课教师:日 期:

实 验 报 告

1311班

2016.4.6

实验1:假设你是软件项目经理,如何有效的管理项目及其团队成员

我作为软件工程专业的一名学生,知道在软件项目开发中团队合作的重要性。对于项目管理来说,项目团队作为一个任务单元,不仅可以高效地利用有限的人力资源,而且有助于加强员工间的交流与协作。但是一个项目团队离不开一个有能力的项目经理,而项目经理对项目的成败起着关键性的作用。

1.作为项目经理应该具有的管理能力

假如我是软件项目经理,我就必须管理好我的软件项目和我的成员。作为一个项目经理,自己一定要有管理一个团队的能力。能力有可以分为两种:基本能力和基础能力。其中基本能力主要有时间管理、成本管理、人力资源管理、交流管理、质量管理、风险管理等。而基础能力包括:沟通能力、体察能力、理解能力、分析能力、总结能力、协调能力、组织能力等。我认为项目经理的技术能力可以不是很强,当然前提是他要有一个技术很好的搭档,但是他的逻辑思维能力,沟通能力和协调能力等都必须很强,总而言之,项目经理是一个综合能力很强的人,他应该懂得因地制宜,因势导利,能够把控全局,掌控整个工程项目。

案例:沟通能力很重要

老张是某个系统集成公司的项目经理。他身边的员工开始抱怨公司的工作氛围不好,沟通不足。所以他就想每周开一次开会,但他又不知道例会具体因该如何规定。很快项目组成员开始抱怨例会目的不明,时间太长,效率太低,效果太差等,有时在例会上成员意见不一致,很多成员相互争吵,甚至影响到了人际关系的融洽。

通过这个案例我们可以看出团队的沟通出了问题。这个项目经理缺乏对项目团队成员的沟通和沟通风格的分析,沟通方式单一,没有进行冲突管理。我认为他可以这样解决问题:

对项目团队的成员进行沟通风格分析,对成员的沟通风格采用不同的沟通方式,可以使用非正式的沟通方式,引入一些标准的沟通模板,注意冲突的管理等。良好的沟通是一个软件项目成功的前提条件。在软件项目管理中沟通是整个活动过程中的神经中枢,顺畅有效的沟通是项目成功的基础。要科学地组织、指挥、协调和控制项目的实施过程,就必须进行信息沟通。有效的信息沟通,对于整个项目的进度控制、风险预测、需求确定以及人际关系的改善都起着促进的作用。当然,除了沟通,其他的能力,项目经理也应具备。

案例:

A公司是一家系统集成商,李某是A公司的一名高级项目经理,现正在负责某市开发区的办公网络项目的管理工作,该项目划分为综合布线、网络工程和软件开发三个子项目,需要3个项目经理分别负责。李某很快找到了负责综合布线、网络工程的项目经理,而负责软件开发的项目经理一直没有合适的人选。原来由于A公司近年业务快速发展,承揽的项目逐年增多,现有的项目经理人手不够。李某建议从在公司工作2年以上业务骨干中选拔项目经理。结果王某被李某选中负责该项目的软件开发子项目。在项目初期,依照公司的管理规定,王某带领几名项目团队成员刻苦工作,项目进展顺利。 随着项目的进一步展开,项目成员的逐步增加,王某在项目团队管理方面遇到很多困难。他领导的团队因经常返工而效率低下、团队成员对发生的错误互相推诿、开会时人员从来没有到齐过,甚至王某因忙于自己负责的模块开会时都迟到过。大家向王某汇报项目的实际进度、成本时往往言过其实,直到王某对自己负责的模块进行接口调试时才发现这些问题。

案例分析:

王某是从技术骨干升为项目经理的,从实际工作结果看,显然王某本身尚未具备管理项目和团队的基本素质,没有培训和锻炼,仓促上阵。王某的这方面劣势本应在项目的风险管理中充分考虑并制定相应的预案。现阶段,如果项目的时间充足,李某可采用指导型的管理手段,王某的团队工作安排要全面及时汇报给李某,不论大小。正确的方案不加干涉,加强过程和结果的追踪,欠妥的地方,找王某单独沟通,让他在工作中成长。如果项目时间不够,则要采取参与式的管理手段,重要的工作安排,李某直接参与,但保持与王某的充分沟通,使之充分理解李某的方案为什么更优,其目的也是在工作中成长。不管哪种方案,前提是减轻王某的技术工作负荷,使他有时间学习和思考项目管理的方法。

2.项目经理对项目和成员的管理

项目经理不仅要管理好他的团队,还要管理项目。目前就我的角度讲,从项目经理接到一个项目开始,就要先和客户交流,必须了解到用户的需求,当然有时用户知道自己需要什么,但表达不出来,这是我就要提前假设许多种情况,来询问用户当遇到这些情况,他觉得应该怎样解决。然后把这些都要写入需求分析里。和用户谈完后,我会和团队成员一起讨论,然后根据用户的需求写需求分析。 写完需求分析后,要开始分工协作开发该项目,在开发过程中,当成员遇到困难我会尽自己所能帮他解决。当然,每一个项目都有规定的开发日期,为了项目能够如期完成,我会提前制定一个开发阶段时间表,说明项目实施阶段划分,规定不同的阶段完成什么任务,按照计划进行。不能说把项目任务分配后就对成员不闻不问,我会每天在一个时间点了解成员的开发进度,进而进行项目进度的调整。

3.项目管理者和开发人员之间要团结互助

项目管理者和开发人员之间的关系,本来应该是相互团结,相互帮助,共同面对问题的关系,可是许多项目管理者把这种关系扭曲成了管理与被管理的强制性关系,用种种规章制度,种种管理方法来强迫开发人员接受,把自己放到了开发人员的对立面,和开发人员离心离德,甚至还美其名曰\"量化管理,科学管理\".在这种糟糕的管理下,开发人员没有任何办法,要么被动接受糟糕的管理,要么辞职以抗议.一旦一个项目发生了这种情况,它想成功就非常难了。我反对的是软件开发中的强权行为,完全剥夺了开发人员应当具有的对于项目的发言权和建议权,完全不考虑软件开发作为高强度脑力劳动的特殊性。

项目管理者和开发人员并没有本质的区别,他们只是所处的岗位不同,担任的责任不同而已,在软件开发的问题上,尤其在具体的技术细节上,往往管理者不甚精通,如果他不能吸纳开发人员的智慧,而是自己一个人拍脑袋来做决策,那么失败就在眼前了.

总的来说,在软件开发中,无论采用那种模型,那种工具,都离不开人的参与,离不开人与人之间的关系,如果不能正确对待人与人之间的关系,把本来正常的,平等的,合作的人与人之间的关系变成了不正常的,不平等的,对抗的人与人之间的关系,那么还希望项目能够成功,无异于缘木求鱼,南辕北辙了.如果人与人之间可以相互信任,相互理解,相互支持,相互合作,那么没有什么事情是办不成的,而如果人与人之间相互欺骗,相互猜忌,相互诋毁,相互斗争,那么没有什么事情是可以办成的。

4.项目经理应该具备的品质

我认为在项目管理中,项目经理的行为准则会影响到其他成员,管理流程是不可能靠项目经理一个人维持的,必须得到大家的支持。在团队管理中,一定要公平公正,要廉洁自律。在项目中一定要有正确的利益观,在尽量保证其它成员的利益、至少是不损害其它成员利益的基础上来争取自己个人合理利益。尤其要公正公平地评估项目团队成员间的利益,否则很可能因为利益分配问题导致整个团队的崩溃。在团队中我一定会坚持一些原则:不损人利己、不可或缺、集思广益、换位思考等!在团队交流中多方面的思考问题,多采纳团队中有利的建议。所以品德高尚成为项目经理首先需具备的条件。

5.当代项目经理应该具备的能力与素质

当代软件项目管理进入新的阶段。由于信息产业的技术含量高,软件开发项目经常会遇到需求多变、技术更新和所处的环境变化快和人员流动频繁。软件技术人员的管理特点等情况,影响项目管理的因素日趋增多,信息软件开发行业也就更加需要科学规范的项目管理。由于这些原因,要求软件开发项目经理应该是一个具有很强逻辑思维、推理能力和社会经验丰富的综合素质全面的管理者,缺乏职业素养的项目管理者会因自身的职业能力的局限性缺乏细节和深度地计划一个项目,使得预测潜在问题很困难,难以去管理资源,合理评估时间和成本,以及编制出可操作的时间计划,不会或不能很好地处理诸多冲突和变更。在这样的项目管理者带领下的项目团队最终只能丧失控制力。当前我国行业现实是绝大多数项目经理是技术人员出身,因为技术工作的性质和特点造成此类项目经理在任职之前人文能力不强。因此,中国传统的学而优则仕的观点在项目经理的选拔中需要格外注意,同时要加强职业培训及自我的实践总结和提高。

实验2:作为软件项目团队成员的你,应该如何有效的配合项目组成员完成工作

在软件开发项目中,许多组织采用合作开发的方式,这种方式的优点在于合作各方可以各取所长。由于在合作方式下,项目团队成员来自不同的组织,在项目实施过程中的冲突就往往不可避免,充分的沟通和参与是有效的激励机制。

1.个人在团队开发中沟通的重要性

在合作项目中,对于涉及到项目进度和人力资源调度这样一些问题而言,充分的沟通是一个关键性的管理手段。尽管定期和不定期的项目评估能够在一定程度上解决一些问题,但需要记住的是,只有那些具体负责某项工作的团队成员对有关的工作才最有发言权,也只有他们的行动才最终决定了某些计划或决策的执行效果。如果在计划制定过程中缺乏沟通,那些持有不同意见的项目团队成员就可能在执行中降低努力水平。所以在项目开发过程中,我会把自己的疑问提出,多和团队成员交流,把疑问解决,发表自己对该项目的认识,和团队成员交流自己的想法,是否能够达到项目的需求,自己的理解是否出现了偏差,而导致对团队产生不利的影响。

2.在团队开发中自己一定要参与到项目中并且努力完成任务

而对软件开发这样的项目而言,团队成员的努力才是保证项目成功的最关键的因素之一。“参与”是激励机制中的重要一环,每个团队成员都应当在计划制定过程中发表意见,不仅是因为经过充分讨论后的计划才能更加切合实际,更重要的是,团队成员在执行其“自己的计划”过程中会更加努力。在软件开发项目中,团队成员大多是技术人员,对于技术人员而言,通过新工具和新技术的使用能够提高其专业水平,因此在软件项目实施过程中适当引进新工具和新的开发环境有时也是一种良好的激励手段,当然这种手段的采用要有两个前提:相关的工具确实有效,同时需要提供一定的培训以保证工作的效率。作为一个项目团队的成员,会参与团队的项目,在项目开发的过程中,大家在项目经理的指导下都会有各自的任务,一个团队的计划是一个大计划,相当于一个概要设计,而每一个成员制定自己的任务计划就相当于详细设计。我在做自己的任务之前肯定会制定一个进度计划,按照计划进行。在此过程中遇到问题会和成员们沟通解决。

除此之外,我还会提高个人职业能力:强调持续不断的学习能力,并通过实践提升个人的专业技能,从而提高项目管理的水平。在团队合作中,我会努力做到尊重个人在信仰、文化和行为习惯方面的差异,与团队成员建立好沟通与联系,努力建设一个协作的,氛围良好的开发环境。 3.在开发团队中要多发现别人的优点

著名心理学家荣格曾列出一个公式:I+We=Fully I。意思是说,一个人只有把自己融入集体中,才能最大程度地实现个人价值,绽放出完美绚丽的人生。认识自己的不足,善于看到别人——尤其是同事——的长处,是具有良好的团队精神的基础。

在一个团队中,每个成员的优缺点都不尽相同,你应该去积极寻找团队成员中积极的品质,并且学习它,让自己的缺点和消极品质在团队合作中被消灭。团队强调的是协同工作,较少有命令和指示,所以团队的工作气氛很重要,它直接影响团队的工作效率。如果团队的每位成员都去积极寻找其他成员的积极品质,那么团队的协作就会变得很顺畅,团队整体的工作效率就会提高。

每个人都有被别人重视的需要,特别是那些具有创造性思维的知识型员工更是如此。有时一句小小的鼓励和赞许就可以使他释放出无限的工作热情,并且,当你对别人寄予希望时,别人也同样会对你寄予希望。 4.在开发团队中要多检查自己的缺点

自己应该时常的检查一下自己的缺点,比如自己是不是还是那么对人冷漠,或者还是那么言辞锋利。这些缺点在单兵作战时可能还能被人忍受,但在团队合作中会成为你进一步成长的障碍。团队工作中需要成员在一起不断地讨论,如果你固执己见,无法听取他人的意见,或无法和他人达成一致,就不可能融入团队,团队的工作就无法进展下去。如果你意识到了自己的缺点,不妨就在某次讨论中将它就坦诚地讲出来,承认自己的缺点,让大家共同帮助你改进,这是最有效的方法。当然,承认自己的缺点可能会让你感到尴尬,但你不必担心别人的嘲笑,你只会得到他们的理解和帮助。

4.每一个团队成员都要明确自己的任务

每一个团队成员应该确实知道他们每天的工作是什么,以致团队可以实现他们的目标。没有仔细的分类,团队成员容易在工作中互相误解,以及相互限制。

团队成员的交叉角色应该在开始行动之前就仔细想清楚,随着团队前进,他们可以更加精确。

团队精神不反对个性张扬,但个性必须与团队的行动一致,要有整体意识、全局观念,考虑团队的需要。它要求团队成员互相帮助,互相照顾,互相配合,为集体的目标而共同努力。

案例:

曾经有这样两个大学生:他们共同承担一个项目,但其中有分工。其中一位在完成任务的过程中遇到了技术上的难题,此时他只会自己冥思苦想乱翻书,却不屑于向坐在旁边的高手请教一下。而这位高手此时不是把他当做是共荣共辱的合作伙伴,而是坐在旁边等着看笑话。这是我们应该吸取的教训。所以在工作期间,要有意识地培养全局观念。比如要建设一个优秀班组,就不能只考虑自己的需要而不关注别人的感受。要建设一个优秀部门,每个人就不能借口自己有这样那样的事情而不参与集体组织的活动,否则将会像一盘散沙,优秀集体难以形成,自己也很难从中受益。

6.在开发过程中要注意团结合作 案例:

每到秋季来临,天空中就会有成群结队的大雁向南方迁徙,而这南飞的雁群就是一支完美的团队,是值得我们学习的团队楷模。雁群是由许多有着共同迁徙目标的大雁组成的。在组织中,它们有明确的分工合作,当队伍中途飞累了停下休息时,它们中有负责觅食、照顾年幼或老龄大雁的青壮派,有负责雁群安全的巡视放哨的大雁,有负责安静休息、调整体力的领头雁。在雁群进食的时候,巡视放哨的大雁一旦发现有敌人靠近,便会长鸣一声给出警示信号,群雁便整齐地冲向蓝天,列队远去。而那只放哨的大雁,在别人都进食的时候自己不吃不喝,非常警惕,恪尽职守,具有牺牲精神。据科学研究表明,大雁组队飞行要比单独飞行提高22%的速度,比单独飞行多出12%的距离。飞行中的大雁两翼可形成一个相对的真空状态,而飞翔的头雁是没有谁给它真空的,但漫长的迁徙过程中总得有人带头搏击,这同样是一种牺牲精神。在飞行过程中,雁群大声嘶叫以相互激励,通过共同扇动翅膀来形成气流,为后面的队友提供了“向上之风”,而且V字队形可以增加雁群70%的飞行范围。如果在雁群中,有任何一只大雁受伤或生病而不能继续飞行,雁群中会有两只大雁自发地留下来守护照看受伤或生病的大雁,直至其恢复或死亡,然后它们再加入到新的雁阵,继续南飞直至目的地,完成它们的迁徙。

大雁成群结队迁徙,在迁徙过程中任务分工明确,作为一个整体团结合作,最后飞往目的地,一个大雁群体既是这样团结合作,作为一个更需要团结合作的软件项目开发团体,我觉得更需要这种团结合作的精神。

软件开发并不是一件简单的工作,不是一个人可以完成的,一般都是多人或多个团队合作来完成,有需求分析、产品架构定位、设计与结构、编码、测试、打包等等,里面每个成员的分工都是明确,整个项目是大家互相配合、互相协作下完成。

学号:

姓名: 日期:

推荐第4篇:软件系统项目总结

XXXXXXXXXXX项目

项目总结

XXXXXXX科技有限公司

2016年6月

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

1、项目开工阶段。

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

2、需求调研阶段。

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

3、详细设计阶段。

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

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

5、系统试运行。

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

6、系统培训阶段。

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

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

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

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

项目负责人:

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

推荐第5篇:软件项目管理总结

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

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

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

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亿元左右。这还是一个

比较保守的数字。

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

的教导。

推荐第6篇:软件项目管理总结

软件项目管理

1 项目管理过程

软件项目管理的对象是软件工程项目。涉及的范围覆盖了整个软件工程过程。

项目管理是指“在项目活动中运用专门的知识、技能、工具和方法,使项目能够实现或超过项目干系人的需要和期限。”

项目的核心知识是范围、时间、成本和质量。辅助知识是人力资源管理、风险管理和采购管理。

2 项目启动

接受项目的第一步工作就是界定项目。 项目启动应做如下工作:

1) 设定目标:收集事实、信息、意见、需求;探讨假设情况;确定应包括的内容和应排除的东西。

2)SWOT分析:S(优势)W(劣势)

O(机会)

T(威胁)

3) 确定需要进行的主要工作及需要的技能和资源,即明确项目的资源和范围。 4) 考虑可能的解决方案,标明技术上和管理上的限制。

2.1 制定计划工作:度量

什么是度量? IEEE 定义度量是 “对一个系统、构件或过程具有的某个给定属性的一个定量测量”。进行度量工作,是为了了解产品开发的技术过程和产品本身。 (1)度量开发过程的目的是为了改进过程; (2)度量产品的目的是为了提高产品质量。 度量的作用是为有效地定量地进行管理。

2.2 制定计划工作:估算

在软件项目管理过程中关键的活动就是制定项目计划。 在做计划时必须就需要的人力(以人月为单位)、项目持续时间(以年份或月份为单位)、成本(以元为单位)做出估算。

(1)在软件项目管理过程中关键的活动就是制定项目计划。 (2)在做计划时必须就需要的人力(以人月为单位)、项目持续时间(以年份或月份为单位)、(3)成本(以元为单位)做出估算。

2.3 制定计划工作:风险分析

所谓风险分析实际上就是一系列风险管理步骤,其中包括风险识别、风险估计、风险管理策略、风险解决和风险监督。这些步骤贯穿在软件工程过程中。 2.4 制定计划工作:进度安排

每个软件项目都要求制定一个进度安排,但不是所有进度都得一样安排。 2.5 追踪和控制

一旦建立了开发进度安排,就可以开始着手追踪和控制活动。 由项目管理人员负责追踪在进度安排中标明的每一个任务。 如果任务实际完成日期滞后于进度安排,则管理人员可以使用一种自动的项目进度安排工具来确定在项目的中间里程碑上进度误期所造成的影响。

(1)可对资源重新定向

(2)对任务重新安排 (做为最坏的结果)可以修改交付日期以调整已经暴露的问题。用这种方式可以较好地控制软件的开发。

3 软件生产率和质量的度量

生产率与质量的度量是以投入工作量为依据的软件开发过程的度量和软件产品质量的度量。 面向规模的度量面向功能的度量软件质量的度量 软件度量分为两类:直接度量与间接度量。

软件过程的直接度量包括所投入的成本和工作量。 软件产品的直接度量包括产生的代码行数(LOC)、执行速度、存储量大小、在某种时间周期中报告的差错数。

软件产品的间接度量包括功能性、复杂性、效率、可靠性、可维护性和许多其他质量特性。

3.1 面向规模的度量

面向规模的度量是对软件和软件开发过程的直接度量。 3.2 面向功能的度量

面向功能的软件度量是对软件和软件开发过程的间接度量,主要考虑程序的 “功能性” 和 “实用性”,而不是对 LOC计数。

该度量是一种叫做功能点方法的生产率度量,利用软件信息域中的一些计数和软件复杂性估 功能点度量是为信息系统应用而设计的。

特征点度量(Feature Points)可以用于系统和工程软件应用。特征点度量适合于算法复杂性高的应用,如实时处理、过程控制、嵌入式软件。

3.4 软件质量的度量

质量度量贯穿于软件工程的全过程中以及软件交付用户使用之后。

使用得最广泛软件质量的事后度量包括正确性、可维护性、完整性和可使用性。

(1)正确性:一个程序必须正确地运行,并为它的用户提供某些输出。正确性要求软件执行所要求的功能。正确性的度量是每千代码行(KLOC)的差错数,其中将差错定义为已被证实是不符合需求的缺陷。

(2)可维护性:软件维护比其它的软件工程活动需要更多的工作量。还没有一种方法可以直接度量可维护性,必须采取间接度量。

一种简单的面向时间的度量:

平均变更等待时间MTTC。这个时间包括分析变更要求、设计适当修改、实现变更并测试、把变更发送给所有用户。一个可维护的程序与不可维护的程序相比,应有较低的MTTC。

(3)完整性:完整性度量一个系统抗拒对它的安全性攻击(事故的和人为的)的能力。程序、数据和文档都会遭到攻击。

度量完整性,需要定义两个附加的属性:危险性和安全性。危险性是特定类型的攻击将在一给定时间内发生的概率,安全性是排除特定类型攻击的概率。

一个系统的完整性可定义为

完整性=∑(1-危险性×(1-安全性)) (4)可使用性:如果程序不具有用户友好性,即使它所执行的功能很有价值也常常会失败。

4.2 软件开发成本估算方法

对于绝大多数项目,主要的成本是工作成本。

软件成本计算的目的是要精确地、客观地预测软件承包商的开发成本。 软件的开发成本是以一次性开发过程所花费的代价来计算的。 要进行一系列的估算处理。主要靠分解和类推。

1.自顶向下的估算方法

这种方法的主要思想是从项目的整体出发,进行类推。

估算人员根据以前已完成项目所消耗的总成本(或总工作量),推算将要开发的软件的总成本(或总工作量),然后按比例将它分配到各开发任务单元中去,再来检验它是否能满足要求。

2.自底向上的估算方法

这种方法的主要思想是把待开发的软件细分,直到每一个子任务都已经明确所需要的开发工作量,然后把它们加起来,得到软件开发的总工作量。 它的优点是估算各个部分的准确性高。缺点是缺少各项子任务之间相互联系所需要的工作量,还缺少许多与软件开发有关的系统级工作量.

3.差别估计法

这种方法综合了上述两种方法的优点,其主要思想是把待开发的软件项目与过去已完成的软件项目进行类比,从其开发的各个子任务中区分出类似的部分和不同的部分。 类似的部分按实际量进行计算,不同的部分则采用相应方法进行估算。

4.专家判定技术

由多位专家进行估算,取得多个估算值。再把这些估算值合成一个估算值。

一种合成方法是求各估算值的中值或平均值。其优点是简便。缺点是可能会由于受

一、二个极端估算值的影响而产生严重的偏差。另一种合成方法是召开小组会,使各位专家们统一于或至少同意某一个估算值。优点是可以摈弃蒙昧无知的估算值,缺点是一些组员可能会受权威或政治因素的影响。

5. 标准Deiphi技术

A组织者发给每位专家一份软件系统规格说明书和一张记录估算值的表格,请他们估算。 B专家详细研究软件规格说明书的内容,对该软件提出三个规模的估算值,即:ai (最小), mi (可能), bi (最大), 无记名地填写表格。 C组织者整理专家们填在表格中的答复:

(1)计算各专家估算的期望值 Ei

Ei = (ai+4mi+bi)/6 (2)对专家的估算结果分类摘要。

D在综合专家估算结果的基础上,组织专家再次无记名地填写表格。比较两次估算的结果。若差异很大,要通过查询找出差异的原因。

E上述过程可重复多次。最终可获得一个得到多数专家共识的软件规模 (源代码行数)。

.最后,通过与历史资料进行类比,根据过去完成软件项目的规模和成本等信息,推算出该软件每行源代码所需要的成本。然后再乘以该软件源代码行数的估算值,就可得到该软件的成本估算值。

4.3 软件开发成本估算的经验模型

软件开发成本估算是依据开发成本估算模型进行估算的。

1. IBM模型 (Walston-Felix) 静态单变量模型

2.其他静态单变量模型 3.Putnam 模型

动态多变量模型。

4. COCOMO模型 结构型成本估算模型是一种精确、易于使用的成本估算方法。 软件开发项目的总体类型: 组织型

不涉及硬件的开发

嵌入型

完全与硬件结合的开发

半独立型

介于上述两者之间

COCOMO模型按其详细程度分成三级:

基本COCOMO模型

中间COCOMO模型

详细COCOMO模型

基本COCOMO模型是静态单变量模型,用源代码行数(LOC) 为自变量的经验函数计算软件开发工作量。

中间COCOMO模型在用LOC为自变量的函数计算软件开发工作量(称为名义工作量)的基础上,用涉及产品、硬件、人员、项目等方面的影响因素调整工作量估算。 详细COCOMO模型包括中间COCO MO模型的所有特性,但用上述各种影响因素调整工作量估算时,还要考虑对软件工程过程中每一步骤(分析、设计等)的影响。 15种影响软件工作量的因素 fi:

产品因素:软件可靠性、数据库规模、产品复杂性

硬件因素:执行时间限制、存储限制、虚拟机易变性、环境周转时间

人的因素:分析员能力、应用领域实际经验、程序员能力、虚拟机使用经验、程序语言使用经验

项目因素:现代程序设计技术、软件工具的使用、开发进度限制

6.1 软件范围

软件范围包括功能、性能、限制、接口和可靠性。 估算开始时应对软件功能进行评价,对其进行适当的细化以便提供更详细的细节。由于成本和进度的估算都与功能有关,因此常采用某种程度的功能分解。 性能的考虑包括处理和响应时间的需求。

约束条件则标识产品成本、外部硬件、可用存储或其它现有系统对软件的限制。 现成的用以支持软件开发的工具(硬件工具及软件工具); 最基本的资源(人); 通常,对每一种资源,应说明以下四个特性:资源的描述、资源的有效性说明、资源在何时开始需要、使用资源的持续时间。最后两个特性统称为时间窗口。

6.4 风险分析

风险分析的主要活动有风险识别、风险估算、风险评价和风险管理。

风险分项目风险、技术风险和商业风险。

项目风险是指 (1)潜在的预算、进度、人员和组织、资源、用户、需求方面的问题,以及它们对软件项目的影响。(2)项目的复杂性、规模、结构的不确定性。 技术风险是指(1)潜在的设计、实现、接口、检验和维护方面的问题。 (2)规约的二义性、技术陈旧或太先进。

推荐第7篇:软件项目管理知识点总结

中原工学员信息商务学院

P1项目的特征:1.目标性2.相关性3.周期性4.独特性5.约束性6.不确定性

P2 软件项目是一种特殊的项目,他创造的唯一产品或者服务是逻辑载体,没有具体的形状和尺寸,只有逻辑的规模和运行的效果。 P3 软件项目要素组成:软件开发的过程、软件开发的结果、软件开发赖以生存的资源以及软件客户。 项目目标成功实现的制约因素:项目范围、成本、进度计划、客户满意度。 项目管理分为:战略管理、运作管理、项目管理。

P4 项目管理定义:是指一定的主体,为了实现其目标,利用各种有效的手段,对执行中的项目周期的各阶段工作进行计划、组织、协调、指挥、控制,已取得良好经济效益的各项活动的总和。

P5 软件项目管理和其他管理相比有相当的特殊性:1.软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以保证。2.项目周期长,复杂度高,变数多。3.软件需要满足一群人的期望。

P6 软件项目管理的根本目的是为了让软件项目尤其是大型软件项目的整个软件生命周期都能在管理者的控制之下,已预定成本按期、按质的完成软件并交付用户使用。

项目管理的五要素:技术、方法、团队建设、信息、沟通。 P7 软件项目管理的四大变量:范围、质量、成本、交期。

P24 投标文件有两种:1.建议书(乙方根据甲方提出的产品的性质、目标、功能等,提交的完整的技术方案和报价)2.报价单(乙方根据甲方提出的产品的特定型号、标准、数量等要求提交必要的报价材料等) P26 项目经理的职责:1.开发计划2.组织实施3.项目控制

项目经理的权利:1.制定项目有关决策2.挑选项目成员的权利3.对项目获得的资源进行再分配。(其中 职责>权利) P27 生存期模型:V模型、瀑布模型、原型模型、增量模型、螺旋模型,渐进式阶段模型等。

瀑布模型优点:适用于项目简单,规模小,要求项目所有的活动都严格按照顺序执行,一个阶段的输出时下一阶段的输入。 V模型:强调测试的重要性,它将开发活动与测试活动紧密地联系在一起。(及时发现错误) 原型模型:设计符合客户需求的页面,达成共识再编程。

增量模型:可以避免一次投资太多带来的风险,将主要的功能或风险大的功能首先实现,然后逐步完善。(适用于开始时,明确了大部分的需求,但是需求可能会发生变化的项目)

螺旋式模型:是针对风险比较大的项目设计的模型,应对变化的灵活性上很有优势。

P44 软件需求:指用户对软件的功能和性能的要求,就是用户希望软件能做什么事情,完成什么样的功能,达到什么样的性能。 P45 软件需求包括三个层次:1.业务需求2.用户需求3.功能需求

P47 进行需求获取的时候应该注意什么问题:1.识别真正的客户2.正确理解客户的需求3.具备较强的忍耐力和清晰的思维4.说服和教育客户5.需求获取阶段建立分析小组,进行交流,相互学习。

P48 需求分析完成的标志是提交一份完整的软件需求规格说明书。 P53 需求管理主要的工作如下:(自己看)

P53 项目管理的第一法则是:“做正确的事,其次是正确的做事。” P54 解决复杂问题不二法门:化繁为简,分而治之。

P57 任务分解的方法:类比、自顶向下(采用演绎推理法,从一般到特殊的方向进行)、自底向上(采用发挥创造力的解决问题的方法,从特殊到一般的方向进行)等。

P59 如果对项目人员来说,这个项目是一个崭新的项目,采用自底向上的方法。

P67 项目进度计划的主要过程:首先根据任务分解的结果(WBS)再进一步分解出主要的任务,确立任务之间的关联关系,然后估算出每个任务需要的资源、历时,最后编制出项目的进度计划。

P66 任务关联关系:开始->结束;开始->开始;结束->结束;结束->开始。

任务关联关系的依据:1.强制性依赖关系(因为客观规律和物质条件的限制造成的)2.软逻辑关系(是认为主观的,自己的偏好进行的)3.外部依赖关系(是项目活动与非项目活动之间的依赖关系,例如:环境测试依赖于外部提供的环境设备)

P67 进度管理图示1.甘特图2.网络图(PDM(优先图或节点法)ADM箭线法 CDM(条件箭线图,很少用))3.里程碑图4.资源图

P80 资源平衡方法是通过调整任务的时间来协调资源的冲突,这个方法的主要目的是形成平稳连续的资源需求,最有效的利用资源,使资源闲置时间最小化,同时,尽量避免超出资源能力。

P97 自下而上估算法是利用任务分解图,对各个具体工作包进行详细的成本估算,然后将结果累加起来得出项目总成本。

1

计科122班

P98 参数模型估算法的进本思想是:找到软件工作量的各种成本影响因子,并判定它对工作量所产生影响的程度是可加的、乘数的还是指数的,以期望得到最佳的模型算法表达式。当某个因子只影响系统的局部时,我们一般说它是可加的;当某个因子对整个系统具有全局性的影响时,我们则说它是乘数的或指数的。

P112 国际ISO定义:质量是产品或者服务满足明确和隐含需要能力的性能特性的总体。 P112 一个项目的主要内容是成本、进度、质量。

P116 质量控制是确定项目结果与质量标准是否相符,同时确定消除不符的原因和方法,控制产品的质量,及时纠正缺陷的过程。质量控制是对阶段性的成果进行检测、验证,为质量保证提供参考依据;软件质量控制主要就是发现和消除软件产品的缺陷。

P117 质量成本包括预防成本和缺项成本。(其中,预防成本>缺陷成本)预防成本是为确保项目质量而进行预防工作所耗费的费用。缺陷成本是为确保项目质量而修复缺项工作所耗费的费用。

P127 团队成员包括:企业内部的人、供应商、承包商、客户等。

项目管理中的组织结构可以总结为三种类型:职能型、项目型、矩阵型。矩阵型沟通最复杂,项目型在项目收尾时,团队成员和项目经理压力比较大。

P135 沟通管理的基本原则是:及时性、准确性、完整性、可理解性。

P141 风险定义:软件风险是指软件开发过程中及软件产品自身可能造成的伤害或者损失。

P142 风险的类型:商业风险、管理风险、人员风险、技术风险、开发环境风险、客户风险、过程风险、产品规模风险等。 P143 风险的基本性质:客观性、不确定性、不利性、可变性、相对性、风险和利益相对性。

P145 风险识别是试图系统化地确定对项目计划的威胁,识别已知和可预测的风险,只有识别出这些风险,项目管理者才有可能避免这些风险,且当必要时控制这些风险。

风险识别的方法:德尔菲方法、头脑风暴法、情景分析法、风险条目检查表。

P152 定性风险评估:只要是针对风险概率及后果进行定性的评价。(历史资料法、概率分布法、风险后果估计法)

P153 定量风险分析:是在定性分析的了逻辑基础上,给出各个风险源的风险量化指标及其发生概率,再通一定的方法合成,得到系统风险的量化值。(访谈、盈亏平衡分析法、敏感性分析、决策树分析、模拟法等)

P156 风险应对计划:回避风险(是通过分析找出发生风险事件的原因,对可能发生的风险尽可能的规避,采取主动放弃或拒绝使用导致风险的方案)、转移风险、损失控制(损失预防、损失抑制、)、自留风险、风险规划的结果。 P161 风险管理过程包括:风险识别、风险评估、风险规划、风险控制等。

P166 软件外包:其实质是软件开发过程从企业内部部分或全部延伸到外部的管理规范与管理技术。

P173 基线是一个或者多个配置项的集合,他们的内容和状态已经通过技术的复审,并在生存期的某一阶段被接受了。基线配置项可能包括所有的设计文档和源程序等;非基线配置项可能包括项目的各类计划和报告等。

P180 配置审计的只要作用是作为变更控制的补充手段,来确保某一变更需求已被切实实现。 P185 配置管理包括三个只要的要素:人、规范、工具。

P194 项目集成计划定义是指,通过使用其他专项计划过程所生成的结果(项目的各种专项计划),运用整体和综合平衡的方法制定出的,用于指导项目实施和管理的整体性、综合性、全局性、协调统一的整体计划文件。

集成计划的编写过程:1.项目信息收集2.确定项目计划初步方案3.项目计划的综合平衡4.项目计划最终方案编制5.软件项目计划评审、批准。 P207 变更控制的目的就是为了防止配置项被随意修改而导致混乱。

P214 挣值分析也称以获取价值分析,是对项目实施的进度、成本状态进行绩效评估的有效方法,是计算实际花在一个项目上的工作量,以及预预 P223 代码走查是在代码编写阶段,开发人员检查自己代码的过程,代码走查是非常有效的方法,它可以检查到其他测试方法无法检测的错误,好多的逻辑错误是无法通过测试手段发现的,很多的项目证明这是一个很好地质量控制方法。 P226 质量度量方法:1.尺度度量(定量度量,直接度量)2.二元度量(定性度量,间接度量) P230 项目成员的激励:薪酬激励、机会激励、环境激励、情感激励 P233 团队的建设包括:组建阶段、磨合阶段、规范阶段、执行阶段。

P235 团队管理过程中已改主意的方面:1.创建有实际存在感的项目团队2.建立奖励机制3.确立良好人际关系4.设置工作授权系统 P236 按照评审的时间属性,可以将项目评审分为:定期评审、阶段评审、事件评审等。

P260 项目管理的经验和建议1.平衡关系2.高效原则3.分解原则4.实时控制原则5.分类管理原则6.简单有效原则7.规模管理原则

推荐第8篇:软件系统项目实施总结

XXX医院HIS系统项目总结

2012年12月27日,我完成了HIS人生第一个独立实施的项目——XXX医院项目(ZLHIS标准版、医保接口)。医院有在2个住院科室,床位100,住院人数保持在50人左右,门诊诊室有7个,医生总数为9人,护士6人,收费室2人,西药房2人,中药房2人(不使用HIS系统),院长2人。就项目规模而言,这是一个袖珍型项目,其特点可用“麻雀虽小,五脏俱全”来描述。过程辛酸不赘述,在此总结项目实施过程中出现的几点问题,希望能起一些警示、提示的作用。

TIP1:实施计划的制定,要双方均可接受,要具有一定可执行性

本次项目实施中,培训工作进行的过程与培训计划中的预计安排出入较大,原因就在于没有充分与院方人员沟通,安排的合理性及认可度都没有得到保证。

实施计划的制定,不应该是“一厢情愿”式的空想。项目实施是一个关系到多方人员配合完成的任务,因此在制定何时、何地需要何人配合完成何任务的计划时,要考虑到各个因素条件是否允许,就需要各方负责人在场商榷,得出一个都可以接受并且具有一定可执行性的方案计划。

应对措施:在以后的方案制定前与院方沟通,得出合适自己实施的方案提供给院方,然后确定实施方案。

TIP2:按计划执行

本次项目实施中,实施任务实际执行时间与计划时间偏差较大,主要存在以下几个原因:A.认为项目时间充足,不按照计划执行也可完成项目实施,失去紧迫感;B.前期工作出现纰漏或未完成,导致该部分工作延后。

实施计划的重要意义之一,就是为了让工作的进度有一个明确的参照物,为项目实施做出指引,从而更好的完成项目任务;既然有了实施计划,却又不尽量严格按计划来执行,对实施计划的意义和产生实施计划所消耗的人力物力都是极大的浪费,是对项目和自己不负责任的态度。B情况下,第一应对策略不一定是以破坏后期实施计划为代价的延期;如果情况确实不允许,也应该拿出与院方达成一致意见的方案来积极控制,而不是简单的往后拖延。

应对措施:A、时刻保持紧迫感,我正在经历的,是我一生最有精力的年代,任何不尽100%努力的态度都是对自己最好时光的浪费,是对自己的不负责任;B、尽力保证实施的过程按计划进行,向小组长及主任报告进度情况,在可能出现较大偏差前作出调整。

TIP3:养成良好习惯,有效使用测试库

本次项目实施中,在后台进行流程测试及报表修改等过程时,均大量使用到测试库;但在测试库中已经得到验证和校正的相关设置及修改等没有及时、有效的被移植到正式库中,导致项目启用后出现一些前期已经注意并处理过的问题,院方也觉得已经提出却没有得到解决,对实施人员信任度及对公司的认可度都会大打折扣。主要原因在于我没有养成良好习惯,对问题在测试库中处理没有及时移植到正式库中。 测试库的重要意义之一,就是为正式库提供一个验证及校正环境,使用测试库得出一些结果而没有应用到正式库中,这不仅仅对在测试库中进行工作的质量大打折扣,更是项目实施进度推进及实施质量的损失。

应对措施:时刻注意测试库的信息与正式库的同步,在测试库中作出的验证与调整作出记录并移植到正式库中。

TIP4:支持文档的及时提供与通知

本次项目实施中,培训计划的通知及启用前注意事项的通知等,都有消息传达滞后的现象;这些都降低了项目实施的质量及实施效率。培训工作开展的当天,才通知相关培训人员,导致很多培训人员不能及时调整工作安排,降低了培训质量;启用第二天将一些注意事项及说明文件发送到相关人员手中,其中有较多已经预见可能出现的问题其实已经在第一天出现并耗费了时间去处理,如果启用前提供并得到强调可能启用时出现的问题量及问题处理的及时性都会大有改观。

项目实施需要较多文档支持,包括需要通知相关人员的文件及对某些情况进行说明、强调的文档等,例如通知初始化人员初始化工作的时间及方式,培训工作的时间、地点和人物,启用注意事项,操作文档等。为项目实施服务,需要实施人员在实施过程中提前做好准备(部分需要打印)并与相关关系人进行沟通做出有效及时的相关动作。

应对措施:实施过程中,提前提供:应用流程说明、收费操作文档、医保操作注意事项、启用注意事项、其他情况说明等文件,提前打印出来分发并强调相关人员关注学习。

TIP5:培训环境的建立

本次项目实施中,在第二周就落实了培训需要的电脑及网络环境的建立,但在前期培训过程中讲解及练习环节都是临场才添加的需要使用到的数据,例如为护士讲解如何记账操作时发现没有在院病人;因此培训期间的时间有效利用率受了较大影响。主要原因在于对培训环境的理解不全面导致准备不充分,没有提前考虑周全。

培训环境的建立,远远不止电脑等硬件的购置及网络环境的搭建,更重要的是软环境的建立。培训过程中的讲解及操作练习都需要实际数据才能进行,因此需要提前准备好培训要使用到的数据及参数设置。

应对措施:凡事预则立,不预则废。培训前考虑可能使用到的数据环境,提前在培训使用的数据库中准备好数据。

TIP6:启用前的重要准备及测试

本次项目实施在启用时,由于对产品不熟悉及对需要进行的准备工作没有足够的意识,导致在启用当天门诊收费后没有发票打印出来,启用前仅在测试库中进行了测试而没有在收费室进行打印机关联及设置等,且没有进行实际打印的测试。虽然当时医院旧系统仍然在使用,没有对医院业务运营造成重大损失,但是这个错误在我心中的印象是非常深刻的。

系统启用是项目实施中的关键性事务,关系到项目里程碑进展及医院业务开展,其重要性不言而喻。因此在,系统启用前需要做好充分的准备工作,例如:A.流程测试,B.票据打印测试,C.登陆账号、权限分配审核,D.重要基础参数设置的检查(例如药品库存检查、票据严格管理)。

应对措施:启用前,必须在正式库中测试门诊与住院收费单据打印、预交款单据打印,一日清单打印等,检查全局参数设置、收费室药房等本地参数情况。

TIP7:与院方的沟通方式

本次项目实施中,有两次与院方的沟通效果不好。一次是用于不当,与一位院长沟通的时候说了:“这个功能,那些大医院可能用的更多……”该院长当即表态“那如果我就是要用这个功能呢?”我明显感觉到院长的防御姿态瞬间提升,沟通进入尴尬境地;第二次是我非常直接的询问院方财务管理人员(每日收费结存人员)是谁,院长没有回答。

对于院方内部事务,特别是涉及内容较为敏感时,可以通过其他渠道了解;对于一些可能损伤院方自尊心的事务,尽量采用委婉或者隐晦的用词进行沟通。沟通始终要注意在合适的时间找对合适的人、使用恰当的词句及方式;否则不仅达不到沟通效果,还影响与院方的关系及项目实施工作的开展。

应对措施:学习卡耐基《说话的艺术》,在接下来项目中注意沟通方式及时间、频率。

TIP8:抓住关键性事务

本次项目实施中,一开始我认为初始化是项目实施中最重要的工作,因此一直在进行初始化数据的准备及对初始化人员的培训;后来在启用前一周才开始关注医保接口实施的具体方法步骤,然后让初始化人员又对收费项目进行医保对码,引起了初始化人员的强烈不满,认为初始化工作没有一次性结束;如果将收费项目的建立与医保对码放到一起进行,可能不会引起不满,而且条件是允许的,初始化数据的录入与医保接口实施并非逻辑先后关系。医保接口实施及医保刷卡测试的速度都相当慢,在启用前一天才完成所有测试。

经过这个项目,我认为该项目中除药品库存、费用流程至关重要,最重要的是医保刷卡功能的正常使用,因为该医院患者中绝大部分为医保病人,这是医院收入的主要支撑部分,医院安装新系统的主要目的就是为了解决原系统不能正常使用医保刷卡功能这一重大问题。

应对措施:时刻与同事、上级保持沟通,得到经验上的指导;项目实施方案中进行体现。

TIP9:项目外事务与项目的协调

本次项目实施中两次被综合部人员协调到另外一个医院处理“光纤交换机”事宜,两次都没有完成计划的任务,并且减少了自己在建项目的实际工作日,对公司的形象也产生了不好的影响。我方主要原因是:A.未得到关于该事务的足够信息;B.未判断清楚任务是否具备完成条件。

经过此事,我认为在涉及影响自己在建项目进展而被协调处理其他事务前,首先需要考虑的是是否会对在建项目的进度产生不良影响,其次是该任务是否能够正常进行并达成计划的结果;否则浪费时间不说,还不能达成结果。

应对措施:应答前,将被协调事务了解清楚,审核是否具备任务达成的条件。 问题诸多,不一一列出。

签完验收,一直期待的兴奋感并没有像我想象的那样从头顶瞬间灌注到脚底,而是一种难过的感觉隐隐在心中升起。系统使用存在的诸多问题,以及在这个项目过程中,学习到的东西都并非我期待的那样得到实现,对自己学习摸索的方式以及效率,对项目进度的把控能力都让自己感到失望。

第一个项目是做完了,但是我明白不管是从熟悉产品、学习业务、技术知识、项目管理等任何一个方面,我的HIS人生都才刚刚开始。

推荐第9篇:软件项目需求分析总结

软件项目需求分析总结

我们做的需求只解决了我们能做出这样的项目,但是没有解决这样的项目是不是真就是客户想要的。造成这种状况的原因主要是下面几个情况:

客户本身说不清楚

文物网是这样,中彰国际更是这样,但是这不能怪客户,毕竟客户在软件方面的知识要少的多,也没有相关的经验,可能心里只有一个想要的软件的轮廓,于是可能会要求我们去替他们来完整这个轮廓的细节,而我们的能力、我们能否真正站在客户角度去搜集和整理这些需求,就决定了这个需求的完整性和有效性。

需求自身经常变动

随着客户对这个项目越来越深刻的理解,那么可能他的需求也会随之改变,这些变化的可能性越大项目风险就会越大,我们在需求分析的时候就要充分考虑到哪些需求是相对固定的需求,哪些可能会是产生变动的需求,考虑到他的可变性,这样设计功能和数据库的时候不致因为后面的变动而影响整个工程。分析人员或客户理解有误

毕竟,不是每个分析人员都是专业而合格的,为避免这种情况的发生,需求分析必须要有审核制度,公司自己内部要审核一遍,客户再审一遍,提出意见,修改后双方共同评审签字,确认。

由此出现的问题:

a)需求分析过于笼统,只关注到面上,没有关注到点上,开发出来的东西在具体的细节上和客户的理解有误差,并且无法严格界定是否属于需求变更。中彰的方案就是这样的。

b)需求报告只求我们这方评审通过,不去关心客户的评审,认为只要客户签字认可就行。虽然签字认可能够给日后出现问题时划清我们的责任,但是不能保证使项目实施成功。

c)需求分析中含有技术实施上有难度的功能,一味的求全和盲目按照客户的设想,受客户影响过大,毕竟,很多时候,客户的想法在实际实施过程中是不现实的,或者可以有更为简便的方法来替代的。如中彰国际的在线交易功能,后台大批量邮件群发功能。

d)对双方已经确定的需求,实现以后并不适合客户使用,需要按照变更手续执行的时候,客户可能会纠缠,提出“你们是专业人士,你们应该事先能提醒我们可能会出现这种问题”并以此来把责任推给我们,而我们又不好完全按照变更手续执行,因为可能激化双方的矛盾,比如508的批量处理功能,因为属于人事

管理比较专业的细节问题,需求分析师开始没有对客户业务熟悉到如此细致的地步,而客户也没有过多关注这些细节,导致软件的某些功能不合用,较为繁琐,而重新按着客户的意见修改的话工作量比较大,导致成本增加、工期延长。e)项目的成熟度受客户预算的限制。大部分客户在项目投入上都是有预算的,在成本有上限的前提下,项目的功能设计(软件的成熟度)方面必然受一定影响,毕竟功能越多越完善,相应的开发成本就越高。这种功能上的不完善需要事先告知客户并得到理解。

f)此项工作的反复造成思想上的倦怠,使需求分析最后虎头蛇尾。需求分析是一项繁琐枯燥的工作,需要和客户之间不断的商讨、确认和反复,另外由于大部分的客户虽然安排专人负责这项工作,但是该人并不只做这项工作,特别当他被很多其他的事情缠身的时候,而无心细看提交过去的需求报告的时候,他很可能会给你一个错觉,让你认为他已经真正的理解并认可了你的设计。结论

a)需求分析是整个项目管理中需要重点控制的几个关键节点之一,首先思想上一定要重视。

b)需求分析报告的编写者要参与到需求的搜集工作中,准确领会客户的意图,并转化成软件能够实现的功能。对于说不清楚需求的客户,要善于问关键问题,引导客户提出自己的需求。可以采取的措施是事先编制一个问卷调查之类的文档,详细列举需要客户回答的问题,以便防止遗漏。

c)需求报告的编写者要能够对客户需求进行深入分析,区别出哪些需求存在日后变更的可能,哪些需求属于相对固定的,哪些需求能够实现,哪些需求需要变通才能实现,以便于指导后面的功能设计。

d)需求分析报告对功能细节的描述不能有歧义,描述一定要全面、准确,防止开发方和客户只见对同一个问题有两个截然不同的理解。可以通过评审,用大家的力量来避免这种情况发生

e)需求报告的每个关乎功能的描述都要让客户明白和理解,客户在理解之上的确认才能够保证日后一旦出现问题不致出现双方互相推托责任纠缠不清的情况。

f)需求报告一定要经过一个有技术人员和业务人员参加的评审,要充分发挥团队的力量,重视每个人的才智,一个模块一个功能的逐一的过,让大家来共同找出需求报告里不合理的、有歧义的、不完善的、遗漏的等等问题g)帮助客户去理解提交给他的需求分析报告而不是只等签字,对于有能够用好几种方式实现的功能,尽量做到能让客户去比较和选择。不要让客户对报告中的部分产生歧义。只有客户对报告的完全的理解,才能在日后客户提出的修改被认为是需求变更的时候能够得到客户的理解

h)最后,需求分析报告一定要双方共同签字确认

推荐第10篇:软件项目管理知识点总结

第一章概述

1项目是指在一定约束条件下具有特定目标的一项一次性任务。

2.项目的特点

一次性;有确定的起点和终点

目标明确性:成果性目标,约束性目标;

整体性:开展的活动密切相关

独特性:每个项目都是唯一的

不可逆转性:无论结果如何,项目结束,结果确定。

3.项目的生命周期:项目启动、项目计划、项目实施、项目结束。

4.项目管理的要素:客户满意度、工作范围、组织、时间、质量、成本

TQC:时间质量成本成功因素:TQC+范围

5软件项目管理的定义

根据PMI项目管理的定义总结:在软件项目活动中运用一系列的知识、技能、工具和技术,以满足软件需求方的整体要求。

6.项目管理特点:综合性、创造性、时间性第二章软件项目需求管理

1软件需求的抽象层次:原始问题空间(原始问题描述、用户需求);解决方案空间(系统需求、软件设计描述)

2软件需求:用户需求和系统需求:

①用户需求:从用户角度描述系统的需求,只描述系统的外部行为,并且只通过自然语言、图表、图形等叙述

②系统需求:从开发人员角度描述系统的需求,是系统实现的依据,通常采用结构化语言、PDL过程设计语言等描述。

系统需求:功能需求、非功能需求、领域需求

3、需求工程的组成:需求开发和需求管理

需求开发:需求的获取、需求分析、规格说明和需求验证

需求管理:变更管理、版本控制、需求跟踪和版本状态

4需求管理的必要性

①需求供求双方固有的矛盾

②需求具有易变性和难以表达性

③需求错误出现的高频性和修复的高昂成本

5需求管理的目标:是在客户与项目组织之间建立对客户需求的共同理解。

①使软件需求受控,并建立供软件工程和管理使用的需求基线;

②使软件计划、产品和活动与软件需求保持一致。

6、需求变更的原因

①在项目的早期所有的问题不可能完全定义;

②随着软件项目的进行,开发人员对问题的理解发生变化,这些变化反馈到需求中;

③大型系统的需求可能是冲突或是矛盾的,系统需求是它们之间的妥协,这种妥协可能发生变化;④系统购买者和最终用户很少是同一人;

7、需求变更管理过程

首先要建立变更控制委员会,分析、讨论、评审、执行。

第三章软件项目的成本管理

1软件项目的成本:为完成软件项目而支付的货币量

2软件项目的时间估算点:客户需求产品定义系统设计系统实现系统运行

3对软件规模的估计要从软件的分解开始。软件的分层结构对应工作分解结构(WBS) 4软件规模的度量标准:LOC代码行和FP功能点

5成本估算方法:专家判定、类比、自顶向下、自底向上、算法模型(cocom(自底向上)、cocomoⅡ、putnam(自顶向下))

6、三层次的产品分级结构:模块、子系统、系统

7、估算的时机和精度是相互矛盾的。第四章软件配置管理

1软件项目配置管理:是识别定义系统中的配置项,在软件生命周期中控制他们的变更,记录并报告配置项和变更请求的状态,并验证他们的完整性和正确性的一个过程。 2软件配置项:SCI出于配置管理的目的而为软件要素设置的单位。

3基线:开发过程的里程碑,以一个或多个软件配置项的交付为标准;基线由通过正式评审的软件配置项组成,是进一步开发的基础;基线只有通过正式的变更控制过程才能改变。 4基线的两个基本功能:①对基线进行适当控制,禁止任何来源的交互②为程序员提供灵活的服务,确保他们能够比较容易地对自己的代码进行修改测试

5软件配置管理主要功能:配置标识、配置控制、配置状态报告及配置审核

6配置控制委员会:CCB 负责评审和批准对基线的变更

7软件的配置项组成:正确性、一致性、完备性、有效性、可追踪性。

8确定变更是否正确的措施:正式技术审核和软件配置审核.

9配置审核的种类:过程审核、功能审核、物理审核、质量系统审核

第五章人力资源管理

1、软件项目中的人力资源管理包括:所有的项目干系人:资助者、客户、项目组成员、支持人员及供应商等。

人力资源管理就是有效地发挥每个项目干系人作用的过程。

2软件开发中人员与时间具有非线性替换关系。第六章质量管理

1软件质量六大特性:功能性、可靠性、可用性、效率、可维护性、可移植性

2、过程质量控制是主动的、系统的、先期的;

产品质量控制是被动的、个体的、后期的;两者都要重视。

3.CMM的5个等级:初始级、可重复级、已定义级、已管理级、优化级

4.CMMI的两种表示方式:连续性表示和分阶表示

5软件过程能力等级(连续性表示法):不完备级、已执行级、收管理级、已定义级、定量管理

级、持续优化级。

第七章风险管理

1.风险的定义:损失的可能性

2.风险的属性:可能性损失

3软件风险:就是有关软件项目风险、软件开发过程风险和软件产品风险。

4.风险管理过程:风险识别、风险分析、风险计划、风险跟踪、风险应对(风险最小化,机会最大化)

5.风险应对策略包括:避免、转移、缓解、接受、研究、储备以及退避。

6软件项目管理的主要风险类别:①资源风险②需求风险③项目接口风险④设计风险⑤管理风险⑥开发过程风险⑦项目集成风险。

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

投标工作总结(经典)

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

一、工作问题

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

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

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

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

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

二、工作总结

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

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

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

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

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

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

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

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

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

2013年11月12日

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

软件项目质量管理实战总结

第一章 引言

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

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

未完待续

第13篇:学习软件项目管理总结

学习软件项目管理和制作时光网上商城系统总结

这学期通过宋老师讲授软件项目管理这门课程,自己学到了很多东西。最初在单位做设计是一个盲目的过程,无计划、无框架设计,拿来需求大家把模块分摊,就开始埋头写代码,总认为设计代码是最重要的事情,但是经过几次尝试,每次做出的东西不是很理想,自己也不知道原因为什么会不理想呢,自己做的东西是按领导拿来的需求书上的要求做的,可为什么用户不满意呢。

通过学习软件项目管理这门课程后,我知道我们做开发失败的问题了。我自己总结了几点:

一、项目接到手,没有根据软件项目开发的流程进行分析、设计。

二、项目需求说明书、概要设计说明书、可行性报告、详细说明书、数据库设计说明书、软件详细设计说明书,测试报告这些文档东西应该是在设计过程中产生的,但我们工作中都是软件做完了,为了项目的验收急急忙忙赶制出来的。这些说明书已经失去了他们的意义。

三、人员的配合、管理也是很重要的。我们单位中领导就是项目经理,但是这个项目经理没有达标,有项目了他带领大家开会讨论,在会议上就把此项目的可行性和工作分工就安排好了。会下大家就埋头写代码,大家之间的交流也很少,直到模块要合并时,出现问题了大家才把自己的设计理念讲一下,再修改再合并。后期的修改合并工作是一个最费时的事情,把设计中的大多时间花在了这里,如果大家在最初按照流程走,定期交流,项目经理监控、督促就不会出现这样的事情。

四、做项目每个人员的态度认真也是很重要的。自己习惯了大企业中的慢生

活,我们开发软件都是快到项目验收了,才加班加点的工作,这样怎么能做出好软件呢。

宋老师还给我们布置了项目开发作业。我们小组设计了“时光网上商城系统” 我这次所经历的项目更让我明确了这点。在这个小项目里,虽然我们一个月完成了这个软件设计,但存在很多问题。“时光网上商城系统”包括9个模块,我在这个项目里,我参与了概要设计、详细设计、软件测试文档的编辑和会员管理模块、商品展示模块的设计。这两个模块的设计对于自己来说没有什么问题,因为在单位就是做这个的,但是在前期的概要设计说明和详细设计说明对自己有点困难,因为以前没有这样做过,没有什么设计框架,这时自己拿出宋老师讲的笔记和图书进行学习,再和队友交流,终于有了自己的框架。所以、在这个过程中我明确了技术的实在意义,明确了项目管理对我的指导,同时也明确了自己的今后项目开发应该怎样做。

整个项目进行的过程中,我一直在边学习边制作,每周与其他同学定时交流,整个过程我收获很多。

一、项目小组人员都职责明确,每周定时交流沟通工作进度,随时更新方便开发人员、测试人员之间的交流。

二、细致的计划可以让项目进行避免弯路。

三、项目经理时光的组织、督促和监督,小组人员的齐心,这个项目才顺利能完成。

四、这个项目制作把绕老师和陈老师讲的内容也都应用在初期系统构建和中期、后期的软件测试中。

五、通过学习认真分清了软件管理与软件工程的关系和项目管理知识体系。

通过本学期的学习,我感受到软件项目管理是一门非常需要学习的课程。我们所做的虽然是个小项目,但是在小组共同开发的时候还是需要用到项目的管理。如人员分配、时间、进度的计划、沟通计划、项目执行变更管理,以及质量管理控制等多种管理。自己对这门课程学到不是很好,但我相信在今后的工作中,能够更好的体验和感受项目管理的精髓,对软件项目管理有更深入的了解。

第14篇:软件项目需求调研总结

软件项目需求调研总结

一、需求调研准备:

在需求调研过程中,应该做好三种准备,保持两种心态,做到五种提高:

三种准备

1)调研前应该将所有项目前期资料进行汇总,与相关的前期销售人员进行交流,以便对项目有一个基本轮廓的认识。

2)做好调研前使用资料的准备,如需求调研模板,需求调研问题列表等。

3)做好不怕一切困难的准备。

两种心态

1)保持一种和客户平等合作的心态,确定需求调研是为了给客户解决问题,探讨问题,而不是接受问题,更不是来指导工作的。

2)平静面对需求变更的心态,在需求调研过程中,往往双方对需求理解不一致,造成需求调研前后矛盾,应当心平气和的去引导客户,达到需求理解基本一致。

三种提高

1)首先提高自己业务知识,对于人力资源的标准业务应该基本熟悉。

2)其次应该努力的去熟悉用户的行业,学习用户使用的术语,标准,以便能够准确的理解用户。这就需要我们阅读用户所在行业的资料、文章,尽量多选取一些整体性介绍的文章,这样可以在短时间内能够对该行业有一个全面的认识,这样我们就能够较好的和用户进行交流了。

3)需求调研中,学会尽量不使用IT行业的术语,而采用浅显易懂的口头语言来解释IT行业中高深莫测的术语,以便用户能够很好的理解,提高自己的沟通交流能力。

4)提高自己的速记能力,文字表述能力以及归纳,能迅速的记录需求调研核心的问题,总结归纳形成原始的需求调研资料。

5)提高自己的总结能力,书写一份完整的、前后一致的、可追踪的需求报告。

二、需求调研过程的总体流程

需求调研中应遵循一定的流程,而且在调研过程中表现出规范,调研有条不紊,对客户有理有据,调研中资料做好备份,做到有备无患:

三、需求调研过程中注意问题

四、需求报告书写要求及标准

编写优秀的需求是没有公式化的方法的。这需要大量的经验,要从你在过去的文档中发现的问题学习。请在组织软件需求文档时,严格遵从这些方针。

句子和段落要简练。使用正确的语法,拼写,标点。使用术语,要保持一致性,并在术语表或数据字典中定义它们需求编写者还要努力正确地把握粒度。多个需求尽可能拆分开。

整个需求文档细节上要保持一致。

避免在需求报告中过多的申述需求。在多处包含相同的需求可以使文档更易于阅读,但也会给文档的维护增加困难。文档的多份文本要在同一时间内全部更新,避免不一致性。

需求调研对于系统的构造,系统测试以及最后的客户满意,都会成为好的奠基石。并且要记住,没有高质量的需求,软件就象一盒巧克力,你永远不知道你会得到什么。我希望我们能得到一块“德芙”。

调研概要情况:X项目需求调研开始于2006-3-23结束于2006-6-15,内容包括现场需求调研4个人月和分析需求编写需求文档6个人月。参与调研的包括项目经理、技术经理和两个开发骨干,编写需求规格说明书字数95.4万。

1.把二期项目当作一个新项目来做调研,避免需求细节遗漏。在调研的初期我们曾经有过疑虑,这是一个二期的项目,那么调研的内容是否只针对二期的新需求,对需求内容二期和一期一致的部分就不必调研了?

经过讨论我们还是决定把二期项目当作一个新项目来做调研,即使二期和一期需求内容一致,我们也在调研会上讨论,并记录在调研笔记及以后的需求文档上。这样的好处是最大限度地避免了需求细节的遗漏。在现场调研时,发现有不少地方原来以为是二期不必修改的,经过讨论后发现还是需要修改。(往往危险的需求描述就在于“这部分做的和某个系统或某个版本的旧系统一样就可以了”)

2.调研团队参加所有子系统的调研会议,可以相互补充避免需求遗漏。这个项目规模比较大,根据业务的类型不同,分成了6个子系统,各个子系统的业务信息互有接口。我们安排每个人至少负责一个子系统的需求,但是在调研时,只要可能,我们都尽量让每个人都参与所有系统的调研会议。对项目经理和技术经理则进一步要求了解所有系统的业务需求。这样做的好处是,对于子系统之间的业务关系,调研团队都可以有全面的了解,对业务的理解比较透彻全面,并且还可以相互补充遗漏。

3.多人调研,在会议后应该立刻回顾整理统一的会议笔记,消除歧义,避免遗漏。在开调研会时,全体与会人员都各自记自己的会议笔记,会后没有强调当天整理会议笔记(会议进度很紧,每天开会到晚上

8、9点钟)。这导致以后阅读会议笔记发现一些描述很简单理解上有歧义的内容,或者同一份需求在几个笔记上记录的内容细节上有差异,事后难以追溯正确的信息。给编写需求文档带来了一些困难,需要再次讨论需求。

4.需求文档编写完成后,在开发阶段也应该做检查和更新,避免文档错误对开发的误导。我们在完成大量的需求文档编写工作后,在开发阶段有部分文档没有做内容检查和及时更新。后期测试时才发现少数需求内容的矛盾和错误,导致需要重新修改。

建议:

1、如果在编写需求文档后,开发阶段应该做一边阅读需求文档,一边做需求文档的检查,对于保证需求质量效果会更好。

2、应该指定人负责需求追踪和更新,在开发阶段、测试阶段要保持和用户的需求沟通,这不是一个可有可无的简单工作,很重要,并且会占用责任人50%的工作时间。

3、企业业务管理信息系统的需求调研方法:我认为对调研的组织安排是非常重要的,好的调研安排虽然未必产生质量高的需求,但是一个不遵循调研规律的调研活动,必然是低效的。下面是H项目调研组采取的调研流程,供参考:

4、第一步不是立刻和用户当面讨论需求细节,而是要业务关键用户编写初步的需求报告,提供给开发团队阅读分析。需求报告的内容是,对业务流程的描述,对业务需求的描述。需求报告的质量往往和关键用户的投入多少有较大关系,经常在没有面对面沟通时,关键用户未必能对这份报告投入很多的时间和精力。但这是当面调研的基础,一定要做,有粗糙疏漏的地方可以再现场调研时再细化。这可以再调研前就和用户沟通,让用户编写。

第15篇:软件项目需求分析总结

软件项目需求分析总结

需求分析是项目开发的基础,基础打的牢不牢直接关系到后面所有的工作,是项目实施成败的关键 总体上说,我们的需求分析是做了,但是做得很不够,我们做的需求只解决了我们能做出这样的项目,但是没有解决这样的项目是不是真就是客户想要的。造成这种状况的原因主要是下面几个情况: 客户本身说不清楚 文物网是这样,中彰国际更是这样,但是这不能怪客户,毕竟客户在软件方面的知识要少的多,也没有相关的经验,可能心里只有一个想要的软件的轮廓,于是可能会要求我们去替他们来完整这个轮廓的细节,而我们的能力、我们能否真正站在客户角度去搜集和整理这些需求,就决定了这个需求的完整性和有效性。 需求自身经常变动 随着客户对这个项目越来越深刻的理解,那么可能他的需求也会随之改变,这些变化的可能性越大项目风险就会越大,我们在需求分析的时候就要充分考虑到哪些需求是相对固定的需求,哪些可能会是产生变动的需求,考虑到他的可变性,这样设计功能和数据库的时候不致因为后面的变动而影响整个工程。 分析人员或客户理解有误 毕竟,不是每个分析人员都是专业而合格的,为避免这种情况的发生,需求分析必须要有审核制度,公司自己内部要审核一遍,客户再审一遍,提出意见,修改后双方共同评审签字,确认。 由此出现的问题: a) 需求分析过于笼统,只关注到面上,没有关注到点上,开发出来的东西在具体的细节上和客户的理解有误差,并且无法严格界定是否属于需求变更。中彰的方案就是这样的。 b) 需求报告只求我们这方评审通过,不去关心客户的评审,认为只要客户签字认可就行。虽然签字认可能够给日后出现问题时划清我们的责任,但是不能保证使项目实施成功。 c) 需求分析中含有技术实施上有难度的功能,一味的求全和盲目按照客户的设想,受客户影响过大,毕竟,很多时候,客户的想法在实际实施过程中是不现实的,或者可以有更为简便的方法来替代的。如中彰国际的在线交易功能,后台大批量邮件群发功能。 d) 对双方已经确定的需求,实现以后并不适合客户使用,需要按照变更手续执行的时候,客户可能会纠缠,提出“你们是专业人士,你们应该事先能提醒我们可能会出现这种问题”并以此来把责任推给我们,而我们又不好完全按照变更手续执行,因为可能激化双方的矛盾,比如508的批量处理功能,因为属于人事管理比较专业的细节问题,需求分析师开始没有对客户业务熟悉到如此细致的地步,而客户也没有过多关注这些细节,导致软件的某些功能不合用,较为繁琐,而重新按着客户的意见修改的话工作量比较大,导致成本增加、工期延长。 e) 项目的成熟度受客户预算的限制。大部分客户在项目投入上都是有预算的,在成本有上限的前提下,项目的功能设计(软件的成熟度)方面必然受一定影响,毕竟功能越多越完善,相应的开发成本就越高。这种功能上的不完善需要事先告知客户并得到理解。 f) 此项工作的反复造成思想上的倦怠,使需求分析最后虎头蛇尾。需求分析是一项繁琐枯燥的工作,需要和客户之间不断的商讨、确认和反复,另外由于大部分的客户虽然安排专人负责这项工作,但是该人并不只做这项工作,特别当他被很多其他的事情缠身的时候,而无心细看提交过去的需求报告的时候,他很可能会给你一个错觉,让你认为他已经真正的理解并认可了你的设计。 结论 a) 需求分析是整个项目管理中需要重点控制的几个关键节点之一,首先思想上一定要重视。 b) 需求分析报告的编写者要参与到需求的搜集工作中,准确领会客户的意图,并转化成软件能够实现的功能。对于说不清楚需求的客户,要善于问关键问题,引导客户提出自己的需求。可以采取的措施是事先编制一个问卷调查之类的文档,详细列举需要客户回答的问题,以便防止遗漏。 c) 需求报告的编写者要能够对客户需求进行深入分析,区别出哪些需求存在日后变更的可能,哪些需求属于相对固定的,哪些需求能够实现,哪些需求需要变通才能实现,以便于指导后面的功能设计。 d) 需求分析报告对功能细节的描述不能有歧义,描述一定要全面、准确,防止开发方和客户只见对同一个问题有两个截然不同的理解。可以通过评审,用大家的力量来避免这种情况发生 e) 需求报告的每个关乎功能的描述都要让客户明白和理解,客户在理解之上的确认才能够保证日后一旦出现问题不致出现双方互相推托责任纠缠不清的情况。 f) 需求报告一定要经过一个有技术人员和业务人员参加的评审,要充分发挥团队的力量,重视每个人的才智,一个模块一个功能的逐一的过,让大家来共同找出需求报告里不合理的、有歧义的、不完善的、遗漏的等等问题 g) 帮助客户去理解提交给他的需求分析报告而不是只等签字,对于有能够用好几种方式实现的功能,尽量做到能让客户去比较和选择。不要让客户对报告中的部分产生歧义。只有客户对报告的完全的理解,才能在日后客户提出的修改被认为是需求变更的时候能够得到客户的理解 h) 最后,需求分析报告一定要双方共同签字确认。

第16篇:政府软件项目总结(定稿)

2011年政府软件项目总结

一个项目之所以能成功,能让客户满意,领导放心的原因可能大多都差不多,大多都是老生长谈的那几条。但是一个项目失败的原因却各有各的不

同。下面再根据自己的体会写一些项目总结,一为了总结不足,积累经验,二为了以后项目中避免犯同样的错误。

一.要和客户有足够有效的沟通

和客户的沟通要贯穿整个项目开发的始终,从立项调研,需求获取到最后的验收测试,后期维护。

1.要尽量多的主动跟客户沟通

客户一般工作都很忙,所以要通过多种方式和客户保持沟通,电子邮件,电话,座谈,调查,会议等。最初的需求尽量保证有几次所有与项目相关的部门和人员都能参加的讨论会,把他们的各自的工作都描述一下,尽量不要遗漏,都罗列出来,因为这是原始需求。这往往不容易做到 ,因为政府部门很难抽出时间把各部门人员集中在一起来做这些事情的,但是我们必须得这样要求他们,要求他们把这个看成一项工作来抓,因为前期工作做不充分,后面的开发会不会很成功。在对某个功能或者需求不能确定的情况下,最好能整理成列表文档发给客户,让客户以电子版

的形式重新描述一下发过来,尽量不要经常打电话骚扰客户,要集中把要了解东西发给客户,以便他们集中精力来处理你问的问题。

2.要尽量保证有效的沟通

每次沟通要有一定的目的性,把沟通交流的结果用文档的形式保存下来;需求制订出来要得到客户的确认,在经过几次反复之后会得到一个相对比较稳定的需求,虽然客户的需求不可能一直不变,这也是很多人搞项目头疼的地方,但是我认为客户的需求实际上是很少改变的,改变的

是你对客户需求的理解。对客户的每一个要求都要重视,尤其是客户后来提到的一些改动建议,要让他们以书面的形式发过来,必要的时候要求负责人盖章签字,我们不能为了下面的下面的一个小办事员随便打个电话就对程序做出大的改动。再改动比较大的情况下,我们可以要求客户对

合同的变更追加费用,前提是把需求做为合同的附件加进去,防治最后验收的时候造成争执。

3.和客户沟通要找准对象

一般企业或者政府都有专门负责信息的人员,而且最好要求客户那边找一个人专门负责这个项目。这样找对方了解需求的时候就不会出现不知道找谁的情况,客户那边有专人负责会带来很多好处,这个项目就是因为客户那边负责这个项目的人员经常更换而为我们项目的开发造成了很 多的不变。

二.提高开发效率和保证项目质量

政府的项目一般都是开始的时候不着急,你催他们准备资料他们也不着急,但是一旦他们把资料准备全了,都交给你了就着急了,要求对方在很短的时间内保证质量的把项目交付。所以如何提高开发效率和保证项目质量是确保项目成功的关键。

1.保证良好充分的测试

当然软件测试的范畴很大,但是为了赶进度我们往往不能不保证进行所有的软件测试。软件的测试也是遍布整个项目开发周期的,我了解了一下TDD,TDD的思想很好,很适合开发中小型的项目,实施起来也很方便,但是不能纯粹的用敏捷开发的理论,必要的文档还是需要的。我认为 代码模块的单元测试,开发最后阶段的集成测试和部署后的整体功能测试和用户验收测试是必不可少的。项目进度再紧张也要进行单元测试,只要保证单元测试能通过,以后代码可以慢慢重构。集成测试保证项目各个模块能良好的协作共同完成复杂的任务,这点不能保证的话,展示给客

户的最终功能就不能保证。而功能测试和用户验收测试是纯粹的黑盒测试,自己内部人员先对照原始客户的需求进行功能测试,列出BUG列表,经过几次反复修改后给客户一个可以进行验收测试的系统。

2.保证相对必要的文档以及保证文档的可用性

每个模块的文档要独立起来,要实现的目标,测试的结果,模块所用的数据库的结构,存储过程,设计思路,调用的接口等这些是必须的。我也不建议面面俱到的文档,但必要的需求文档,模块文档,测试文档是必须的,我们的项目小的不足以让我们去学习庞大的RUP什么的。

3.迭代开发

刚开始可以根据客户的需求弄出一个蓝图来,交给客户看,以便让客户能尽量早的知道最终的开发出来的系统是什么样子的,这个蓝图要尽量直观,一般在需求整理完毕后一周就能出来,这也是指导以后开发工作的东西,要完整的包含所有的域模型,便于开发人员对问题域的理解。

然后把优先级最高的一系列功能完整后出一个DEMO版给客户,要让客户尽量早的发现正在制作的项目和用户想要的结果的之间的偏离和差距,告诉你后以便你尽早的调整,别等你的正式版出来后用户发现这个功能你做的不对,你就傻了,那时候要改动的地方就太多了。然后再弄完善一下

给用户个beta版,这时候就已经接近最终版本了,可能还有一些小BUG。最后把小BUG完善修复一下给客户正式版1.0让客户验收。至于二期项目以后再说,先把一期项目的余款结了再说,对吧。

4.制订开发规范

开发规范订的太死会限制程序员,每个开发人员都会有一些习惯,但是为了协作,制订一个相对通用的规范是有必要的。包括文档的规范,数据库设计规范,编码规范以及各种命名规则。尽量用一些业界通用的规范,网上都有,我CSDN的博客上也整理了一些,MSDN的类库开发人员指 南里面也有一些。尽管某些规范很有争议,我感觉你也得选择其中一种来做为你的项目开发规范。

5.建立开发基础

保证机器和软件的可用,尽量大的内存,尽量快的处理器,操作系统,开发工具都要到位,该想到的就得想到,还要给开发人员一个相对安静舒适的环境,最好能很方便的喝到冰箱里的可乐,而且能在累的时候有绿色的植物看。再一个就是建立一个开发基础结构,这个也颇有争议,

几乎每个公司都有自己的系统类库,开发框架以及配套的代码生成工具,这都很好,在开始可以对员工做适当的培训,让他们都能体验自底向上设计的好处,都能用的上这个架构,你可以在架构中要求开发人员以指定的方式实现某些通用的任务,比如说日志记录和错误处理等,而不是让

他们使用自己习惯的方式去处理问题,因为.NET的灵活性让实现一个任务有很多中方案和手段。

小节:虽然这个帖子没有讨论具体技术,而且都是一些空话套话,并且这些空话套话可能别人也都说的不带说了,但我感觉还是有必要自己总结一下的。

第17篇:软件项目总结报告

XXXXXXXXXXXXXXXXXXXXXXX系统

项目总结报告

XXXXXXXXX 2017/7/27

1 项目概要信息

XXXXXXXXXXXXXXXXXXXXXXX系统的技术团队由11人组成,其中项目经理1人,需求分析师1人,UI设计师1人,开发人员6人,测试人员2人。

本项目的前期工作从2017年5月19日开始,历时16个工作日,于6月9日完成需求分析等准备工作。开发阶段从2017年6月12日开始,历时22个工作日,于7月10日完成全部开发工作,进入外部业务人员验证测试阶段,目前,可使用XXXXXXXXXXXXXXXXXXXXXXX的二级域名进行访问,详细信息如下:

用户资助申报地址:XXXXXXXXXXXXXXXXXXXXXXX 用户审核管理地址:XXXXXXXXXXXXXXXXXXXXXXX

本项目的开发过程有5个关键的里程碑,具体时间及内容如下: 2017年06月21日:项目初次全新功能开发完成;

2017年06月29日:项目初次内部功能测试、安全测试、性能测试完成; 2017年07月04日:需求变更,准备进行二次开发; 2017年07月10日:项目二次开发全部完成;

2017年07月11日:项目二次内部测试完成,等待外部业务人员验证测试。

2 项目经验

因为是初次担任项目经理的角色,我最初找不到切入点,领导和同事在整个的过程中给了我很多的指导和建议。实际的项目管理工作使我对自己已学的理论知识有了更深刻的体会。所谓理论指导实践,实践验证理论,回想整个项目开发过程,至少可以总结了以下几点经验: 2.1 沟通讨论 信息交换要及时

沟通讨论是贯穿整个项目生命周期的活动,团队成员间信息交换是否及时,更是项目成功的关键。虽然不同角色承担不同工作,但都是以达成项目目标为指导的,

团队成员只有始终保持沟通讨论,保证接收到最新的、一致的项目需求信息,才能使得开发工作顺利进行,避免出现信息交换不及时而导致的返工。

对于沟通,结合实际来说,如果需求分析师不能将变更的需求信息及时传递给UI设计人员,就会导致不符合用户需求的设计,更会使开发人员写出无用的代码,这必然导致重设计、重编码,甚至会延误整体项目进度。

对于讨论,尤其是像我这样缺少经验的项目经理,不论是制定计划,还是工作量识别,都必须向有经验的同事请教,接受正确的建议,才能得到合理的安排。 2.

2项目范围 功能边界要清晰

项目经理以需求文档为依据,将项目范围及边界清晰罗列,是把控项目开发进度的先决条件。

对于XXXXXXXXXXXX系统来说,其功能并不复杂,且开发周期短,所以在确定项目范围并进行任务细化时,可精确到接口、页面。把一个大任务分解成一个个的小任务的好处是,可以帮助我们更加精确的估计出它们的工作量,并暴露出很多可能一时无法想到的工作量,也可以保证后续进行项目开发过程的状态跟踪,更加精确。 2.

3时间计划 人员分配要合理

以前总认为写计划比写代码容易的多,其实恰恰相反。一份合理的项目计划需要经过思考、沟通、权衡、询问、倾听的过程,要知道,用来分析解决问题需要花费的时间,远远大于单纯的写代码时间。

项目进度计划必须将分解出来的小任务,综合考虑时间、难易程度、人员能力,估出工作量并进行合理分配。 2.

4代码开发 功能验证要同步

当日的开发任务结束后,作为项目经理应该对现有开发成果做验证,即对已完成的功能做验证,及时发现缺陷或其他问题,次日找对应的开发人员做修复。

因此,代码开发和功能验证的同步进行,既可以保证软件质量,同时也可以保证项目进度。当然,应该根据实际情况同步调整项目进度计划,预留处理缺陷的时间。

2.

5进度执行 问题修复要反馈

项目成员必须及时反馈当日任务完成情况,及前一天遗留缺陷的修复情况,才可以保证项目经理对整体进度的把控,准确跟踪项目状态。 2.6

需求变更 文档修改要记录

开发过程中的任何变更,都应做记录,作为项目成员之间沟通交流的依据,也可以避免重复修改,增加无谓的工作量。

3 项目教训

3.

1计划应当先于执行

项目计划必须要尽可能周全,并且在项目经理的可控范围内,可以根据实际情况及时做调整,但一定要保证,具体工作的开展是在计划范围内,因为没有计划直接执行会直接导致项目进度不可控,状态无法跟踪。 3.

2沟通应当注意技巧

高效沟通是项目成功的决定因素。因缺乏高效的沟通技巧。对内,在与开发人员进行需求沟通、代码实现方式设计等方面沟通时,并不能快速准确表达自己意图;对外,在与业务人员协商问题时,会不自觉的使用技术术语等业务人员不易理解的词汇,导致双方无法在较短时间内达成一致意见。希望自己以后有更多的锻炼机会,学习弥补这方面的欠缺。

第18篇:软件项目心得体会

软件项目心得体会

时间总是不经意间从身边溜走,从立项到现在,已经过去有一年左右的时间了。随着我们一起成长的还有我们的项目,现在我们的项目也来到了结题的时间。回想当初刚刚立项时我们还很迷茫,虽然有满腔热情,但是一切都还是未知的,我们需要一点一点地去探索,一点一点地去发现。到了现在,我们的项目马上就要结题了,我们没有像以前那样迷茫,我们已经有了清晰的目标,有了完整的方案,也有了具体的实施方法。当然没有任何人可以一下子就成功,这中间我们有过很多次失败,经历过很多坎坷,可是这些都没有阻挡我们的探索。在这一年当中我们虽然会觉得困难,但是,不可否认的是我们的确在这过程中收货了很多,也学习了很多。

每当在我们的项目进行过程中遇到难以解决的困难时,我们只能自己去寻找多方资源来帮助自己。比如,去网上找各种相关文献进行查阅,去学习新的不懂的技术,去图书馆查阅资料。这应该是我们在这个过程中收获最大的地方,因为我们获取了很多额外的知识,有时候经历过实践的知识总是更能让人记忆深刻。从最开始的寻找课题到申请立项、撰写项目申请书,再到确定研究目的和寻找创新点,并制定详细的实施方案和步骤,对项目进行相关调查和研究,到最后确定项目的可行性、创业计划书的编制等等,这一步步走来,艰难心酸有,但是收获的经验和成长也只有经历过的人才会分享和拥有。我们只能说,我们绝对不会后悔参加过这个项目。

作为这个项目的参与者我觉得,这个项目最大的特点就是它不是一个人单独完成的,它需要整个团队的合作。那么如何调配整个团队的各个人员,给每个人分配相应的任务是很重要的。不是说越精细的分工,才能有越完美的作品嘛。管理好一个团队是很不容易的,也是很锻炼人的。可能团队中的成员,性格迥异,互相之间关系不够融洽;可能在经历了一段时间低谷后,团队的斗志削减的很厉害;可能大家在对待项目这个问题上,都打着自己的小算盘,个人的顾虑成为了项目成功道路上的绊脚石。因此,队长在这里面起着很大的作用,可以说是整个团队的核心,但是好的队员的也是不可或缺的一部分。这就像一台正在高速运转的机器缺了哪一个部件都是不行的。所以说,这就需要我们进行经常的沟通,分享大家的意见和想法及时的做出相应的对策。于是乎,这一年来我们开了大大小小很多会议,每一次,我们都是在讨论中得到结果。对于我们这些大学生将来势必是要走上职场的,那么无论我们以后是从事哪一方面的工作,想必团队协作都是必不可少的一部分。那么这次对我们来说都是一次很好的积累经验的机会。 再有就是,这个项目不像我们的实验课一样,它没有教材,没有老师按部就班的指导。我们都知道现在的学生总是习惯于在教室里在课本上学习知识,所以在一定程度上是缺乏创新方面的思维的。也是在做这个项目的过程中,我深刻地意识到自我动手能力的重要性。或许是因为,无论发生什么都需要我们自己解决。所以在这个过程中,每个人都尽可能的发挥了自己的能动性,我们每个人都在积极的思考,努力的寻找解决的办法,努力的寻求创新点。自然而然的,我们都在一定程度上学会了独立解决问题也养成了这种意识,不再有以前一遇到问题就想去问人的冲动了。就像有人曾今说过一样,不要做意见和答案的乞讨者,现成的答案有可能会禁锢人的思维。人类的智慧是无穷无尽的,创新也是无穷无尽的,说不定我们就会创造奇迹呢。

说实话,一开始的时候我们的构想和现在差的很多。就像我们的创造心理学的老师说过的一样,我们只是在做发散性思维,而不是在做创新。因为创新它是有逻辑的,它不是漫天空想。可能我们刚开始就是处在这个阶段。在之后经历了一段空想的日子,我们才学会静下心来,好好思考。切实的根据我们自己的能力,我们现有的资源,真正的定下了目标。然后按照我们的计划一步步规划,一步步向着成功迈进。当然后来我们的项目也在随着进度做相应的改善,但它绝对不会像最初那样被我们全盘否定。这也让我们所有人都学会了“现实”。也就是说创新也是需要切合实际的,理论要与实际相结合,任何事情都需要我们以实际为基准点再进行接下来的所谓创新,所谓发展。

最后,对这次创新创业项目我们的总结,也就是我们的收获,就是深刻认识到团队合作在一个项目中的地位的不可或缺性。当然与此同时在与项目有关的知识方面是一定会有很大的提高的。再有就是在创新意识,和创新态度上我们有了自己的理解。不在像以前一样,一提到创新就只会漫天胡想,我们学会更实际,更有可行性的创新。总而言之,很开心,能有这样的机会来提升和锻炼自己。当然不能说现在我们有多么大的成就,可是成功不就是这么一点一点累积起来的么。这有可能就是我们向着成功踏出的第一步。未来的我们一定会越做越好。

第19篇:软件项目实施方案

软件项目实施方案

一、项目实施方案概述

二、项目实施方案介绍

(一)项目启动阶段

(二)需求调研确认阶段

(三)软件功能实现确认阶段

(四)数据标准化初装阶段

(五)系统培训阶段

(六)系统安装测试及试运行阶段

(七)总体验收阶段

(八)系统交接阶段

一、项目实施方案概述

软件产品,特别是行业解决方案软件产品不同于一般的商品,用户购买软件产品之后,不能立即进行使用,需要软件公司的技术人员在软件技术、软件功能、软件操作等方面进行系统调试、软件功能实现、人员培训、软件上线使用、后期维护等一系列的工作,我们将这一系列的工作称为软件项目实施。大量的软件公 1 司项目实施案例证明,软件项目是否成功、用户的软件使用情况是否顺利、是否提高了用户的工作效率和管理水平,不仅取决于软件产品本身的质量,软件项目实施的质量效果也对后期用户应用的情况起到非常重要的影响。项目实施规范主要包括项目启动阶段、需求调研确认阶段、软件功能实现确认阶段、数据标准化初装阶段、系统培训阶段、系统安装测试及试运行阶段、总体验收阶段、系统交接阶段等八个阶段工作内容,每个阶段下面有不同的工作事项,各个阶段之间都是承上启下关系,上一阶段的顺利完成是保证下一阶段的工作开展的基础。下面将按照每个项目实施阶段分别介绍。

二、项目实施方案介绍

(一)项目启动阶段

此阶段处于整个项目实施工作的最前期,由成立项目组、前期调研、编制总体项目计划、启动会四个阶段组成。

此阶段主任务:

公司:在合同签定后,指定项目经理,成立项目组,授权项目组织完成项目目标。

公司项目组:进行前期项目调研,与用户共同成立项目实施组织,编制《总体项目计划》,召开项目启动会。

商务经理:配合公司项目组,将积累的项目和用户信息转交给项目组。将项目组正式介绍给用户,配合项目组建立与用户的联系。

用户:成立项目实施组织,配合前期调研和召开启动会,签署《总体项目计划》和《项目实施协议》。

1、成立项目组

部门经理接到实施申请后,任命项目经理,指定项目目标,由部门经理及项目经理一起指定项目组成员及成员任务,并报总经理签署《项目任务书》。

2、前期调研

项目经理及项目组成员,在商务人员配合下,建立与用户的联系,对合同、用户进行调研。填写《用户及合同信息表》。在项目商务谈判中,商务经理积累了大量的信息,项目组首先应收集商务和合同信息,并与商务经理一起识别那些个体和组织是项目的干系人,确定他们的需求和期望,如何满足和影响这些需求、期望以确保项目能够成功。

3、编制《项目总体计划》

《项目总体计划》是一个文件或文件的集合,随着项目信息不断丰富和变化,会被不断变更,主要介绍项目目标、主要项目阶段、里程碑、可交付成果。通常包括以下几方面内容:

项目描述,项目目标、主要项目阶段、里程碑、可交付成果。所计划的职责分配(包括用户的);

沟通管理计划,确定项目干系人对信息和沟通的需要:即什么人何时需要什么信息以及通过什么方式将信息提供给他们。质量管理计划,确定适合于项目的质量标准和如何满足其要求。如果有必要,可以包括上述每一个计划,详细程度根据每个具体项目的要求而定。未解决事宜和未定的决策。

4、启动会

项目组与用户共同召开的宣布项目实施正式开始的会议。

会程安排如下:

共同组建项目实施组织,实施组织的权利和职责;双方签署《项目实施协议》。

项目组介绍《项目总体计划》和《项目实施协议》,包括以下内容:

项目目标、主要项目阶段、里程碑、可交付成果。所计划的职责分配(包括用户的);

项目实施中项目管理的必要性和如何进行项目管理,项目的质量如何控制;

项目实施中用户的参与和领导的支持的重要作用;

阶段验收、技术交接和项目结束后如何对用户提供后续服务。

(二)需求调研确认阶段

此阶段的主要工作是软件公司的项目实施人员向用户调查用户对系统的需求,包括管理流程调研、功能需求调研、报表要求调研、查询需求调研等,实施 4 人员调研完成后,会编写《需求调研分析手册》,并交付用户进行确认,待用户对《需求调研分析手册》上所提到的需求确认完毕后,项目实施人员将以此为依据进行软件功能的实现。如果用户又提出新的需求,实施人员将分析需求的难度及对整个系统的影响程度来确定是否给予实现。需求调研阶段具体包括如下内容:

1、进行需求调研准备

2、编制《需求调研计划》

3、内部评审是否通过《需求调研计划》,项目组、部门经理、商务等人员根据合同要求和项目实际情况对《需求调研计划》草稿进行评审,如评审通过,则在稍后的时间内签署,如评审不通过则重新修改。

4、用户是否签署《需求调研计划》,如用户签署《需求调研计划》,则作为以后需求调研工作的指南。否则重新修改。

5、《需求调研计划》是否有变更,如果计划存在变更,则执行变更控制流程,否则按计划进行后续工作。

6、编写及发出《需求调研通知》,项目组编写《需求调研通知》,确定进行需求调研的相关事宜,发给用户,为顺利完成需求调研工作做准备

7、需求调研,项目组以《需求调研手册》为依据,从业务流程、单据使用、打印格式、报表查询几个方面展开深入和全面的调研,并搜集用户的个性化需求。

8、需求调研分析根据调研的结果,项目组和公司其他技术部门将进一步进行分析,确定合理、可行的需求,将分析结果形成《需求分析报告》草稿。

9、内部评审是否通过《需求分析报告》。项目组、部门经理、公司其他技术部门的人员对《需求分析报告》草稿进行评审,如评审通过,则在稍后由用户签署,如评审不通过则重新修改,直至内部评审通过。

10、编写及发出《需求分析报告确认通知》。项目组编写《需求分析报告确认通知》,发给用户,确定进行需求确认的相关事宜,告之相关部门及人员安排好工作,准时参与需求确认工作,为顺利完成需求确认工作做准备。

11、用户是否确认《需求分析报告》。如果用户确认,并签署了《需求分析报告》,则需求调研阶段工作结束,进行后续的软件功能实现的工作;如没有确认,则进一步进行调研、分析,直至用户最终确认并签署《需求分析报告》。双方签署了《需求分析报告》,需求调研工作结束之后,如果用户提出新的需求或是变更已有的需求,则执行需求新增及变更流程

(三)软件功能实现确认阶段

此阶段的主要工作是项目实施人员根据需求调研阶段确认的《需求调研分析手册》中的用户需求内容进行具体软件功能的实现工作。在软件功能实现的过程中,项目实施人员将记录软件实现的详细过程。便于公司售后服务之用。每一个实施技术人员必须严格按照要求记录、存档。按照调研要求的所有功能实现完毕后,项目实施人员将编制《软件功能确认表》,将定制好软件功能待用户确认, 6 用户根据《软件功能确认表》上的功能逐一确定软件功能是否达到要求,对不满足要求的功能,项目实施人员将会记录下来并进行功能修改,直到满足用于要求。

(四)数据标准化初装阶段

此阶段的主要工作是项目实施人员指导用户进行系统标准化资料的准备工作,并对用户进行初装资料的软件操作培训,以便用户能够及时的将标准资料录入系统,初装完成后,项目实施人员会对资料初装的情况进行核查,为以后具体业务功能的开展做好基础。

(五)系统培训阶段

系统培训阶段工作是整个项目实施工作中比较重要的工作,用户对软件的操作功能是否熟练将直接影响到后面的软件应用效果,所以软件公司和用户双方要对此阶段的工作给予足够的重视。要充分认识培训的重要性和艰巨性。在项目实施之前对用户的相关人员进行系统和规范的产品培训是非常必要的,达到让用户了解软件产品,最终自己能够解决使用中的具体的问题。

此阶段的培训工作中将用户参加产品培训的人员划分为三个层次:决策层、技术层、操作层,对不同层次的用户参加产品培训人员的培训内容分别是:

决策层:领导在实施中的作用与重要性、决策查询。

维护层:系统维护知识、操作方法。

操作层:操作方法。

具体的培训工作流程为:

1、调研培训信息:在培训开始前3天由用户实施负责人,将参加培训的部门和人员情况填入《受训部门汇总表》、《受训人员情况一览表》。

2、编制培训计划:结合调研结果,与用户实施负责人商议具体培训内容、时间,场地,人员等。项目组编制《培训计划》。

3、签署培训计划:用户签署《培训计划》,进一步确认培训安排。

4、发培训通知:培训开始前2天,按照签署的《培训计划》,将培训内容、时间,场地,人员等信息通知用户实施负责人。

5、搭建培训环境:公司项目组在培训开始前,将培训环境搭建及检查妥当,将培训提纲及培训手册准备好。

6、组织培训:公司项目组培训负责人与用户实施负责人组织相关人员参加培训,按培训制度严格考核。由用户将考勤情况填入《培训人员签到表》。

7、培训考核:公司项目组培训负责人与用户实施负责人组织受训人员参加上机及理论考试。

8、培训总结:公司项目组培训负责人与用户实施负责人一起将出勤情况及考核情况做出总结,填入《培训及考核统计表》,及时向相关负责人

汇报。

(六)系统安装测试及试运行阶段

此阶段的主要工作是在用户真实环境下,对用户网络及硬件设备进行测试,对软件系统进行容量、性能压力等测试测试及试运行的目的在于确保系统各项功能均能正常使用,并且符合用户签署的《需求分析报告》中描述的需求,同时把尽可能多的潜在问题在正式运行之前发现并改正;同时目的还在于在正式运行前用户的有关人员能进一步提高操作水平,掌握操作规范。此阶段的主要工作内容为:

1、编制计划:与用户实施负责人商议具体测试及试运行时间,地点,人员等安排,项目组编制《测试及试运行计划》。

2、签署计划:用户签署《测试及试运行计划》,进一步确认测试及试运行安排。

3、发测试及试运行通知:在测试及试运行开始前2天,按照签署的《测试及试运行计划》,将时间,地点,人员等信息通知用户实施负责人。

4、搭建环境及数据准备:在试运行开始前搭建好软件环境、硬件环境、网络环境、调通线路;检查软件、硬件、网络、线路等各个环节是否有问题;

5、组织测试及试运行:用户相关各级领导给予全面配合,组织相关人员进行测试及试运行.、

6、测试及试运行总结:测试及试运行完成,总结试运行中设备、软件的运行情况,总结试运行中业务流程和操作环节的情况,以书面总结形式将测试及试运行结果通知相关负责人。

公司项目组负责担当指挥,检查用户人员组织情况并给予指导,跟踪检查如下情况:

跟踪单据流转状况。

跟踪新资料登录环节。

观察业务流程执行状况。

观察操作人员操作表现。

观察系统运行速度及异常表现。

观察关键数据的正确性。

及时纠正错误操作、对于新发生的问题及时与相关人员沟通,确定解决办法。

(七)总体验收阶段。

此阶段是对项目总体的完成情况进行验收。验收分阶段进行,在每一项目阶段结束时,用户对这一阶段的可交付成果进行验收,在测试及试运行结束后,对系统进行总体验收。

需要验收的可交付成果:

主要项目阶段

阶段组成

主要里程碑

可交付成果

启动

阶段

编制总体项目计划

签署的《总体项目计划》

启动会

项目启动会

签署的《项目实施协议》

需求调研阶段

需求分析报告确认

需求调研结束

签署的《需求分析报告》

软件

实现

软件功能确认

软件功能确认

签署的《软件功能确认表》

数据

初装

用户签署初装计划及初装培训计划

签署的《初装计划及初装培训计划》

初装检查及总结数据初装完成

《数据初装总结表》

培训及考核

用户签署培训计划

签署的《培训计划》

培训总结

培训完成

《培训总结表》

测试及试运行

用户签署测试及试运行计划

签署的《测试及试运行计划》

测试及试运行总结

试运行完成

《测试及试运行总结》

验收

总体验收

验收完成

《总体验收报告》

(八)系统交接阶段

此阶段是项目实施的最后一个阶段,主要工作是软件公司项目组向用户移交软件项目,包括软件产品、项目实施过程中所生成的各种文档,并签署《售后服务协议》,项目将进入售后服务阶段。软件公司项目组还需要让用户填写《用户满意度调查表》,对软件公司项目实施人员的整个项目实施情况进行评价,软件公司将听取用户的意见,再今后的项目实施管理中进行加强和改进。

第20篇:软件项目申请报告

关于物流公司引入OMS订单管理系统的申请

尊敬的领导: 你们好!

**公司为B2C、B2B类型,各类信息化建设程度不同的客户提供第三方仓储服务。

为匹配各类用户需求,提高客户服务质量,**公司需求引入OMS订单管理系统及TMS运输管理系统。

一、OMS订单管理系统:

目前**公司虽已引入**系统,但因仓库作业对系统响应时效要求极高,各仓分别独立部署WMS服务,考虑到后期客户对接软件成本(现有软件对接费用需13-15万元/客户)、客户服务质量及软件接口设计合理性,确定客户系统无法与各仓WMS系统一一对接。 因此,需引入OMS订单管理系统实现:

1.直接对接各大主流第三方B2C平台(包含天猫、京东、唯品会等)

2.直接对接B2C客户内部系统或配套标准接口平台(如百胜软件,菜鸟、奇门接口等)

3.直接对接B2B客户内部系统:如SAP系统(都市丽人)、客户OMS系统、客户企业门户等系统

4.接口产品开源,支持由都市物流内部技术人才进行对接,节省13-15万元/客户系统对接费用。

5.前端技术开源,支持由**公司内部技术人才进行开发,提高软件调整响应时效,节省各类客户不同定制化需求调整成本。同时,为匹配**公司“五仓一网”建设思路,为客户提供合理、优质的多仓联合运作服务。需要OMS订单执行系统匹配客户“海量级”B2B、B2C订单处理能力,根据系统灵活设定的不同规则(如客户所属经营区域、库存分配、时效优先、人工指定等)匹配最优作业仓库,下发WMS收发作业,满足多类型运营需求。

二、TMS运输管理系统

一直以来,较严重存在货品出仓后的异常投诉问题,异常问题追踪依靠人工管理方式,导致问题无法得到及时准确追踪、解决和反馈。 为解决上述问题,**公司迫切需求引入TMS运输管理系统,实现以下功能:

1.改变原有人工管理方式,使用系统、规范化的方式对物流供应商进行管控(供应商奖惩、评分管理功能等)。

2.实现货品运输在途跟踪、异常预警功能,及时掌握货物运输动态。

3.实现客户签收功能,追踪货物运输时效。

4.软件开源,支持由**公司内部技术人才进行技术开发,提高软件调整响应时效,节省各类客户不同定制化需求调整成本。另外,改变现有系统只支持单一的物流计费模式(按体积计算)状况。引入TMS系统,实现支持多运输模式计费方式(如重量、计件、干/支线/派送计费)。

三、预算费用

经与国内各大物流主流软件供应商(包含唯智、富勒、美的(安德)、巨沃等)沟通确认,OMS订单管理系统费用为**万元,TMS运输管理系统费用为**万元

鉴于以上功能、客服质量、成本原因考虑,物流公司迫切需求引入OMS、TMS系统,为物流公司的全面业务开展打下良好的基础,请公司领导批示为盼!

申请人:

日期:

软件项目总结范文
《软件项目总结范文.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
相关专题
点击下载本文文档