项目管理概念

来源:互联网 发布:vpn 软件合法 编辑:程序博客网 时间:2024/05/16 10:35

  起始

构造计算机软件是一项复杂的任务,尤其是当它涉及和多人员长期共同工作时时。这就是项目管理的重要性。软件从初始的概念演化为可运行的实现的过程中,项目管理涉及对人员、过程和所发生事件的策划和监控。

  管理涉及的范围

明确4P概念:有效地软件项目管理集中在4个P上,即People、Product、Process、Project,他们的顺序不是任意的。必须将人员组织起来以有效的完成软件工作,如果任何管理者忘记了软件工程是人的智力密集的劳动,他就永远不可能在项目管理上取得成功。必须和客户及其利益相关者进行很好的沟通,以便了解产品的范围和需求,任何管理者如果没在项目开发早期没有鼓励利益性关者之间的广泛交流,他就冒着为错误问题够早了“良好的”解决方案的风险。必须选择适合人员和产品的过程,对过程不满意的管理者可能冒着把有效地技术方法和工具插入到真空中的危险。必须估算完成工作任务的工作量和工作时间,从而制定项目计划,没有建立可靠地项目计划就开始工作的管理者将危及产品的成功。在项目管理活动开始时,首先是制定项目计划。该计划定义了将要进行的过程和任务,安排工作人员,确定评估风险、控制变更和评价质量的机制。

  人员

  人员能力成熟度模型(People-CMM),它针对软件人员定义了一下关键实践域:人员配备、沟通与协调、工作环境、业绩管理、培训、报酬、能力素质分析与开发、个人事业发展、工作组发展、团队精神或企业文化等。People-CMM成熟度达到较高水品的组织,更有可能实现有效地软件项目管理实践。

  利益相关者:高级管理者、项目管理者、开发人员、客户、最终用户。

  团队负责人;具有领导能力的MOI模型(Motivation、Organization、Ideas or Innovation(创新))。

  软件团队:对于每个项目小组的目标就是帮助建立一支由凝聚力的团队。

  协调和沟通的问题:建立正式的或非正式的交流机制。团队成员在遇到问题,交流意见,出现问题时请求帮助,而且在日常工作中彼此之间相互影响。

产品

  在制定项目计划之前,应该首先确定产品的目标和范围,考虑可选的解决方案,识别技术和管理上的限制。如果没有这些信息,就不可能进行合理的、精确地成本估算,也不可能进行有效的风险评估和适当的项目任务划分,更不可能指定可管理的项目进度计划来给出意义名确的项目进展标志。作为软件开发者,必须与其他利益相关者一同定义产品额目标和范围。在很多情况下,这项活动是作为系统工程或业务过程工程的一部分开始的,并一直持续到作为软件需求工程的第一步(需求分析)。确定产品的目标,仅仅是识别产品的整体目标,而不用考虑如何实现这些目标。确定产品的范围,是要标识出产品的主要数据、功能和行为特性,而且更重要的是,应以量化的方式界定这些特性。

  软件范围:软件项目范围在管理层和技术层都必须是无歧义的和可理解的。对软件范围的描述必须是界定的。也就是说,要明确给出定量的数据(例如,并发用户数、目标环境、允许的最大响应时间);说明约束(或)限制(例如,产品的成本要求会限制内存的大小),并描述其他的调节因素(例如,期望的算法能被很好的理解)                                                                                                                                                                                                                                                                                                                                                                                                                                                    

  过程

  当开发产品或构建系统时,遵循一系列可预测的步骤(及路线图)是非常重要的,它有助于及时交付高质量的产品。软件开发过程所遵循的路线图就成为“软件过程”。软件过程提供了一系列的过程框架,在该过程框架下可以制定软件开发的综合计划。框架包哈了框架活动和普适性活动。普适性活动独立于任何一个框架活动,且贯穿于整个过程之中。

  确定所需的过程模型

  项目

  我们选择使用项目管理的手段管理项目的主要理由是:这是我们知道的管理复杂事物的唯一方法。为了避免项目失败,项目经理和软件工程师必须避免一些常见的警告信号。例如:软件人员不了解客户的需要、产品范围定义很糟糕、没有跟好的管理变更、所选的技术发生了变化、业务需求发生了变化(或未能很好的定义)、最后期限不切实际、客户抵制、失去赞助(或从来没有真正的得到过帮助)、项目团队缺乏具有合适技能的人员、管理者(和开发人员)没有很厚的利用已学到的最佳实践和经验。那又该如何解决这些问题了?

在讨论特别困难的项目时,疲惫不堪的从业人员常常提及90-90规则:系统前面90%的任务会花费所分配总工作量和时间的90%,系统最后10%的任务也会花费所分配工作量和时间的90%。导致该90-90规则的根源就在上面类出的信号中。下面提出了解决方法:

  1. 在正确的基础上开始工作。通过以下两点来实现:首先努力(非常努力)地理解要解决的问题,然后为每个参与项目的人员设置相识的目标和期望,这一点可通过组建合适的开发团队,并给与团队工作时所需的自由、权力和技术。
  2. 保持动力。很多项目启动时都有一个良好的开端,但是后来慢慢地开始瓦解。为了维持动力,项目经理必须采取激励措施使人员变动量保持绝对最小,团队应该重视安所完成的每项任务的质量,而高层管理应该尽可能不干涉团队的工作。
  3. 跟踪进展。对于软件项目而言,当工作产品(如模型、源代码、测试用例集)正在产生或被认可(通过技术评审)时,跟踪项目进展要作为质量保证活动的一部分。此外,可以收集软件过程和项目测量数据,然后对照软件开发组织的平均数据来评估项目的进展。
  4. 做出英明的决策。总体上,项目经理和软件团队的决策应该“保持项目的简单性”。使用现有的模式,采用标准方法来避免定制接口。
  5. 进行事后分析。建立统一的机制,从每个项目中获取柯学习的经验。

原创粉丝点击