学习项目管理理论后的体会

本人从事软件项目设计和开发工作,已经有15年了,大大小小的软件项目数起来要有20多个。但真正意义上的,是按照项目管理理论,从项目开始到项目结束进行全面控制的几乎没有,只是部分过程采用了一些管理理念和方法而已。

真正对项目管理有比较深刻的理解和认识的,还是这次参加“计算机信息系统集成项目经理培训”。通过系统的理论培训和教师结合实际的讲解,自己再联系以往的实际项目管理工作,感触很多。

一. 项目要进行整体管理,善始善终

整个项目开始要做好项目整体计划,在项目的整个过程中,始终要按照项目计划执行,如若遇到项目发生变更,要进行影响分析,得到批准后制定变更计划,并按变更计划执行。变更的影响情况,如:费用,时间进度等要通知相关的项目利益干系人,说明变更的原因和产生的影响。

项目首尾工作也是项目管理中,一项重要的工作。需要将项目过程中产生的文件资料进行整理,归档;对项目的费用和进度进行审计和审核,对项目的质量进行检验和验收;对项目的整个过程的利弊得失进行总结和交流。

变更计划在软件项目中经常遇到。控制好软件项目的变更,首先需要做好项目的开始目标基准的确定,基准的用户需求明确,才能衡量出哪些是需要变更的。否则变更的东西和开始要求的东西混在一起,变更计划就无从制定,变更的界限也无从划清。

自己做过的一个项目,开始为了占领市场和尽快拿下合同,在用户需求还没有详细提供的条件下,就与用户签定了合同,后来不仅费用受到限制,就连时间不够,在项目过程中,用户方还总是变更软件的功能和要求。因为没有一个基点,我们认为是变更需求和新增功能,而用户方认为是合同范围,不能因此增加费用和时间。这个项目在开始好象签定了合同我们争取了主动,其实需求不明确,使我们在后来的项目进程中一直处于被动。

所以项目从一开始就要做好计划,搞清目标。只有项目的目标明确,合理安排时间、费用、人力和其他资源,控制好项目的变更,这些是保证项目能够顺利完成的基本条件。

二. 项目范围管理理论解决了项目开始需求不清的问题

需求管理是项目范围管理中的问题,这是因为它实际上是开发过程中的所有管理原则的先决条件。只有在开发的目标被清楚明白地表述和理解的情况下,软件开发才能以一种有计划的有序的方式进行。实际上,没有文档化的需求,在开发工作完成前后都很有可能发生产品与要求的偏离。计划、追踪、配置管理以及软件质量保证这些在其他关键过程中涉及的原则,都是从一个稳定的基础开始的,那就是文档化的需求基线。

什么需求?需求是指“分配给软件的系统需求”,或者更简洁地说,“分配需求”。这些需求有可能是技术方面的(比如:功能和性能需求),也有可能是非技术方面的(比如:发布日期,开支限度)。
区分开需求管理和软件需求分析是很重要的。一旦分配需求被文档化,并且被所有受影响部门(客户,系统工程,软件工程)通过,需求管理的基本工作就完成了,所剩下的就是管理变更而已。没有证据证明分配需求本身就可以十分清楚完整的作为软件开发的全部基础。事实上,通常它们不是。

优化和精确描述需求,填补漏洞,将含义表达得更清楚是软件需求分析要做的,分析的结果被称为“软件需求“。这样,作为需求管理的输出的分配需求实际上就成了软件需求分析的输入。需求管理远远先于软件开发的技术行动,而软件需求分析则是关键开发技术行为的第一步。
从这里的描述看来,需求管理的活动简直太简单,太基础了,显然没有哪个软件开发组织会不有效的进行着这种活动。问题经常出在企业对透明度的惧怕。客户觉得保持需求含糊不清,松散或者无正式文件能够给他们更多的机会去说:“那并不是我所要的,那并不是我认为的需求的含义”。文档化清晰的需求可能迫使用户在系统满足了文档化的需求但没有满足实际需要的情况下,为开始变更负责。相似地,开发人员觉得含糊不清,松散或者无正式文件的需求能给他们更大的余地,允许他们与预算和进度尽可能地接近,然后说:“这就是我们所认为的需求的含义,如果你需要其他的什么东西,你必须另外付出代价。”文档化清晰的需求会迫使开发者承担满足这些需求的义务,并使他们暴露于开支、进度评估不准确的风险之下。
这样一来,尽管客户与开发人员的利益动机相对,但他们却走到了一起。每一方都认为他们在保护自己的利益,巩固自己讨价还价的地位,但是事实上每一方都在走向将来的失望和争吵,为项目埋下了一刻定时炸弹。

三.项目时间管理理论指导我们在项目管理中怎样抓主要矛盾

