《软件项目管理与案例分析 (8).ppt》由会员分享,可在线阅读,更多相关《软件项目管理与案例分析 (8).ppt(61页珍藏版)》请在三一办公上搜索。
1、第 4 章 软件项目团队管理,本章内容提要,4.1 软件团队管理概述,项目团队是软件项目中最重要的因素,成功的团队管理是软件项目顺利实施的保证。软件项目团队软件项目开发团队是通过将不同的个体组织在一起,形成一个具有团队精神的高效率队伍来进行软件项目的开发。软件项目团队包括所有的项目干系人。,软件团队管理概述,项目干系人 指参与项目和受项目活动影响的人,包括:项目发起人资助者供应商项目组成员协助人员客户使用者项目的反对人,软件团队管理概述,软件项目团队的特征是一个临时性的团队是跨职能的在软件项目不同阶段中团队成员具有不稳定性成员具有极大的流动性年轻化程度高软件项目团队属于高度集中的知识型团队员工
2、业绩难以量化考核软件项目团队非常注重自我高效的软件开发团队是建立在合理的开发流程及团队成员密切合作的基础之上,团队成员需共同迎接挑战、有效的计划、协调和管理各自的工作直至成功完成项目目标。,软件团队管理概述,软件项目团队管理美国项目管理协会(Project Management Institute,简称PMI)的项目管理知识体系指南(Project Management Body of Knowledge,简写为PMBOK)对项目人力资源管理的定义为:最有效地使用参与项目人员所需的各项过程。包括针对项目的各个利益相关方展开的有效规划、合理配置、积极开发、准确评估和适当激励等方面的管理工作。,软
3、件团队管理概述,软件项目团队管理的定义软件项目团队管理就是运用现代化的科学方法,对项目组织结构和项目全体参与人员进行管理,在项目团队中开展一系列科学规划、开发培训、合理调配、适当激励等方面的管理工作,使项目组织各方面人员的主观能动性得到充分发挥,以实现项目团队的目标。,软件团队管理概述,软件项目团队管理的任务软件项目团队管理主要包括:团队组织计划 指确定、记录与分派项目角色、职责,并对请示汇报关系进行识别、分配和归档。团队人员获取 指获得项目所需的并被指派到项目的人力资源(个人或集体)。团队建设 既包括提高利害关系者作为个人做出贡献的能力,也包括提高项目团队作为集体发挥作用的能力。个人的培养(
4、管理能力与技术水平)是团队建设的基础。团队的建设是项目实现其目标的关键。,软件团队管理概述,软件项目团队管理工作结构,软件团队管理概述,软件项目团队管理的重要性是软件项目管理中至关重要的组成部分是有效地发挥每个参与项目的人员作用的过程人员的组织管理是影响软件开发项目质量的决定性因素如果企业要想在软件开发项目上获得成功,他们就需要认识到项目人力资源管理的重要性,了解项目人力资源管理的知识体系及范畴,并将有效的管理理论和方法引入项目管理的过程中,充分发挥项目人员的积极性与创造力来实现企业的目标。,本章内容提要,4.2 软件项目组织计划编制,项目组织计划编制概述大多数软件项目中,组织计划是在最早的项
5、目阶段编制的。组织计划编制的结果应在整个项目过程中定期审查以保证其连续的适用性。如果初始的组织编制不再有效,应及时修正。,软件项目组织计划编制,项目组织计划编制的输入项目界面人员配备需求制约,组织计划编制的方法和技术样板人力资源惯例组织理论项目干系人分析,组织计划编制的输出组织结构图角色和责任分配人员配置管理计划支持细节,软件项目组织结构设计和项目角色与职责分配是项目组织计划编制的主要内容。,软件项目组织计划编制,项目团队的角色分类软件项目经理 软件企业最基层的管理人员,负责分配资源、确定优先级、协调与客户之间的沟通,尽量使项目团队一直集中于正确的目标。项目经理需要领导、决策、组织、控制和创新
6、方面的能力。系统分析员 主要从事需求获取和研究,是项目中业务与技术间的桥梁。系统分析员应该善于简化工作、善于协调,并且具有良好的人际沟通和书面沟通技巧,必须具备业务和技术领域知识,需要熟悉用于获取业务需求的工具,同时还要掌握引导客户描述出需求的方法。,软件项目组织计划编制,系统设计员根据软件需求说明书进行构架设计、数据库设计和详细设计,负责在整个项目中对技术活动和工件进行领导和协调。软件开发人员负责按照项目所采用的标准来进行单元开发与测试。软件开发人员需要能够迅速并准确地理解系统设计员的设计文档,并能快速地进行代码开发和单元测试。系统测试人员负责对测试进行计划、设计、实施和评估。,软件项目组织
7、计划编制,软件配置管理人员负责策划、协调和实施软件项目的正式配置管理活动的个人或小组。质量保证人员负责计划和实施项目质量保证活动的个人或小组,以确保软件开发活动遵循软件过程标准。,软件项目组织计划编制,项目角色与职责分配过程定义和分配工作的过程是在项目启动阶段开始运作并且是重复进行的。一旦项目组决定了采用的技术方法,他们将建立一个工作分解结构图(WBS)来定义可管理的工作要素。接着,他们指定活动定义,进一步确定WBS中各个活动所包含的工作,最后指派工作。,软件项目组织计划编制,定义和分配工作的一个框架,软件项目组织计划编制,定义和分配工作的过程包括四个部分确定项目要求;定义工作如何完成;把工作
8、分解为可管理的部分;制定工作职责。,软件项目组织计划编制,组织分解结构(OBS)OBS(组织分解结构)是一种特殊的组织结构图,它建立在一般组织结构图的基础上,根据公司各部门的具体单元或者子公司的组织单元将一般组织结构图再进行更详细地分解。项目经理通常使用OBS来分配工作任务。责任分配矩阵(RAM)RAM 就是将工作分解结构图(WBS)中的每一项工作指派给OBS中的执行人而形成的一个矩阵。,软件项目组织计划编制,项目组织结构设计项目组织结构定义项目的组织结构,是具体承担某一项目的全体职工为实现项目目标,在管理工作中进行分工协作,在职务范围、责任、权力方面所形成的结构体系。组织结构的本质是员工的分
9、工协作关系。设计组织结构的目的是为了实现项目的目标。所以,组织结构是实现项目目标的一种手段。组织结构的内涵是人们在职、责、权方面的结构体系。所以,组织结构又可简称为权责结构。,软件项目组织计划编制,项目组织结构体系主要包括:职能结构,即完成项目目标所需的各项业务工作及其比例和关系;层次结构,即各管理层次的构成,又称为组织的纵向结构;部门结构,即各管理部门的构成,又称为组织的横向结构;职权结构,即各层次、各部门在权力和责任方面的分工及相互关系。,软件项目组织计划编制,软件项目的基本组织结构及其比较在实际的项目管理中,主要有三种基本的项目组织形式直线性、职能性和矩阵形。直线性组织结构直线性组织最大
10、的优点在于可以防止多重指令和防止双头管理现象的出现,对于一个部门来说可以避免出现接收多个相互矛盾指令的情况。,软件项目组织计划编制,直线性组织结构,软件项目组织计划编制,职能性组织结构在职能组织结构中,工作部门的设置是按照专业职能和管理业务来划分的。职能组织结构有利于发挥职能部门的专业管理作用和专业管理专长,能适应生产技术发展和间接管理复杂化的特点。但如果多维指令产生冲突,则将使得下级部门无所适从,容易造成管理混乱。,软件项目组织计划编制,职能性组织结构,软件项目组织计划编制,直线型组织职能结构直线型组织职能结构在职能组织结构的基础上引入线性组织结构在命令源上单一和一致性的优点,可以防止组织中
11、出现矛盾的指令,同时,保持线性指挥的前提下,在各级领导部门下设置相应的职能部门,分别从事各项专门业务。,软件项目组织计划编制,矩阵形组织结构矩阵组织结构的主要特点是按两大类型设置工作部门。其命令源是非线性的,因而横向管理部门和纵向管理部门各自负责的工作和管理内容必须明确。,软件项目组织计划编制,三种组织结构的优缺点及比较线性组织结构特点反应迅速灵活;运营成本较低;指令唯一且责任明确;低正规化和高度集权度的结构会导致高层信息超载;随着规模的扩大制定决策变得非常缓慢;高层经理会陷入日常经营活动而无法做好长期性的资源配置工作。,软件项目组织计划编制,职能制组织形式特点在人员利用上有较大的弹性和适应性
12、;个别专家可被不同项目利用;部门中的专家可以被组织起来共享知识和经验;在个别人离开项目甚至上级组织时仍可以保持技术上的延续性;职能部门有自己的常规工作,这些工作常常优先于项目考虑,客户常被忽略;职能部门中没有一个人对项目全权负责,不能引起对项目的高度责任感;协调性差;不易形成对项目的系统化管理系统。,软件项目组织计划编制,矩阵制组织形式特点项目管理强调的重点是,项目经理个人负责管理项目以保证项目在规定费用之内按期完成;由于项目组织覆盖于职能部门之上,因此人力资源管理方便,且项目可充分利用职能部门的技术优势;对客户反应迅速;项目决策权力需要在项目组织和职能部门二者之间平衡从而带来一定困难;多个项
13、目之间优化项目目标是矩阵制的一个优点但也由此带来项目之间的资源竞争从而互相影响;由于项目人员至少有两个上级:项目经理和职能部门经理,容易造成上级命令的不统一,从而带来管理混乱。,本章内容提要,4.3 软件项目团队人员的获取,通过组织计划编制过程决定了软件项目所需的人员之后,需要做的就是确定如何在合适的时间获得这些人员。项目经理的确定确定与指派项目经理是项目启动阶段的一个重要工作。项目经理是项目组织的核心和项目团队的灵魂,对项目进行全面的管理。他的管理能力、经验水平、知识结构、个人魅力都对项目的成败起着关键的作用。项目经理的工作目标是负责项目保质保量按期交付。在项目决策过程中,项目经理不仅要面对
14、项目班子中有着各种知识背景和经历的项目管理人员,又要面对各利益相关方以及客户。,软件项目团队人员的获取,对项目经理的主要要求在本行业中某一技术领域中具有权威,技术过硬;任务分解能力强;注重对项目成员的激励和团队建设,能良好的协调项目小组成员的关系;具备较强的客户人际关系能力;具有很强的工作责任心,能够接受经常加班的要求;应更注重管理方面的贡献,胜过作为技术人员的贡献。,软件项目团队人员的获取,项目团队人员的确定在项目经理确定之后,项目经理就要与公司相关人员一起商讨如何通过招聘流程获取项目所需的人力资源,这种招聘过程可以是面向内部员工,也可以面向社会人力资源。对软件项目团队中成员的主要要求:具备
15、特定岗位所需的不同技能,这可能是设计、编码、测试、沟通等能力;适应需求和任务的变动;能够建立良好的人际关系,与小组中其他成员协作;能够接受加班的要求;认真负责、勤奋好学,积极主动,富于创新。,本章内容提要,4.4 软件团队建设,软件项目团队的组建软件项目团队的组建工作包括:团队成员的到位和项目组内部的组织结构、角色分配和任务分工。团队规划主要包括:人数要求技术能力要求业务能力要求各类人员的比例需要强调的是必须明确技术能力和业务能力的要求,以及各类人员是否需要通过培训以达到技术能力或业务能力的要求。,软件团队建设,微软项目开发团队举例,软件团队建设,软件开发项目组的主要成员是具有一定专业知识的技
16、术人员,为了更好的发挥这些人员的作用,项目的管理人员应注意以下几个原则:人尽其才公平原则透明原则给项目成员提供尽可能多的培训机会正确处理人力资源的风险问题,软件团队建设,控制人员风险以较低的代价进行及早的预防是降低人员风险的基本策略,具体来说可以从以下几个方面对人员风险进行控制:保证开发组中全职人员的比例,且项目核心部分的工作应该尽量由全职人员来担任,以减少兼职人员对项目组人员不稳定性的影响;建立良好的文档管理机制;加强项目组内技术交流;对于项目经理,可以从一开始就指派一个副经理在项目中协同项目经理管理项目开发工作,如果项目经理退出开发组,副经理可以很快接手。一般只建议在项目经理这样高度重要的
17、岗位采用这种冗余制的策略来预防人员风险,否则将会大大增加项目成本;为项目开发提供尽可能好的开发环境。,软件团队建设,团队合作团队意识 就是团队成员为了团队的整体利益和目标而相互合作、共同努力的意愿与作风。团队意识的内涵在团队与其成员的关系方面,团队意识表现在团队成员对团队的强烈归属感与一体感;在团队成员之间的关系上,团队意识表现为成员间的相互协作从而形成有机的整体;在成员对团队的事务上,团队意识表现为团队成员对团队事务的尽心尽力和全方位投入。,软件团队建设,团队合作的指导方针作为一名团队领导,我将:避免团队目标向政治问题妥协;向团队目标显示个人的承诺;不用太多优先级的事物冲淡团队的工作;公平,
18、公正的对待团队成员;愿意面对和解决与团队成员不良表现有关的问题;对来自员工的新思维和新信息采取开放的态度。,软件团队建设,作为一名团队成员,我将:展示对于个人角色和责任的真实理解;展示目标和以事实为基础的判断;和其他团队成员有效的合作;使团队目标优先于个人目标;展示投身于任何项目成功所需的努力的愿望;愿意分享信息、感受和产生适当的反馈;当其他成员需要时给与适当的帮助;展示对自己的高标准要求;支持团队的决策;展示直接面对重要问题的勇气和信念;以为团队的成功奋斗的方式体现带头作用;对别人的反馈做出积极的反映。,软件团队建设,团队成员激励激励是用人的艺术,它通过研究人的行为方式和需求心理来因势利导的
19、激发人的工作热情,改变人的行为表现,提高个人或组织绩效。软件项目团队中,激励是组织成员个人需要和项目需要的结合,一方面必须考察了解项目成员的需要,进行有针对性的激励;另一方面,必须符合项目发展的需要,进行有目的的激励。,软件团队建设,马斯洛把人的需求分为五个层次:生理需要(衣食住等)安全需要(稳定,身体安全,经济安全)社交需要(亲情,友情,归属感)尊重需要(地位和自我尊重、认可和感激)自我实现需要软件人员是追求自我实现需要的群体,学习机会、创造是对他们主要的激励因素。对于企业来讲,软件企业的成长需要员工不断学习,永远创新,并且进行充分的团队合作。,软件团队建设,团队的学习团队学习是提高团队绩效
20、,保持其先进性的重要举措。培训可以给公司带来巨大的经济效益,提高员工的自身能力,也是提高员工工作热情和效率的重要一环。学习型组织是指通过培养弥漫于整个组织的学习气氛、充分发挥员工的创造性思维能力而建立起来的一种有机的、高度柔性的、扁平的、符合人性的、能持续发展的组织。这种组织具有持续学习的能力,具有高于个人绩效总和的综合绩效。,软件团队建设,软件项目团队成员绩效评估管理绩效评估的根本目的是为了完善工作,为了员工更好地发展。按照目的划分,绩效评估的类型有:奖金分配评估提薪评估业绩评估人事评估职务评估晋升评估,软件团队建设,绩效评估遵循的原则公开性原则客观、公正原则及时反馈原则敏感性原则,又称区分
21、性原则可行性原则多层次、多渠道、全方位评价的原则绩效评估经常化、制度化的原则,本章内容提要,4.5 案例分析,微软团队模型可以描述为项目组都是小型的、多元化的团队项目组拥有严格的产品发布期限项目组成员分工协作、各司其职,相互依赖、相辅相成项目组成员在统一的项目指导思想指引下,对各自的工作目标负责每一个成员都参与项目的设计和讨论,并从过去的项目实践中吸取经验。项目组成员在同一地点办公,共同管理项目过程、制定相关决策。,案例分析,微软MSF团队角色和责任分配在MSF(微软解决方案框架)团队小组内部,每个角色通过对小组本身负责(也对他们各自所属的组织负责)实现该角色的质量目标。在这种意义上,每个角色
22、都对最终解决方案质量的一部分负责。小组成员之间共同承担职责(根据不同小组角色指派)。角色之间是相互依赖的,有以下两个原因:就其必要性而言,把每个角色的工作分隔开来是不可能的;出于优先的原因,如果每个角色都了解全局情况,那么小组的效率会更高。,案例分析,角色间相互依赖性的作用:相互的依赖性会鼓励小组成员对由他们负责的直接区域以外的工作做出评论和贡献,以确保小组所有的知识、能力和经验能够被应用到解决方案里。项目的成功属于所有的小组成员,他们共同分享一个成功的项目所带来的荣誉和回报,他们也同时希望,即使是一项不太成功的项目,也能做到全心投入并从中吸取教训以完善他们的专长。,案例分析,项目组中的职能划
23、分:产品管理角色程序管理角色开发角色测试角色用户体验角色发布管理角色,案例分析,微软MSF团队组建模型,案例分析,微软项目团队结构以“三驾马车”架构为核心的矩阵式组织结构。微软的项目团队由程序经理、开发组、测试组组成。项目开始,由程序经理到开发组、测试组选择相应的成员,组成开发团队,程序经理对团队成员没有领导权,所有成员的领导权还是在各个团队中。程序经理发现开发人员工作有问题的时候会提交问题到开发组进行解决,当在同一层面上问题无法进行达成一致的时候,可以将问题上升到产品单元总经理。,案例分析,微软团队模型的结构图,反映了微软项目团队组织中的层级关系、隶属关系、汇报关系,案例分析,微软VSTS工
24、具VSTS(Visual Studio Team System)是一套高生产力的、集成的、可扩展的生命周期开发工具,它扩展了Visual Studio产品线,增强了软件开发团队中的沟通与协作。利用Visual Studio Team System,开发团队能够在开发过程的早期以及在整个开发过程中确保更高的可预见性和更好的质量。使用 Visual Studio Team System,Microsoft可以帮助不同的软件开发小组开发更健壮的软件系统。,本章内容提要,4.6 本章小结,本章讲述了软件项目团队管理的概念、特点、过程、方法及其在软件项目管理中的作用与重要性。软件项目团队管理主要包括团队
25、组织计划、团队人员获取和团队建设三个部分。软件企业是知识密集型的技术企业,其有没有市场竞争力,能否快速发展,关键在于是否拥有一支具有高素质的软件人才队伍。本章最后介绍了微软团队管理的MSF团队角色、产品开发团队结构并给出了Windows 2000开发团队的案例和VSTS团队开发和管理工具。,本章内容提要,4.7 复习思考题,什么是软件项目团队?它与其他企业的人力资源有什么不同?什么是软件项目团队管理?它是怎样出现的?软件项目团队管理主要包括哪些个方面?简述如何进行软件项目的组织计划编制。在软件项目中,对项目经理有哪些要求?团队的学习对团队的建设有哪些作用?学习完微软项目团队管理案例后,你有哪些收获?,