People
与CMMI相对应的人员管理能力成熟度模型(PM-CMM),旨在"通过吸引、培养、激励、部署和聘用那些改进软件组织软件开发能力所需要的人才,提高软件组织承担复杂的应用问题的能力"
人员管理成熟度模型中针对软件人员定义了如下的关键实践区域:招募、选择、业绩管理、培训、报酬、个人事业发展、组织和工作设计以及团队精神或企业文件培养。在人员管理上达到较高成熟度的组织,更有可能完成有效的软件工程实践。
Product
在制定项目计划之前,应该首先确定产品的目标和范围(系统生命周期,关键子系统的特殊性能要求),考虑可选的解决方案,识别技术和管理上的限制(平台等),如果没有这些信息,就不可能进行合理的(准备)成本估算,也不可能进行有效的风险评估和适当的项目任务划分(如建立大概的子系统的划分),更不可能制定可管理的项目进度计划来给出意义明确的项目进展标志。对相关的业务领域比较精通的项目经理可以很好的完成这项任务。
软件开发者和客户必须一同定义产品的目标和范围,在很多情况下,这项活动作为系统工程或业务工程的一部分开始的,并一直持续到作为软件需求工程的第一步。当然确定产品的目标只是标出产品的总体目标,而不用考虑这些目标如何实现,而确定产品的范围,要标识出产品的主要的数据、功能和行为特性,而且要以量化的方式界定这些特性(这里的数据,功能和行为特性也就是对应需求分析中的信息域,功能域,行为域,功能也可以说是功能特征列表,并可能会考虑定义功能的优先级等,具体的这些都是需求分析的任务。)
在了解产品的目标和范围之后,就要开始考虑备选的解决方案了。虽然这一步并不讨论细节,但是可以使管理者和参与开发的人员根据给定的约束条件选择最佳的方案,同时,结束条件有:产品的交付期限,预算的限制,可用的人员,技术平台以及其它因素。
Process
每个项目都有其合适的软件过程,项目管理者要据实做出选择。它提供了一个框架,它为软件开发提供了综合计划。一小部分框架活动适用于所有的软件项目,不用考虑其规模和复杂性。一个过程框架又由一些框架活动构成,通过的过程框架:
沟通(与共利益者之间的大量的交流和协作,也就是需求获取以及其他相关动作)
策划(为后续的软件工程工作制定计划,描述了需要执行的技术任务,可能的风险,资源需求,工作产品,进度计划)
建模(包括分析模型和设计模型,分析模型是为了开发人员和客户的进一步沟通,如场景或用例的建立,设计 模型是偏向开发人员,如系统的架构等)
构建(编写代码和测试),部署(系统交付给用户并获取用户的反馈)。
另外过程框架还有一些普适性活动,它是通用性的,贯穿整个过程框架,它主要包括软件质量控制,软件配置管理,软件过程的度量和测量。
Product
软件项目必须是可控制的、有计划的,为了避免项目失败,软件项目经理和开发产品的工程师必须留意一些常见的警告信号,了解实施成功的项目管理的关键因素,还要建立计划和监控项目的一目了然的方法(如项目管理工具的使用)。
项目管理从4P或通用过程框架来看,可谓是面向对象和面向过程式的差别。
在过程模型中有很多的类型:传统的过程模型,迭代模型,统一过程,螺旋式,敏捷开发模型等,它们都是通用过程模型的变体,只不过是在框架活动上有不同的侧重,有些过程弱化了,有的是多次使用。
不同模型适合不同的项目。
阅读(1421) | 评论(0) | 转发(0) |