软件开发过程中的项目管理_第1页
软件开发过程中的项目管理_第2页
软件开发过程中的项目管理_第3页
软件开发过程中的项目管理_第4页
软件开发过程中的项目管理_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件开发过程中的项目管理课程名称:计算机前沿技术学 号:40908039姓 名:李飞翔日 期:2010-7-21 前言有规则的软件开发过程带来的只可能是无法预料的结果, 这是很 多项目管理者在亲身经历了一次次的项目失败之后, 逐渐领悟到的道 理。尽管有人依然怀念日渐远去的技术精英时代, 但随着软件项目的 规模不断加大,参与人员的增多,对规范性的要求愈加严格,告别个 人英雄主义的开发模式成为必然, 基于软件项目管理的、 工程化的软 件开发时代已经来临。 软件项目管理的作用一方面是提高质量, 降低 成本,而另一方面则是软件的工程化开发提供保障。依赖软件技术精英的时代已经一去不会返了。 很多项目管理

2、者在 实际开发中,经历了多次可怕的梦魇: 一次次的失败, 一次次的返工。 比如,不少项目管理者纷纷提到软件需求变更带来的可怕影响。 但是 正如完整的法律体制不能制止犯罪, 没有完整的法律体制犯罪会更加 猖獗一样, 频繁的软件变更固然可怕, 而没有一个完整的项目管理对 应机制,我们无法相像项目最终会是一个什么样子。 运用项目管理的 经验和方法是软件项目成功的前提和保证, 这已是今天的软件业内人 士的共识!2 软件开发中实行项目管理的意义项目管理就是在项目活动中运用一系列的知识、技能、工具和技 术,以满足或超过相关利益者对项目的要求, 实际上就是通过项目各 方干系人的合作,把各种资源应用于项目,以

3、实现项目的目标,满足 项目干系人的需求,其本质就是对时间、质量和成本的管理。随着软件开发的深入、各种技术的不断创新以及软件产业的形 成,人们越来越意识到软件过程管理的重要性, 管理学的思想逐渐融 入软件开发过程中,项目开发的管理日益受到重视。3 目前在软件项目管理中存在的误区现在大多数企业都认识到了在项目中进行管理的重要性, 但是仍 然有许多企业在实施项目管理的过程中存在着这样那样的误区, 主要 表现在:(1 ) 项目经理不够专业 在软件企业中,缺乏专业的项目管理人员来实施项目管理及担任 项目经理,通常被任命的项目经理主要是因为他们能够在技术上独当 一面,但是他们在管理方面特别是项目管理方面的

4、知识比较缺乏。(2)项目计划缺乏纲领性项目经理对总体计划、 阶段计划的作用认识不足, 因此制定总体 计划时比较随意, 不少事情没有仔细考虑: 阶段计划因工作忙等理由 经常拖延,造成计划与控制管理脱节, 无法进行有效的进度控制管理。(3)缺乏有效的管理意识 部分项目经理不能从总体上把握整个项目, 而是埋头于具体的技 术工作,造成项目组成人员之间忙的忙、闲的闲,计划不周、任务不 均、资源浪费。 有些项目经理没有很好的管理方法,不好安排的工作 只好自己做,使项目任务无法有效、合理地分配给相关成员,以达到 “负载均衡”。(4 ) 缺乏有效的沟通制度和机制 在项目中一些重要信息没有进行充分和有效的沟通。

5、在制定计 划、意见反馈、 情况通报、技术问题或成果等方面与相关人员的沟通 不足,造成各做各事、重复劳动,甚至造成不必要的损失:有些人没 有每天定时收邮件的习惯,以至于无法及时接收最新的信息。(5)风险管理意识淡泊 有些项目经理没有充分意识到风险管理的重要性, 对计划书中风 险管理的章节简单应付了事, 随便列出几个风险, 随便地写一些简单 的对策,对于后面的风险防范起不到什么指导作用。(6 )项目干系人的不确定性在范围识别阶段, 项目组对客户的整体组织结构、 有关人员及其 关系、工作职责等没有足够了解以至于无法得到完整需求或最终经权 威用户代表确认的需求:或者是多个用户代表各说各话、昨是今非,

6、但同时又要求项目尽早交付: 项目后期需求变化随意, 造成项目范围 的蔓延,进度的拖延,成本的扩大。(7)缺乏项目团队的合理分工 项目团队内部有时由于各阶段不同角色或同阶段不同角色之间 的责任分工不够清晰而造成工作互相推诿、 责任互相推卸的现象; 有 时各阶段不同角色或同阶段不同角色之间的责任分工比较清晰, 但是 各项目成员只顾完成自己那部分任务, 不愿意与他人协作。 这些现象 都将造成项目组内部资源的损耗,从而影响项目进展。4 解决软件项目管理中存在的误区的有效策略 要想解决上面描述的误区,归根到底还是要从管理学的角度入 手,即在软件项目的开发过程中加入过程管理的内容, 这样我们可以 在软件开