以前进行项目管理时,是根据经验和每个人的工作特点,进行项目的分工的,软件项目基本是按照需求分析,概要设计,详细设计,代码编程,调试和测试,用户验收等几个主要过程来进行的。但将项目分工更加细化,每个小过程的时间估算是多少,整个项目可以最短用多少时间来完成,怎样合理安排人员,怎样抓项目中的关键环节等等,这些都没有进行过量化的分析和管理。

项目管理的实施最为直观的就是缩短项目时间。利用项目管理理论、方法,有许多缩短时间的例子。美国路易斯维化工厂检修时把检修流程精细分解,按导向图建立起控制关系。他们惊奇地发现,检修过程选择不同路径总时间是有差别的。通过反复压缩最长路径上的任务,将工期反复优化,最后只用78个小时就完成了通常需125小时完成的检修,节省时间38%。这就是至今项目管理工作者还在应用的著名的时间管理技术CPM,即“关键路径法”。

所以我们在软件的项目管理中,也要将时间控制理论运用进来,结合软件工程的实际,将任务分解的更加详细,并用网络图将整个工作过程建立起来,估算好每个阶段的历时,找出关键路径,并通过快速跟进方法,将关键路径的工期缩短,以提高工效。

四. 质量管理是项目成败的关键

我们在进行软件项目过程中,对软件的功能测试一直认为还是比较认真和严格的,每次测试都要有测试计划和用例的编写,然后才能进行测试;测试要有记录,并将记录整理成测试报告。

但通过此次培训后,感觉到我们的测试工作与质量管理的要求还差的远,有距离。质量控制要深入到每个与项目相关的人,要深入到项目的每个过程中,从一开始,就要树立质量第一的理念,每个过程都要进行质量的控制,而不是到最好测试时,才想到质量,才去衡量是否符合标准。

标准化设计,标准化管理是项目质量的保证。参加质量体系认证有助于企业提高项目的管理水平,有利于提高工程项目质量。CMM模型已得到广泛的认可和接受,CMMI沿用其模型的组织方式,有5个等级和18个要素。通过5个等级的认证和加强管理,企业对项目的管理将经过5个境界的提高:从混乱,到里程碑的检查,到定义清楚的管理体系和标准,到进行统计过程控制量化管理,到最后的优化过程、评价工作流程、进行工作过程的改进。

本人以前参加过为日本软件进行部分功能的设计和编程工作。日本的软件企业对一个项目的质量控制就做的比较细致,用我们的观念衡量简直是不可容忍。做一个模块的详细设计,要用他们提供的标准的图形语言进行描述,用标准的设计摸版进行说明;并在设计完成后组织相关人员对这个设计进行评价,有问题需要修改设计,然后在评价直到通过才能开时以此为设计文件,进行代码。代码写完后,不是见到结果就完事了,要将代码打印出来,相关人员对代码的整个实现过程进行评价,提出修改建议,代码修改后,需要再审,也是通过以后才能提交入代码库,进行代码的组装。

当时认为日本的方法太浪费时间和人力了,对技术人员个人的能力估计的太低,怎么能提高工作效率呐。可是软件质量问题的频繁出现,是我们不断的认识到,开始浪费一些时间和人力,控制好每个细节的质量,就是省去了许多时候为解决质量问题而进行的新的时间和人力的支出。省去了大量的软件后期的质量维护费用。总的来看是核算的。为提高项目的质量,降低成本,必须从项目的开始就要做好质量的控制工作。

五. 沟通管理中的一些策略的使用可以使项目更好的完成

做项目就需要与客户接触,就会出现一些正式和非正式的谈判。双方都会为自己方的利益而进行讨价还价。与客户之间搞好沟通,是项目进展是否顺利的一个条件。沟通中有许多的策略在平时的实际工作中可以使用,目的不是坑害别人,而是为了更好地完成项目,达到双方事先确定的目标,而采用的一些艺术手段而已。沟通的技巧包括:下达最终期限,使用吃惊方法,采用有限权利法,不露面的人,公平合理,战略延迟,双方一起论理,撤退,不合理,既成事实等。本人就是成功的采用了战略延迟法,将客户方的一笔项目质保金及时地催要了回来。

体会还有很多,总之通过这次学习自己对项目的管理又有了新的认识,我会将这些理论知识运用到实际工作中去的。以提高项目的管理水平,提高项目的质量,降低项目的成本,降低项目的风险,最终提高企业的效益。
[@more@]

时间: 2024-07-31 13:37:53

学习项目管理理论后的体会的相关文章

我学习使用java的一点体会

