软件项目管理-CH04-团队与人力资源课件_第1页
软件项目管理-CH04-团队与人力资源课件_第2页
软件项目管理-CH04-团队与人力资源课件_第3页
软件项目管理-CH04-团队与人力资源课件_第4页
软件项目管理-CH04-团队与人力资源课件_第5页
已阅读5页,还剩107页未读 继续免费阅读

下载本文档

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

文档简介

软件项目管理

SoftwareProjectManagement

(SPM)郭建东CH04软件项目团队与人力资源04.1人力资源相关理论04.2团队组织04.3小组软件开发过程04.4个体软件开发过程2软件项目管理CH04团队与人力资源郭建东304.1人力资源相关理论人力资源的重要性权力理论冲突理论激励理论领导理论软件项目管理CH04团队与人力资源郭建东4人力资源相关理论人力资源的重要性人力资源是企业最重要的资产人力供给不足和人力结构不良制约的IT的发展人力成本是IT项目成本的重要方面“拥有人就拥有一切”软件项目管理CH04团队与人力资源郭建东5人力资源相关理论权力理论权力的定义:影响他人的能力权力的来源正式权力:如,职位赋予奖励权力惩罚权力:很有力,但会对团队气氛造成破坏专家权力:由于具有专门知识或者技能而拥有较高的声望个人魅力软件项目管理CH04团队与人力资源郭建东6人力资源相关理论冲突理论冲突来源进度计划、项目优先级、资源、技术意见、执行情况的权衡、行政程序上的冲突、成本、个性冲突的正面作用有限冲突对项目是有利的不打不相识软件项目管理CH04团队与人力资源郭建东7人力资源相关理论冲突理论解决冲突的五种方法解决问题:是最好的方法妥协:双方各让一步,第二好方法调和:强调共性,弱化分歧撤退:一方撤出强制:利用权力解决问题,一方得利,一方失败软件项目管理CH04团队与人力资源郭建东8人力资源相关理论冲突理论妥协强制解决问题(面对问题)撤退调和面向决策尊重人际关系软件项目管理CH04团队与人力资源郭建东9人力资源相关理论激励理论马斯洛的需求层次理论海兹伯格的激励理论迈克格勒格尔的X-理论和Y-理论软件项目管理CH04团队与人力资源郭建东10马斯洛的需求层次理论生理社会尊重自我实现安全软件项目管理CH04团队与人力资源郭建东11海兹伯格的激励理论激励-保健理论激励因素保健因素满意中性不满意成就认可工作本身责任晋升监督公司政策工作条件工资同事关系上下级关系软件项目管理CH04团队与人力资源郭建东12迈克格勒格尔X理论该理论假定人们不喜欢他们的工作,尽力逃避工作缺乏进取心,没有创造力喜欢得到指导,不愿意承担责任,缺乏主动性,只能用低层次需求进行激励自我为中心,对组织需求反应冷淡,反对变革软件项目管理CH04团队与人力资源郭建东13迈克格勒格尔Y理论该理论认为大多数人如果给予适当的激励与支持性的工作氛围,会达到很好的绩效预期具有创造力、想象力、雄心与信心来实现组织目标能够自我约束、自我控制、渴望承担责任受高层次需求的激励软件项目管理CH04团队与人力资源郭建东14人力资源相关理论领导理论四分图理论领导的生命周期理论软件项目管理CH04团队与人力资源郭建东15人力资源相关理论四分图理论又称“俄亥俄理论”,由俄亥俄大学提出。它是管理方格理论的基础关心人关心事软件项目管理CH04团队与人力资源郭建东16人力资源相关理论领导的生命周期理论任务行为关系行为M1M2M3M4参与授权命令说服成熟比较不成熟比较成熟不成熟软件项目管理CH04团队与人力资源郭建东17人力资源相关理论领导的生命周期理论命令式对下属进行分工,包括做事方式以及细节要求等说服式领导同时提供指导和支持行为参与式领导和下属共同决策,重点在于提供支持授权式领导很少指点,由下属独立完成工作软件项目管理CH04团队与人力资源郭建东18人力资源管理的三个过程组织计划人员获取团队建设软件项目管理CH04团队与人力资源郭建东19组织计划软件项目管理CH04团队与人力资源郭建东20组织计划项目界面组织界面不同组织之间正式或非正式的报告关系技术界面不同技术领域之间正式或非正式的报告关系人员面项目中人员间正式或非正式的报告关系软件项目管理CH04团队与人力资源郭建东21组织计划人员需求分解工作范围,并为工作分配资源与时间成本预算的一个必要步骤“两头凑”需要的资源类型与可用的资源类型软件项目管理CH04团队与人力资源郭建东22组织计划角色分派矩阵项目干系人事项ABCDE单元测试SPAIR整体测试SPAIR系统测试SPAIR用户认可测试SPIARA:负责的P:参与者R:要求审查I:要求输入S:要求签字软件项目管理CH04团队与人力资源郭建东23组织计划软件项目管理CH04团队与人力资源郭建东24组织计划组织结构图软件项目管理CH04团队与人力资源郭建东25组织计划组织结构图OBS单位系统工程软件开发硬件开发测试工程质量保证配置管理综合后勤支持培训1.1.11.1.21.1.31.1.41.1.51.1.61.1.71.1.8RRPRPRPRPRPPRPPR:责任组织单元P:行动组织单元软件项目管理CH04团队与人力资源郭建东26人员获取软件项目管理CH04团队与人力资源郭建东27人员获取资源负荷软件项目管理CH04团队与人力资源郭建东28人员获取资源平衡资源平衡举例项目网络图中标出了活动A、B、C及其历时,活动A有3天时差,活动C有2天时差。假设活动A有2个员工,活动B有4个员工,活动C有2个员工。软件项目管理CH04团队与人力资源郭建东29人员获取2143A=2天B=5天C=3天

