软件工程项目管理.ppt
《软件工程项目管理.ppt》由会员分享,可在线阅读,更多相关《软件工程项目管理.ppt(33页珍藏版)》请在课桌文档上搜索。
1、第12章 软件工程项目管理基础,12.1 项目管理的范围 12.2 人员角色管理12.3 问题管理12.4 过程管理12.5 小结,12.1 项目管理的范围,有效的项目管理集中在三个P上,即人员(People)、问题(Problem)和过程(Process)。这三者的顺序不能够任意变更。软件工程是人的智力密集型劳动,忽略了对人的管理,工程必然失败;如果在项目早期没有和用户进行有效的通信交流,没有界定出清晰的需求,那么即使设计出不错的解决方案,也往往针对的是错误的目标;如果对于过程环节疏于管理,即使采用了良好的技术方法和先进的工具,也会因过程的混乱失控而遭遇失败。,人员的过程能力、技术水平和协同
2、工作能力是保证软件项目成功的关键因素。培养有创造力的、技术水平高的软件人员是从20世纪60年代起就开始讨论的话题。近年来对于优秀软件人才的要求中又增加了针对个人软件过程能力(PSP)方面的要素。考虑到人的因素非常重要,SEI还专门开发了一个人员管理能力成熟度模型PM-CMM。专门用以指导软件开发组织改进人力资源管理工作。人员管理能力成熟度模型PM-CMM共分为五个成熟度等级。它为软件人员管理定义了如下的关键过程域:招聘、选择、绩效管理、培训、报酬、专业发展、组织和工作计划以及团队精神/企业文化培养。在PM-CMM方面的成熟度等级越高的组织,更有可能增强开发团队的能力,实现有效的软件工程开发。,
3、问题管理主要解决“软件定义”和任务分解方面的问题,明晰针对什么对象、进行什么处理、达到什么目标、分配给什么角色去完成。任何一个软件工程项目都应当首先界定项目的目标和范围。这一活动是作为系统工程活动的一部分开始的,持续到软件需求分析阶段。这一活动的目的是说明该项目的总体目标,但并不涉及到如何实现;范围说明给出与问题相关的主要数据、功能和行为,并且以量化的形式约束这些特性。目标和范围确定之后,要开始考虑软件的解决方案,并据此确定项目的约束条件。,软件过程提供了一个活动框架的集合,这些框架适合于任何一个软件项目。根据该框架可以建立一个综合的开发计划。通过定义框架中不同的具体任务,能够使描述通用过程的
4、框架“个性化”,从而适合于不同软件项目的特征和项目组的需求。每一个框架(任务集合)都由任务、里程碑、交付的工作产品和质量控制点组成。对软件过程进行管理,使之按照严格的规则有效地进行裁剪,以适应具体的工程特征;对实际进程进行度量都属于过程管理的任务。,12.2 人员角色管理,12.2.1 项目参与者(1)高级管理者:负责确定商业问题,这些问题往往对项目会产生很大影响。所有涉及外部组织和个人的承诺只能由高级管理者验证确定。(2)项目(技术)管理者:对项目的进展负责。包括制定项目计划;组织、控制并激励软件开发人员展开工作;负责和用户代表交流,获取项目的需求与约束条件;和用户代表协商,进行变更控制;协
5、调内部软件相关组的工作;安排必要的培训。,(3)开发人员:负责开发一个产品或者应用软件所需的各类专门技术人员。根据工作性质的不同,又可以划分成不同的角色,比如系统分析员、系统设计师、程序员、测试工程师等等。按照项目开发计划所赋予的任务和角色的岗位职责开展工作。(4)客户代表:负责说明待开发软件需求的人员。同时和项目管理者协作控制项目开发过程中的各类变更。,(5)最终用户:一旦软件发布成为产品,最终用户是直接与软件进行交互的人,在使用过程中还会提供必要的反馈信息。在验收测试阶段,最终用户起着非常重要的作用。每一个软件项目都应当有上述人员参加,为了提高人员工作效率,项目负责人必须最大限度地发挥每个
6、人的技术和能力。为了能够更好地发挥各类专业人员的作用,软件开发组织应当根据实际情况建立本组织的岗位责任制度。划定岗位,明确职责,力争做到人定其岗、岗定其责。同时开发组织、项目组还应当保证每种角色在承担自己的任务时都接受过必要的、足够的培训,保证具有履行相应岗位职责的能力。,12.2.2 项目负责人 项目负责人是项目管理工作的策划者和主要执行者之一。遴选项目负责人时必须注意,管理人员的管理技能水平是首要的条件。一个优秀的软件工程师并不见得就能够很好地承担项目负责人的角色。项目管理的核心是人员的管理,一个优秀的项目管理人必须善于利用激励机制鼓励技术人员发挥其最大能力;必须具有组织能力,能够驾驭或者
7、创新过程,使得最初的概念能够逐渐转化成最终的产品;他也应当鼓励人们在工作中发挥创造性。,项目负责人还应当集中注意力理解待解决的问题;管理新想法、新思路的交流;通过语言和行为在整个项目组中贯彻质量至上的意识。一个有效的软件项目负责人应当能够准确地诊断出技术的和管理的问题,把以往的成功经验应用到新环境下;策划系统的解决方案并激励开发人员实现方案。如果最初的方案遭遇挫折,项目负责人应当灵活地改进方案。,项目负责人必须掌管整个项目,在必要时对项目进程进行调控,必须保证优秀的技术人员能够最充分地发挥技术特长,奖励有主动性和做出成绩的人员,并鼓励在项目约束范围内进行创新。项目负责人应当具有较强的语言交流能
8、力,以期充分理解下属的意见并与之交流。良好的心态对于一个优秀的项目负责人来说是不可或缺的。当项目出现困难时,项目负责人必须能够承受较大的压力,保持对项目的控制能力。,项目管理者的目标都是尽力建立并维持一个具有“凝聚力”的小组。一个具有凝聚力的小组是一组团结紧密的人,他们的整体力量大于个体力量的总和。具有凝聚力的小组成员比起一般的小组来说具有更高的生产率和更大的动力。软件企业的人员流动率远高于传统企业,管理者更应当认真做好人员管理工作,提高小组的凝聚力、稳定开发队伍。,12.2.3 软件项目组的组织结构 软件项目组的组织结构取决于整个软件开发组织的管理风格、问题的难易程度和人员的数量及技术水平。
9、策划常见的小组组织形式包括:(1)民主分权式(DD,Democratic Decentralized)。这种软件工程小组没有固定的负责人,任务协调者是短期指定的,之后就由协调不同任务的人取代。通过小组讨论来完成问题定义和解决方案制定,小组成员之间的通信是平行的。DD小组结构最适于解决模块化程度比较低的问题。它适合于生命周期较长的小组。能够产生较高的士气和工作满意度。,(2)受控分权式(CD,Controlled Decentralized)。这种软件工程小组有一个固定的负责人,他负责协调特定的任务并负责和负责子任务的二级负责人交流。问题的解决过程仍然是一个群体活动,但是解决方案的实现是由小组负
10、责人在二级组之间进行划分的。子小组和个人之间的通信是平行的,也存在着上下级的通信。CD结构模式适用于项目有较高的模块化特性时。当质量保证活动比较有效时,CD模式能够产生比DD模式更少的缺陷。,(3)受控集权式(CC,Controlled Centralized)。适用于较大项目。顶层问题的解决和内部小组协调是小组负责人管理的。负责人和小组成员之间的通信是上下级形式的。CC结构模式适用于项目有较高的模块化特性的情况。当质量保证活动比较有效时,CC模式能够产生比DD模式更少的缺陷。历史上风行一时的“主程序员组”就属于CC模式。选择项目小组结构方式时,应当充分考虑到项目各方面的具体特征,尽量选择适合
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 项目 管理
链接地址:https://www.desk33.com/p-235751.html