2002年初,因为公司的业务需要而学习java,并应用java开发项目.由于项目时间紧,没有充裕的时间系统学习java,对java的学习只能是项目需要用什么,就学什么,这种学习方法的上手快,但不扎实,在以后的工作中,因为java学的不扎实,吃了不少苦头.现在我学习应用java已经有一年半的时间,对java已经有了一定的体会,把自己的体会写出来,供网友分享. 以我个人的经验,学习java应分以下几个阶段: java的语法学习 面向对象观念的建立 java基本类库的学习 学习设计模式 应用设计模式

短训学习录(三)——体会到上导教班的意义

今天是第三天. 先补上昨天总结后的一件事.我下楼出去锻炼,发现门厅中有几位聊得正欢.我打了个招呼准备走,西交大的程老师却叫住我,说他们正在谈我.原来,有学校针对大学生的迷茫,要开一个环节,大概是开展和大一学生集体谈心.议论是否可以将<逆袭大学>当教材.我解释当作读物就可以了.另外一名年轻老师说下学期要当班主任,我告诉他这本书中可以帮助他发现有大学生在哪些方面有困扰.我观察过.收集过问题,而具体如何帮助学生克服,还得老师根据情况想办法. 大学生的迷茫,是很多老师关注的事,没有太好的什么办法,但老

java-maven项目install后 target不能随之更新

问题描述 maven项目install后 target不能随之更新 已经clean--install了N次了,还是不行,target根目录下的classes 内容可以跟随更新,但工程压缩包和加载到tomcat的项目都还是修改之前的状态 解决方案 首先,clean之后看看之前打成的包是否还在,如果在,则说明没有清除掉. 当target下的包被清除之后,再clean,如果有必要,可以project>>clean再清除一遍. 然后在重新build,在target下重新生成一个包(war.tar.gz

求解决-导入一个android项目运行后出现界面混乱怎么解决?

问题描述 导入一个android项目运行后出现界面混乱怎么解决? 解决方案 看着好像是在低分辨率的模拟器上用了只有高分辨率图片的项目,看看资源图片里面的资源有没有你这个模拟器对应的图片

关于myeclipse报错404-关于MyEclipse中Web新建项目运行后出现:404

问题描述 关于MyEclipse中Web新建项目运行后出现:404 各位大侠,本人刚学jsp,在自己的电脑上的MyEclipse里新建了个text项目,TOmcat运行没错,运行: http://localhost:8080正常出现界面,但是换成http://localhost:8080/text/index.jsp 就出现报错404,请各位大侠指教一下,谢谢! 解决方案 看看地址路径是不是写错了 解决方案二: http://bbs.csdn.net/topics/360127530 解决方案三

GitHub 上 57 款最流行的开源深度学习项目

GitHub 上 57 款最流行的开源深度学习项目 本文整理了 GitHub 上最流行的 57 款深度学习项目(按 stars 排名).最后更新:2016.08.09 1.TensorFlow 使用数据流图计算可扩展机器学习问题 TensorFlow 是谷歌的第二代机器学习系统,按照谷歌所说,在某些基准测试中,TensorFlow 的表现比第一代的 DistBelief 快了2倍. TensorFlow 内建深度学习的扩展支持,任何能够用计算流图形来表达的计算,都可以使用 TensorFlow.

jbpm-JBPM5 流程在项目重启后,流程走到一半的流程就无法再向下执行了?

问题描述 JBPM5 流程在项目重启后,流程走到一半的流程就无法再向下执行了? 有什么解决办法吗?如果不重启的话一切正常,另外 我想问下怎么通过流程实例的创建人查询流程实例呢? 解决方案 strong text 二位请提供商的发送啊谁跟谁观赏鸽是道嘎

数据-项目部署后mongodb过一段时间连接就很慢

问题描述 项目部署后mongodb过一段时间连接就很慢 如标题所为,项目完成,部署到服务器上面,一切访问正常.上午访问时还好好的. 下午第一次访问获取数据时很慢.然后又恢复正常了. 到了晚上第一次访问数据时很慢.然后又恢复正常了. 是否连接池的问题?没有人访问了,连接就关闭掉,但下次连接再启动. 有什么办法可以把这个问题解决.我访问一次后,无论任何时候去访问都那么快, 不用过一段时间后第一次访问很慢. 解决方案 应该是连接池等被关闭了,所以第一次要重新连接.你可以每次都重新连接来访问,而不用保持

app-Android项目运行后在虚拟器加载失败的问题

问题描述 Android项目运行后在虚拟器加载失败的问题 跟着<第一行代码>里的那个天气app敲的代码,敲了一部分,运行项目时在虚拟器中加载失败,代码应该没有什么问题,也没什么错误提示: [2015-08-11 10:41:35 - CoolWeather] Android Launch! [2015-08-11 10:41:35 - CoolWeather] adb is running normally. [2015-08-11 10:41:35 - CoolWeather] Perfor