天数如果所有活动同一天开始的资源使用BAC8642012345

天数如果活动C延迟2天(活动C的总时差)开始的资源使用资源平衡举例ACBBCB8642012345软件项目管理CH04团队与人力资源郭建东3004.2团队建设软件项目管理CH04团队与人力资源郭建东31团队建设有效的团队喜欢一起工作通过完成自己所承担的任务,对完成目标作出承诺具有各种不同的专业知识和实际技能对项目高度忠诚形成一种团队精神和高的团队士气软件项目管理CH04团队与人力资源郭建东32团队建设无效的团队挫折、冲突和不良竞争没有效率的会议对项目经理缺乏信心和信任软件项目管理CH04团队与人力资源郭建东33

团队建设团队建设的措施奖励和表扬体系:项目绩效和奖励紧密结合集中办公指挥部培训和活动软件项目管理CH04团队与人力资源郭建东34团队建设团队建设的最佳实践我们的团队是最好的解决问题而不是责备人有效的会议小型团队组织活动,增进了解建设团队的同一性互相帮助,凝成一体认可每个人的成绩软件项目管理CH04团队与人力资源郭建东第二节团队组织第一节团队组织

面对不同的项目和项目实施中的不同的任务,需要有各种特质的组织,需要彼此合作和协力,才容易发挥功效。

组织的任务越来越多元化,越来越广泛,因此,组织的发展也必须配合它。组织感和人力资源的开发,是项目成功与否的重大因素。

项目管理中的团队组织形态,可以是比较固定的,也可以是具有弹性的,但必须与项目实施中的任务有关。分析如下的组织形态:一、团队的组织形态1)稳固vs.弹性2)多层次vs.扁平化3)集权制vs.授权制4)层次型vs.网络型5)强权型vs.民主型6)法治vs.人治1)稳固vs.弹性

对比较固定的组织任务,事情重复多,需要纪律约束,组织形态趋于固定。

当组织任务随市场竞争而需要很多创新,需要开拓新的机会,任务不断地在变化,此时,组织形态趋于弹性。

层次越多的组织,弹性越低;规章越多的组织,弹性也越低;企业文化不能普及,弹性越低;不愿学习、不接受新事物的组织,弹性越低。

传统的多层次组织,本身是比较固定的,从上到下,服从命令,行动统一,以纪律约束个人行为,保证实施效率。

当外部环境不断变化时,变化的情况和状态要及时传递到各任务组,需要沟通快,反馈快,形成共识快,避免层次多而产生信息失真,此时,扁平架构就有其优越性。2)多层次vs.扁平化

传统集权制在工业大批量生产过程中是有效的,随着项目方向和任务的多元、变化,转化为充分授权。3)集权制vs.授权制4)层次型vs.网络型

当项目的授权制推行后,项目的实施架构就形成了一种网络层次。

充分发挥项目组效率和授权制,可以使项目开发在共识的基础上得以有效的实施。5)强权型vs.民主型6)法治vs.人治