7、发中对各个过程的质量加以控制, 从而达到保证软件产品质 量的目的。为了有效提高管理水平,我们应该努力做到:(1)项目经理接受系统的项目管理知识培训是非常必要的,有 了专业领域的知识与实践, 再加上项目管理知识与实践和一般管理的 知识和经验的有机结合,必能大大提高项目经理的项目管理水平。(2)计划的制定需要在一定条件的限制和假设之下采用渐近明 细的方式进行不断完善。 提高项目经理的计划意识, 采用项目计划制 定相关知识、技术、工具,加强对开发计划、阶段计划的有效性进行 事前事后的评估。(3)加强项目管理方面的培训,并通过对考核指标的合理设定 和宣传引导项目经理更好地做好项目管理工作。 技术骨干在

8、担任项目 经理之前, 最好能经过系统的项目管理知识, 特别是其中的人力资源 管理、沟通管理的学习,并且在实际工作中不断提高自己的管理素质, 丰富项目管理经验,提高项目管理意识。(4)制定有效的沟通制度和沟通机制,提高沟通意识:采取多 种沟通方式, 提高沟通的有效性。 通过制度规定对由于未及时收取邮 件而造成损失的责任归属; 对于特别重要的内容要采用多种方式进行 有效沟通以确保传达到位,例如:除发送邮件外还要电话提醒、回执 等,重要的内容还要通过举行各种会议进行传达。(5)通过学习项目管理知识掌握风险识别、量化、对策研究、 反应控制的工具和方法, 掌握项目风险管理所必备的知识。 通过加强 对项目

9、规划中风险管理计划的审核提高项目组的风险管理意识。 总结 本行业项目中常见的风险及其对策作为风险管理计划中必要的风险 内容,并切实评估相应对策的有效性和可行性。(6)项目的目的就是实现项目干系人的需求和愿望。项目干系 人管理应当从项目的启动开始, 项目经理及其项目成员就要分清项目 干系人包含哪些人和组织, 通过沟通协调对他们施加影响, 驱动他们 对项目的支持,调查并明确他们的需求和愿望, 减小其对项目的阻力, 以确保项目获得成功。(7)项目经理应当对项目成员的责任进行合理的分配并清楚地 说明,同时应强调不同分工、不同环节的成员应当相互协作,共同完 善。实施有效的项目管理绝非易事, 对于软件企业

10、而言, 这不是一个 小的改变,而是一种变革,企业需要为此付出艰苦的努力,同时,成 熟有效的项目管理无疑将对企业起着至关重要的作用, 项目管理的水 平将是企业核心竞争力之一。5 案例分析 二年前,我单位用了半年时间为部队开发了一套作战指挥控制系 统,作为该项目的主要负责人,直接参与了项目管理、系统分析和编 程的部分工作, 根据该项目的开发进度及中间遇见的问题, 结合实际 情况讨论下在项目的管理过程主要注意的问题。5.1. 项目前期准备在进行任何一项较大的项目开发时 ,首先要进行项目的可行性分 析和研究 ,因为这些项目中的问题并不都有明显的解决办法 ,这样就很难在预定的时间、费用之内解决这些问题,

11、如果这些问题没有可以行得通的解决办法,贸然开始这些项目,就可能导致项目的失败,造成巨大的损失(包含经济损失和合作单位的信誉度的降低)。软件项目5. 1.1可行性分析软件项目可行性研究的目的是用最小的代价和最短的时间,确定该项目是否能够开发,值得开发,其实质是要进行一次简化的、抽象 的需求分析和设计过程,主要应从以下几个方面进行分析。5. 1.1.1技术可行性对要开发项目的功能,性能和限制条件进行分析,确定在现有 的资源条件下技术风险有多大,项目是否能够实现;现有的资源包括 硬件资源、软件资源、现有的技术人员和技术水平、已经有的工作基 础等,判断技术上是否可行,主要需要考虑以下几个问题:(1)

12、开发的风险;即在给定条件下 能否实现目标的功能和性能。(2) 资源的有效性;(3) 技术的发展性;由于需求未经过详细的调研, 存在模糊性和可能的变化, 开发人 员进行技术可行性评估时, 存在比较大的风险, 一旦出现估计的错误, 将可能导致灾难性的后果。5. 1.1.2 经济可行性进行软件开发项目的成本估算以及了解取得的效益估算, 确定该 项目是否值得开发,对于大多数项目,衡量经济可行性,应考虑一个 “底线”,同时应考虑本单位的长期经营策略, 潜在市场前景等因素。 5. 1.1.3 社会可行性应考虑项目是否存在任何侵权、责任等问题,考虑在现有的制 度、法规下是否行得通,包括合同、责任、法律等多种

