软件项目管理这门课程是我们软件工程测试技术专业学生的一门重要的课程,这门课程的开设必有其重要性。软件项目管理的提出是在20世纪20xx年代中期的美国。由于开发项目不能按时提交、超出预算、质量达不到用户的要求等原因,70%的项目出现问题。于是,软件开发者开始逐渐重视软件开发中的各项管理。到了20世纪20xx年代中期,软件项目管理不善的问题仍然存在。软件项目管理和其他项目管理相比有相当的特殊性。首先,软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证。其次,软件系统的复杂性也导致了开发过程中各种风险的难以预见和控制。因此,项目管理对软件生产具有决定性的意义。
项目管理的定义是指一定的主体,为了实现其目标,利用各种有效的手段,对执行的项目周期的各个阶段工作进行计划、组织、协调、指挥、控制,以取得良好经济效益的各项活动的总和。软件项目管理目的是为了使软件项目能够按照预定的成本、进度、质量顺利完成而进行分析和管理的活动。另外,进行软件项目管理有利于将个人开发能力转化成企业的开发能力。企业的软件开发能力越高,表明这个企业的软件生产越趋向成熟,企业越能够稳定发展。
对于软件项目的学习,我首先放正了态度来学习,认真分清软件项目管理与软件工程的关系和项目管理知识体系。软件项目管理从头到尾包括9个知识领域、5个标准化过程组和44个模块。其中本学期我们学习的主要知识点有以下几个部分,如:项目的初始中项目立项、合同项目、内部项目、项目授权、初始项目范围、生存期模型等知识点;项目计划中范围计划、时间计划、成本计划、质量计划、人力资源计划、沟通计划、风险计划、合同计划、配置管理计划、集成计划等知识点;项目执行控制中集成变更管理、范围管理、进度成本管理、挣值分析法、偏差管理、质量管理控制、团队管理和建设、项目沟通管理和风险管理等;项目结束中合同结束、项目结束、项目总结、项目管理的建议等。对于这些知识点,我根据具体案例具体分析。
通过本学期的学习,我感受到软件项目管理是一门非常需要学习的课程。即使作为考察课程,它也是软件行业人士所必须了解的知识。它对软件工程项目的作用是至关重要的。现在,作为学生的我所做的项目虽然都是一些小的项目,但是在小组共同开发的时候还是需要用到项目的管理。如:人员的分配,时间、进度的计划,沟通计划,项目执行变更管理,以及质量管理控制等多种管理。如今这门课程我学的还不是很好,但我相信在今后的实训及工作当中,能够更好的体验和感受到项目管理的精髓,对软件项目管理有更深入的了解。我也希望,学校的老师能够在今后的教学当中重视软件项目管理课程,多让学生了解实例,去感受、体会软件项目管理所遇到的问题和解决方案,理解软件项目管理的精髓。
软件项目管理学习心得体会2第一,要认清形势。
我觉得任何事情一定要在认清形势的基础上再开始考虑如何计划,这样才能让别人满意你的结果而自己也能获得较大的收获。一开始,*总就强调过,我们不应该把这个项目当成还是课堂的项目,完成老师的硬性要求,而是一个真正的公司的项目。这样我们就可以考虑到时间方面的限制和我们在技术上的优势,而在需求上与甲方pm交涉。我们公司内部在经过一番讨论后,确定了最利于我们完成该项目而又达到甲方pm要求的项目方案,然后与甲方pm进行商榷,在与甲方pm分析了各种情况后,最后终于敲定了让甲方pm满意,而我们自己又认为能完成得比较好的需求。
第二,相信团队合作才可能把项目做到最好。
从整个项目的过程来看,团队合作中需要沟通、分工、协作和监督。只有做好这四项才算是一个好的合作团队。首先,团队合作最基本的技能就是沟通。沟通的目的就是让别人了解你的想法,因为每个人考虑问题的时候总会有各种各样的偏差,我们只有沟通很好的沟通来综合所有人的好的想法,以减少走弯路,而让事情进行的更顺利。我们公司内部的沟通是比较随意的,因为大家都比较熟悉,任何时候有什么想法都会提出来,然后大家一起讨论,并得出最后的结果。而整个项目的进行中很重要的又比较正式的沟通就是与甲方pm的沟通,完成这个项目其实也是与甲方的合作的过程,因为甲方pm是在职人员,他的人生阅历比我们多,而且沟通能力是很强的,我们从与他的沟通中都学到了不少知识与技巧,其中很多都是我们以前做老师给我们的作业项目所没有的但却是很重要的。我们其实也很感谢甲方pm,他很认真负责地跟我们沟通,我们在沟通中用词不当或犯什么错误时,他都会指出来,并改正我们的说法,因此单从与他的沟通中就学到了不少以后工作时将会用到的实在的知识。
其次,团队合作的关键环节就是在有效沟通的基础上进行分工,分工要明确,落实到每个人。由于这个项目时间的限制和语言的不熟,这个项目必须由我们公司所有成员都尽努力才能做好,这样就需要合理的分工。比如我们这个项目中分为总的来说可以分为界面,核心算法,和数据库这三个模块,而算法也分有好几种,只有把它们分配给对各模块感兴趣的人做,让他们在规定的时间里进行钻研努力,才能达到最好的效果。我们组在这方面做的比较好,苏总在我们项目提出时,就根据各人的能力和兴趣把每个人分配在不同的主要任务中,在每周与甲方pm定好下阶段的提交物后,都是仔细地把任务均匀地分配给各个人。因为我们组是按照每人的工作量来最后算成绩的,均匀地分配任务就不会造成组员的不满了。再其次,团队合作中协作是必不可少的。在项目组中各成员都明确了任务后,就需要大家单独工作的同时去配合其他人。尽管大家都有不同的任务,但是相互之间在一些问题互相协作的话,不仅可以提高各个任务进行的速度,也利于对项目中别的模块的了解。
由于我们组的成员都是比较熟悉的,所以在协作方面还是不错的,比如某人搭建完环境后,帮其他的组员在他们自己的电脑上搭好,这样就会节省大量的时间,而这名组员也可以把时间用在别的事情上。而且虽然我们进行了明确的分工,但毕竟是一个项目,之间还是有很大的关联的,这样在编码的时候,都会进行讨论和互相帮助,这样就减少了错误的可能性也节省了时间。最后,项目经理的监督是必不可少的。一个团队中,难免有人会偷懒或拖延,或者完成任务的质量不理想,项目经理就要对这些人进行督促和提出合理的建议。通过监督了解项目的进展、质量、问题等并及时的调整资源利用情况,以保证项目的成功。虽然我们组没有出现上面提到的种种情况,苏总还是进行了严格的监督,我们每人都是按照苏总给我们的计划提交相应的产品给他,但质量是参差不齐的,苏总都会进行审核,然后给出建议,让我们修改优化后,他才把产品提交给甲方pm,因此甲方pm一直对我们的提交物比较满意,这与苏总的努力是分不开的。
第三,要详细制定计划,并严格按照计划来执行。
这次的项目周期很短,因此计划就显得格外的重要,只有进行详细的计划,我们才有紧迫感,并要求自己抓紧时间完成当天的任务。对比去年的软件工程课,那个项目与这个项目的规模差不多,但是开发周期是真个学期,每个阶段都显得很长,就算制定了一个计划,也没有按照那个计划来,拖个几天是很正常的,今天不能完成明天做,因为有的是时间,这样越来越松懈,就把大量的任务往后压,到最后就拿质量换时间了。而这个项目一开始就让人有很强的紧迫感,计划几乎是细到天的,我们每人组员都要在周报中详细汇报这周中每天做了什么的,pm通过周报来很好地管理进度,当然必要的情况下还是会做相应的变动的。到最后我们的项目如期完成了,而且结果是比较让人满意的,这样的结果对比去年的就会让我以后在做别的事的时候,更加自觉地详细做计划并严格按照计划执行。另外,这样做的好处就是让人感觉每天都很充实,没有虚度光阴,每次我浑浑噩噩地度过一天而没有学到任何东西后,我都有一种罪恶感,感觉对不起父母和关心自己的人,而制定了详细的计划并认真执行的话,每天都会以饱满的精神状态来学习,心情也很好,这样才是健康的生活方式。
虽然通过这门课,我的经验更佳丰富了,个人编程能力,沟通能力等都有了一定提高,但是我也感觉到了自己的诸多不足,比如我的沟通能力还有待提高,这或许不是一两天的问题,但是我会更加注意,并在以后的生活学习中,留心并提高沟通能力。还有不足就是项目期间,热情还不是不够,每次都把相应的任务做完后,就不管了留给pm,然后等下一个任务,而自己却没有更加用心地去考虑如何把整个项目做的更好,或许是因为我不是pm的缘故吧,在以后的项目中,我要改变这种心态,以更加积极的热情去参与项目。
软件项目管理学习心得体会3通过本学期x老师的《软件项目管理》课程的学习,我深深的体会到了项目管理在软件工程甚至是其他工程领域的重要性。通过老师的讲解,我了解到了项目管理的理念目前在实践中起到了越来越重要的作用,对于技术而言,管理意味着决策和支持。只有对生产过程进行科学的`、全面的管理,才能保证达到提高生产率,改善产品质量的工程目标。
好好研究学习软件项目管理对于我们以后要从事it行业的学生而言有着决定性的作用。首先这里存在一个问题,之前已经学习过了《软件工程》课程,所以刚开始听到《软件项目管理》的名字的时候就产生了软件工程和软件项目之间有什么区别的疑惑,通过后来对课程的深入学习,才了解到了:(1)软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。(2)项目管理是一个管理学分支的学科,指在项目活动中运用专门的知识、技能、工具和方法,使项目能够在有限资源限定条件下,实现或超过设定的需求和期望。
项目管理是对一些与成功地达成一系列目标相关的活动(譬如任务)的整体。这包括策划、进度计划和维护组成项目的活动的进展。也就是说,软件工程为我们提供的具有指导意义的软件开发方法,项目管理是更从更高的角度思考问题,它总结出了项目管理中会碰到的问题及常规的解决方案,他不仅仅针对软件开发,而可以适用任何项目工程。那么软件项目管理则是项目管理在软件行业的应用了。在课程接下来的学习中,我有了一个深切的体会,在以往的小软件开发中,都是自己根据想象确定软件所需功能,然后编写代码,做成了一些具有“死”功能的软件,由于没有在实际应用中大量使用所写的软件,所以忽略了很重要的一点,客户对软件的需求变更要求,那么就要求项目开发相关人员对用户的需求变更有一个好的回复。所以在软件开发的过程中我们项目开发人员要了解可能导致需求变更的原因,如何管理变更需求,以及如何正确的处理需求变更。
然后学习到了一个重要的成本控制方法—挣值法,挣值分析相比于传统分析方法是一种更好的项目/工程管理方法,因为它综合了成本、进度与范围,可以用来预测未来绩效与工程完工日期。作为一种早期预警项目管理手段。可以使工程管理人员识别与控制问题,以免问题扩大化。能够使工程管理更高效、更及时的反应预算情况。下面举例说明:你被指定负责一个软件项目,其中有4部分,项目总预算为53000,a任务为26000,b任务为120xx,c任务为10000,d任务为5000,截止到xx月xx日,a任务已经全部完成,b任务过半,c任务刚开始,d任务还没有开始,采用50/50规则计算截止到xx月xx日的cv,sv,cpi,spi?
通过公式计算得:cv=1400sv=-5400cpi=1.042spi=0.864从上面的数据可以看出本项目花费低于成本,项目进度落后,参考这些数据可以适当地对项目进行调整。
最后,对于软件配置管理要有一定的重视,因为它贯穿于项目生命周期的始终,并代表软件产品接受各项评审,对于软件开发有很重要的作用。
对于本课程的学习,让我了解到了许多关于软件项目管理的知识,可以对之前软件工程课程上开发的“云盘”小软件作进一步的完善,以后的学习生活中,也会努力地让软件项目管理有关理论得以应用。
近500万道试题、20多万套资源、50多万篇作文、60多万篇范文免费使用
每天仅需0.22元,尊享会员权益