没有谁好谁坏的比较,混合模式也许是项目推进的一种方式。43ChiefProgrammerteamChiefProgrammer首席程序员AssistantchiefprogrammerTestteamAdministration行政Librarian资料管理SeniorProgrammers高级程序员JuniorProgrammers初级程序员软件项目管理CH04团队与人力资源郭建东44EgolessApproachholdseveryoneequallyresponsible.Criticismismadeoftheproductortheresult,notthepeopleallteammembersvoteonadecision.软件项目管理CH04团队与人力资源郭建东45Comparisonof

OrganizationalStructuresHighlyStructuredHighcertaintyRepetitionLargeprojectsLooselyStructuredUncertaintyNewTechniquesortechnologySmallprojectsCreative软件项目管理CH04团队与人力资源郭建东二、团队的组织策略2)组织应变之道使组织能够变化使人员能够独挡一面1)人力如何成长?如何聘才、募才、用才?如何育才、留才、荐才?

团队组织应当不断成长,吐故纳新。领导者要有意愿组织好团队。

3)保持组织成长性

建立有效的新陈代谢制度人才成长的导向(学习性)不断再造性(创业和创新)

形成网络型组织建立开放式沟通安排共同利益内部创业vs.为自己创业

4)建立组织再造性环境客观文化环境5)接力工程

问题1:不少软件企业和项目,因为关键人员的跳槽而陷于困境、甚至走下坡路。

e.g.“新兴”软件“新潮”企业问题2:人员流失,有能力的员工离职,不能接力实施项目工程。不信任员工(提防之心大于信任之心)不培养员工(掠夺性使用)不鼓励员工(责难多于支持)51三、团队人员的角色和特征abilitytoperformtheworkinterestintheworkexperiencewithsimilarapplications,tools,languages,techniques,anddevelopmentenvironmenttrainingabilitytocommunicateandtoshareresponsibilitywithothersmanagementskills软件项目管理CH04团队与人力资源郭建东52WorkStylesINTUITIVERATIONALINTROVERTEXTROVERTINTUITIVEINTROVERT(内向的):AsksothersAcknowledgesfeelingsINTUITIVEEXTROVERT(外向的):TellsothersAcknowledgesfeelingsRATIONALINTROVERT:AsksothersDecideslogicallyRATIONALEXTROVERT:TellsothersDecideslogically软件项目管理CH04团队与人力资源郭建东53CommunicationsTwopeople1lineofcommunicationThreepeopleFourpeopleFivepeople3linesofcommunication6linesofcommunication10linesofcommunication:npeople:n(n-1)/2linesofcommunication软件项目管理CH04团队与人力资源郭建东54四、项目经理的团队领导能力和风格领导能力通常是指在团队内部影响别人并以特殊方法实现团队目标的能力;领导者对权利和成就的要求比别人高,而且有较强的自我约束和自信心。领导能力是以权威和权力为基础;软件项目管理CH04团队与人力资源郭建东551.权威的来源职位权力强制权联络权合法权奖励权个人权力专家权信息权示范权软件项目管理CH04团队与人力资源郭建东562.领导风格命令型专制directiveautocrat独自决策,密切监控许可型专制permissiveautocrat独自决策,下属实现时有一定的自由度命令型民主directivedemocrat大家参与决策,密切监控许可型民主permissivedemocrat参与决策,下属实现时有一定的自由度软件项目管理CH04团队与人力资源郭建东57另外一种度量:面向任务task-oriented强调任务的执行和实现。E.G.相对缺乏经验的人员面向人员people-oriented强调对周围的人的关心程度。软件项目管理CH04团队与人力资源郭建东第三节小组软件开发过程(TSP)一、小组软件开发过程TSP1.概念(TeamSoftwareProcess--TSP)一个软件开发小组(人数约几十人)开发大型软件系统的工业化过程。一个多人团队的工程小组(项目组)2.项目(小)组一项工作(任务)交给一群工程师,是否自动产生一个小组?

项目小组不是偶然产生的出众的小组工作效率也不是偶然的新建的项目组中的最大问题:协同工作No!3.项目组架构

两人以上,为一个共同的目标和任务而工作,每个人都被分配(赋予)了一定的角色或职责,完成任务需要小组成员彼此间的配合。项目组

项目小组

项目小组

……

项目小组

组员组员组员组员组员组员…

4.协同工作项目经理必须明确个人如何作为一个小组成员在一起工作?个人角色如何分派?如何制定工作策略?每一件事有已知的方法可遵循能干的组员+计划好的过程=项目组的效率5.软件工程师的从业标准1)交流能力:与他人与外界的交流,口头与书面2)角色能力:作为开发小组中的一员进行工作的能力3)项目准备能力:能够胜任软件开发的前期工作,软件需求与设计4)敬业精神:热爱工作软件工程师的从业标准(续)5)应用能力:适应应用领域的知识与技能6)知识结构:计算基础与知识面,7)学习能力:学习新技术的能力二、小组软件开发过程原则