13、因素。 5. 1.2 需求调研在项目前期工作中,需求调研是其中最重要的一个环节,今后 的许多工作都依赖于需求调研的结果, 需求调研的过程是渐进的, 在 可行性分析阶段,主要关注的是本项目规模、范围和重点的功能,在 项目进入正是开发流程以后, 我们需要更加全面、 准确地了解系统的 需求,不重视需求过程的项目队伍将自食其果, 需求工程中的缺陷将 给项目成功带来极大风险。 如 :无足够用户参与导致产品无法被接受; 用户需求的增加带来过度的耗费和降低产品的质量; 模棱两可的需求 说明可能导致时间的浪费和返工; 用户增加一些不必要的特性和开发 人员画蛇添足; 过分简略的需求说明以致遗漏某些关键需求; 忽

14、略某 类用户的需求将导致众多客户的不满; 不完善的需求说明使得项目计 划和跟踪无法准确进行。5. 1.3 项目团队的组织 建立项目团队是项目开发过程的开始,一切工作都是由项目团 队的成员完成的, 在整个项目的运行过程中, 需要很多不同的角色参 与到项目中, 完成不同阶段的任务。 所以在建立项目团队的过程中要 把握好人员角色的划分、特别人员管理与激励、监督等。整个人员的 管理是项目管理的关键,因为人是活的,而项目是死的,只要人员管 理妥当,项目开发一般是不会出什么问题的。5. 1.4 项目开发计划 软件项目的特征之一就是需求的不确定性和开发过程中存在的 技术风险, 按照通常的方法, 制定一个项目

15、的计划应该是先根据项目 的需求,进行详细的任务分解,从而找出实现的方法,估计出项目的 工作量,再根据项目资源的状况,制定出项目的计划。但是,再现实的工作中,项目的时间表往往是事先确定的,给开 发留出的时间也是事先定好的。 而我们能够利用的资源, 主要是开发 的人力资源,也被事先基本确定了,在被确定的这两个前提条件下, 我们如何根据项目的需求, 合理地安排人力和时间, 完成项目的开发, 这是现实中项目管理者经常遇到的问题; 如果事先确定的时间表是相 对比较合理的, 至少应该是我们够完成的, 我们制定的开发计划才是 有意义的,否则, 按照这个时间表制定出来的计划只能是失败的,在 这种情况下, 项目

16、管理者唯一可以做的是对用户的需求进行剪裁, 去 掉某些耗时长而且不太重要的功能,或是在开发中适当降低质量要 求,或许可以完成项目的进度。当然这必须最终要得到用户的认可。5.2. 项目开发过程管理5.2.1 详细设计 在详细设计阶段,由于任务已经详细地分解,总体地解决方案 和技术框架已经确立, 详细设计地目的就主要是针对某个特定地模块 或对象,根据需求、技术框架的要求和模块间的接口,描述出我们实 现功能的方法,主要内容包括:(1)内部算法描述;(2)内部数据组织;(3)相关接口详细设计。5.2.2 设计评审 在设计完成后,必须安排设计评审以保证设计的质量,通常设计评审以小组内部的评审会的方式进行

17、, 参与人员包含项目小组内部 的人员及其负责人, 由开发者介绍其设计思路、 关键算法的突破及模 块功能的划分等, 评审人员要相对了解该项目的背景并对其设计质量 进行评审。评审的内容主要包括:(1)关键算法的可行性;(2)接口是否符合概要设计的要求;(3)技术清晰度是否符合设计标准;(4)文档的完备性。评审通过的设计, 才能够开始编码工作, 评审的结果应记录到开 发文档当中。5.2.3 编码在编码阶段,主要需要在编码工作结束后,进行代码审核,这 项工作非常重要主要应该由项目小组的技术负责人完成, 审核的目的 并不是为了检验代码的正确性, 而是需要对编码是否按照规范进行审 核。主要内容包括:(1)

18、变量、包、方法等的命名是否符合规则;(2)注释是否填写完整,是否符合规范;(3)代码的可读性、编写风格是否符合规范;(4)是否有明显的造成系统运行低效率的处理方法;(5)公共变量的定义和使用。5.2.4 调试编码工作完成以后, 通常需要开发人员自己进行单元测试, 有些 部分需要编写相应的测试程序及用例。 应该避免发生这类的情况, 有 些开发人员认为自己不应该进行测试工作, 在编写完代码以后, 只要 编译成功,就直接提交成果,将测试工作完全交给测试人员去做,这 样做不仅仅给测试人员增加了许多的工作量, 同时增加了许多因为交 流产生的时间的拖延, 造成进度的延迟, 管理人员应该杜绝程序员的 这样的思想,同时在管理中予以考虑,可以将提交成果产生的 bug 数量作为考核程序员业绩的标准之一。5.3. 项目后期管理5.3.1 项目的验收项目验收, 是整个项目生命周期中最后一个环节。 一般来说,软 件项目的验收一般来说有 2 个阶段,第一个阶段是验收测试, 当验收 测试成功结束后,一般会有一个阶段的试运行阶段,只有当 2 个阶 段全部结束后,整个项目才算真正结束,可以收回全部的工程款项, 该软件也进入其运行维护期。 验收测试应按照

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论