1.基本原则遵循软件开发规范,学习规范并身体力行明确协同工作因素,目标、工作环境、指示和领导(项目组长、导师)解决实际问题,获得实际经验讨论与交流,相互启发、沟通、促进2.小组软件开发过程的设计原则

1)提供一个框架:规划好的、经过评测的、可重复的框架

2)划分产品(任务)开发周期

3)建立标准的质量、效率评测机制

4)提供对小组和组员的评价(角色与小组评估)

5)建立开发纪律

6)提供协同工作的问题指导(咨询)3.软件工程计划的失败为什么工程会失败?协同工作的问题80%,技术等其他问题20%

人的问题是最重要的,是项目组无法妥协、处理压力问题的主要原因4.人际关系的问题关系:人际之间协同和理解支持本事:个人能否抓住机遇施展才能小组凝聚力:领导者个人魅力与能力,目标与希望用户关系:与用户关系有矛盾无决定:在无意义的方法论上争论不休5.项目组面临的问题领导合作参与拖延质量变化评价

1)领导:没有天生的领导,领导不力,学习领导技巧,获取领导经验

2)合作:组员间个人矛盾(私人、业务水平),地位,重视,小团体

3)参与:角色参与,参与程度和差别,努力与贡献,团队精神,“蚂蚁精神”与“品质牺牲”4)拖延:没有任务期限、目标和里程碑,无法跟踪进度,作出决定,缺乏自信

5)质量:软件(程序)开发质量低劣,不能自成模块,无法调试,不能集成联调

6)变化:随意增加功能,“好意恶果”,沟通与交流,认可原则

7)评价:有效与无效,互评(无价值、引发无效竞争、降低工作效率,影响合作)三、高效项目组的建立团体不是小组,小组是一个可以有效运作的集体。条件:要完成的任务必须清楚,人人知道,达成共识共同工作的框架,小组规模与架构必须确定,角色明朗,相互了解任务必须控制。What,Who,How,When,Done,Sequence,Workflow,Responsibility

高效项目组的建立(续)

1.凝聚力:小组成员之间的紧密联系,使单独成员结合成一个整体工作,在整体(身体)和情感上如同一人,分享共有的物质条件。提倡:自由交流、亲密工作、相互尊重、相互支持反对:各自保守、各行其实、唯己独尊、互不谦让

高效项目组的建立(续)

2.目标:具有挑战性,确定并可以度量。并得到每个成员的认可(游戏规则)如:详细的计划、质量指标、阶段目标、表现评价等目标必须代表一种严肃的挑战目标必须被跟踪目标必须被明显展示

高效项目组的建立(续)

3.反馈:计划跟踪与反馈,时时处于领先地位对成员表现了如指掌,对任务进度了如指掌.

区分个人表现,避免逃避现象早期发现问题,及时解决处理

高效项目组的建立(续)

4.交流:不要到出了问题和遇到麻烦才交流,“失败感觉”会将人推向绝望。

成员间交流,了解别人的工作情况是协调的基础。例会与专题讨论、简要报告、简要计划、最终文档的基础。

对外交流,与其他项目组和团体的交流,与管理者和导师(指导者)的交流。不了解小组所处的情况,任何人很难帮助他们四、项目组角色目标(RoleTarget)每个项目组成员必须被分配(赋予)一个特点角色,必须明确,个人的角色非常重要,但每个角色表现了小组整体行为的一个方面,角色的目标偶尔会发生冲突,因为每一个角色只是从一个角度来考虑小组行为。为达到整体目标,需要把各个角色目标整合成一个平稳有效的整体。项目组角色目标(续)项目组的整体目标具有最高优先权,整个小组齐心协力的工作来达到个人的角色和目标。

项目组角色目标(续)在项目组的角色目标中,分为小组目标和成员目标,分别指整体(或分项)目标和个人目标。即:

1.项目组目标

2.项目组成员目标项目组目标:

1)开发一个优质的软件产品

2)完成一项高效的、管理良好的工程

3)按时完成项目组成员目标:每个成员必须有具体的和可评估的目标

1)一个合作的、有效率的项目组成员

2)进行始终如一的、有纪律的个人工作

3)计划跟踪个人工作

4)生产出优质产品(软件和程序)

项目组角色目标(续)在项目组的角色中,根据项目开发的大小、复杂度,需要有如下责任人,分别负责不同的角色,并承担相应角色的工作检查。即:

1)项目组长

2)开发经理

3)计划经理

4)质量/生产经理

5)技术支持经理1)项目组长建立并维持一个有效的项目组分配任务,维持开发规范(手册)解决并处理项目成员冲突跟踪并管理小组进度召开协调会议开发产品(软件、程序)制定个人计划并跟踪生产优质产品遵循纪律和准则2)开发经理领导所有开发工作开发产品(软件、程序)制定个人计划并跟踪生产优质产品 遵循纪律和准则3)计划经理领导项目计划跟踪过程进度开发产品(软件、程序)制定个人计划并跟踪生产优质产品遵循纪律和准则4)质量/生产经理领导质量计划/跟踪提供小组开发过程支持维护小组开发标准、术语、文档等履行检查权利,处理记录发出质量警告,处理质量问题开发产品(软件、程序)制定个人计划并跟踪生产优质产品遵循纪律和准则5)技术支持经理获取必需的开发工具和技术支持进行系统配置管理提倡软件复用,建立复用模块库管理问题,跟踪风险维护系统文档(术语、版本、数据字典)开发产品(软件、程序)制定个人计划并跟踪生产优质产品遵循纪律和准则

五、开发计划

1.概念设计开发计划不是需求计划,需求计划是用户和顾客需要的,不是我能开发的,开发计划是项目组需要的。首先需要概念设计,这是一个计划工具,不一定是步骤和方法。2.概念设计需要了解基于自身知识,我应如何开发这个产品(软件)?开发这个产品所需的基本组成部分是什么?这些组成部分应当有什么样的功能?这些组成部分应当多大?估计假想产品的规模和所需时间3.确定配置管理计划配置管理:了解哪些(软件)模块是已经被确定、增强或者测试过的?哪些功能已经实现,哪些测试正在进行,哪些缺陷已被确定?

否则会浪费开发时间,不得不重复工作或重新工作。甚至到开发完成时才发现的问题,已经没有时间检查、处理和弥补了。4.配置管理计划的关键:管理每个(产品)元版本复件记录每一基线修改改变的记录:Who,When,What,Why,Affection个体改变记录:注释、评价、调用、参数传递、I/O最后形成数据字典

六、评估方法

1.项目组目标评估:

1)开发一个优质的软件产品编译之前发现缺陷,80%

系统测试中发现缺陷,0

已完成的工程(任务)所需求的功能:100%2)完成一项高效的、管理良好的工程产品大小(规模)估计误差:<20%

开发时间估计误差:<20%

项目文档数据:100%3)按时完成提前或推迟完成整个开发周期的天数:±4天2.项目组成员目标评估:1)作为一个合作的、有效率的项目组成员帮助和支持的角色互评的平均值:>3

所有贡献角色互评的平均值:>32)进行始终如一的、有纪律的个人工作个人开发数据,放入项目手册:100%

完成任务(阶段周期):100%3)计划跟踪个人工作项目阶段记录:100%

计划与任务记录:100%

项目组成员目标评估:4)生产出优质产品(软件和程序)编译前发现缺陷的平均数:>70%

编译中发现缺陷的密度:<10/Kloc

单元测试中的缺陷密度:<5/Kloc

单元测试后的缺陷密度:0第四节个体软件开发过程(PSP)第三节个体软件开发过程PSP

(PersonalSoftwareProcess)个人被要求在规定时间和进度下交付高质量的软件(程序)产品的过程。一个软件工程师的基本要求:制定自己的工作计划按照此计划进行工作尽最大努力生产出高质量的软件产品

一、软件工程师的个人技能软件工程师如果不明了个人软件开发过程,并经过训练,不得不在工作中逐步掌握软件开发技能,这不仅要付出很大的代价和时间,也会具有越来越大的风险

1)掌握并遵循软件开发规范

2)做高质量的工作1.掌握并遵循软件开发规范规范是指为掌握或提高某种技能的活动或训练。通常人们认为规范是繁琐的限制。规范实际上是一个学习与自我提高的框架,是改进个人技能的结构化框架和方法。软件开发不仅在于需要某些个人的技能,而在于掌握这些技能需要的时间,以及是否能够经常使用它们。2.做高质量的工作软件工程师承担的工作可能是大型系统中的一部分。无论开发的部分在系统中多么小或多么不重要,潜伏在其中的任何

温馨提示

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

评论

0/150

提交评论