8.1 软件项目团队管理概述
8.2 项目组织的规划
8.3 团队人员获取
8.4 团队建设和日常管理
8.5 沟通管理
8.6 软件专业人员的非技术素养
软件项目团队是由软件项目的不同干系人所组成的,具有共同目标、紧密协作的集体。
临时性;
团队成员的不稳定性;
年轻化程度较高;
是高度集中的知识型团队;
成员的业绩不易量化考核。
软件项目团队管理就是采用科学的方法,对项目组织结构和项目全体参与人员进行管理,在项目团队中开展一系列科学规划、开发培训、合理调配、适当激励等方面的管理工作,使项目组织各方面的主观能动性得到充分发挥,同时促进高效的团队协作,以利于实现项目的目标。
人既是最大的成本又是最重要的资源
确定项目中的角色、职责和组织结构。
获得项目所需的人力资源(个人或集体)。
提高团队成员个人为项目做出贡献的能力;提高团队作为集体发挥作用的能力。
跟踪团队成员工作绩效,解决问题和冲突,协调变更事宜。
对在项目干系人之间传递项目信息的内容、方法和过程进行综合管理。保证项目干系人及时得到所需的项目信息。
“Linus法则”:只要眼球足够多,所有臭虫都好捉。
—— Eric Steven Raymond
《大教堂与市集》
类比:蚁群觅食。众多蚂蚁各自分散地寻找食物,找到后用一种非常高效的、可扩展的通信机制互相通信。
蚁群觅食
通过项目组织的规划,确定项目团队的角色,明确汇报关系(组织结构),分配人员职责,制定人员配置管理计划。
8.2.1 项目团队角色
8.2.2 项目的组织结构
8.2.3 项目人员职责分配
8.2.4 人员配置管理计划
获取和定义用户需求,市场分析和研究,产品推销和公共关系。
对项目所需的设备、材料、软件工具等资源进行管理,保证项目能够平稳地进展。
内部IT 50
市场人员 100
文档人员 100
本地化人员 110
培训人员 115
程序经理 450
技术支持人员 600
技术传播人员 1120
开发人员 900
测试人员 1800
合计 5345
程序经理 2
开发组长 1
开发人员 7
测试组长 1
测试人员 13
合计 24
制定正确计划的前提是理解用户需求,理解项目目标。有全局观和系统观。
组建项目团队,为项目团队成员分配任务,有效调动每个人的能力。
监控项目的运行,积极预防问题的发生,纠正偏差。
项目团队的组织、沟通、协调,充分发挥每个成员的能力和集体智慧。
项目团队与外部组织的沟通和协调。
很好的口才和写作能力。
理解产品需求,市场策略,盈利模式、企业战略。
责任心、热情、抗压能力等。
组织结构的本质是团队成员的分工协作关系;
组织结构的内涵是人们在职、责、权方面的结构体系,所以组织结构又称为权责结构。
职能结构:为完成项目目标所需的各项业务工作及其比例和关系。
层次结构:管理层次(上下级)的构成,又称为组织的纵向结构。
部门结构:各管理部门的构成,又称为组织的横向结构。
职权结构:各层次、各部门在权力和责任方面的分工及相互关系。
本小节的主要内容:
1.项目组织结构的类型
2.项目组织结构图
3.项目小组结构
4.有关项目组织人员规模的讨论
职能型
项目型
矩阵型
如何才能激励成员为项目工作,并保证对项目忠诚?
当项目指令和规则与部门政策相冲突,尤其是当成员感到自己的职能部门上司可能会对自己不满时,如何说服他按项目的要求做?
1.民主分散型(Democratic Decentralized, DD)。小组没有固定的领导,而是根据不同的任务来指定临时的任务协调员。决策由小组通过协商来共同制定,小组成员之间的通信是水平的。
2.控制集中型(Controlled Centralized, CC)。顶层的问题解决和小组内部协调由小组领导负责。小组领导和小组成员之间的交流是垂直的。
3.控制分散型(Controlled Decentralized, CD)。小组有一个固定的领导,来协调不同的任务。还设有若干二级管理者,负责子任务的完成。问题的解决仍然是集体行为,但解决方案的实现由小组领导划分给不同的成员或成员组。个人和成员组内部的交流是水平的,同时也存在沿着控制层次的垂直交流方式。
需解决问题的难度。
软件的规模(用代码行或功能点度量)。
小组存在的时间(小组生命周期)。
问题可被分解和模块化的程度。
对系统的质量和可靠性的要求。
系统交付日期的紧迫性。
项目所需要的交流的频繁程度。
8.2.1 项目团队角色
8.2.2 项目的组织结构
8.2.3 项目人员职责分配
8.2.4 人员配置管理计划
根据项目团队的角色和职责、项目组织结构图和人员配置管理计划,获取完成项目工作所需的人力资源。
本节内容提要:
8.3.1 获取团队人员的方法
8.3.2 虚拟团队
在某些情况下,一些成员已预先分派到项目中工作,例如在竞标过程中承诺分配特定人员到项目中,或项目的成功依赖于特定人员的专有技能。
大多数人员的获取需要经过谈判。例如项目经理需要与职能部门经理或其他部门负责人谈判,以获得所需要的人员。
在谈判时,项目的影响力会起作用。
当企业缺少完成项目所需的内部人才时,就需要从外部获得所需服务,包括招聘和分包。
在获取和任用项目团队人员时,除考虑人员的专业技能外,最好能结合人员的性格特征和兴趣,做到“知人善任”。
人力资源可利用情况记录了项目团队成员在项目上可工作的时间。明确了项目团队成员在时间安排上的冲突,包括休假时间和承诺给其他项目的时间。
实际的项目人员分配很少能够完全符合最初的人员配置管理计划,因此需要对其进行变更。
岗前培训:对团队成员进行一些常识性的岗位知识和项目管理知识的培训;
岗上培训:主要根据开发人员的工作特点,针对操作中可能出现的实际问题,进行特别的培训,多偏重于专门技术和特殊技能的培训。
激励要因人而异。常见的激励方式有:
(1)企业对员工实行长期或终身雇用制度,使员工与企业同甘苦共命运,并对员工实行定期考核和逐步提级晋升制度,使员工积极关心企业的利益和企业的发展。
(2)企业经营者不单要让员工完成生产任务,而且要注意员工培训,使他们成为多专多能的人才。
(3)管理过程既要运用统计报表、数据信息等鲜明的控制手段,而且要注意对人的经验和潜在能力进行诱导。
(4)企业决策采取集体研究和个人负责的方式,由员工提出建议,集思广益,由领导者做出决策并承担责任。
(5)上下级关系融洽,管理者对职工要处处关心,让职工多参与管理。
(1)建立业绩考核体系。
(2)将业绩期望告知员工。
(3)测量实际业绩。
(4)比较实际业绩和考核标准。
(5)进行矫正。
为什么会产生冲突?
该怎样处理冲突?
能否预测和防范冲突?
1.激励文化
薪水是企业管人的一个有效硬件,直接影响到员工的工作情绪。 IBM的薪资管理非常独特和有效,能通过薪资管理达到奖励进步、督促平庸的效果,IBM将这种管理已经发展成为了高绩效文化。
2.薪资与职务重要性、难度相称
每年年初,IBM的员工特别关心自己的工资卡,自己去年工作干的好坏可以通过工资涨幅体现得有零有整。IBM的薪金构成很复杂,但里面不会有学历工资和工龄工资。
IBM员工的薪金和其岗位、职务重要性、工作难度、工作表现和工作业绩有直接关系,工作时间长短和学历高低与薪金没有必然联系。在IBM,你的学历是一块很好的敲门砖,但绝不会是你获得更好待遇的凭证。
在IBM,每一个员工工资的涨幅会有一个关键的参考指标,这就是个人业务承诺(Personal Business Commitments, PBC)。只要你是IBM的员工,就会有个人业务承诺(每年一次),制定承诺计划是一个互动的过程。从总裁开始,写下PBC,然后层层沟通和传达。某层员工会根据上
级经理人的目标去计划自己的目标,然后让下一层员工去建立他们较小的目标,如此类推。这样可以很有效地把所有员工的注意力重新放到最重要的事上。而且使各部门和上下级之间的目标都是关联的,降低了部门的自我中心意识。
你和你的直属经理坐下来共同商讨这个计划怎么做才切合实际,几经修改,你和你的老板其实立下了一个一年期的军令状,老板非常清楚你一年的工作及重点,你自己对一年的工作也非常明白,剩下的就是执行。大家团结紧张、严肃活泼的干了一年,到了年终,直属经理会在你的军令状上打分,直属经理当然也有个人业务承诺计划,上头的经理会给他打分,大家谁也不特殊,都按这个规则走。IBM在奖励优秀员工时,是在履行自己所称的高绩效文化。
3.薪资充分反映员工的成绩
个人业务承诺考核通常由直属上级负责对员工工作情况进行评定,上一级领导进行总的调整。每个员工都有进行年度总结,并与他的上级面对面讨论这个总结的权利。上级在评定时往往与做类似工作或工作内容相同的其他员工相比较,根据其成绩是否突出而定。评价大体上分10—20个项目进行。
评价工作全部结束后,就在每个部门甚至全公司进行平衡,分成几个等级。例如,A等级的员工是大幅度定期晋升者,B等员工是既无功也无过者,C等员工是需要努力的,D等员工则是生病或因其他原因达不到标准的。
从历史上看,65%—75%的IBM公司职工每年都能超额完成任务,只有5%~10%的员工不能完成定额。那些没有完成任务的人中只有少数人真正遇到麻烦,大多数人都能在下一年完成任务,并且干的不错。
激励在哪里都是需要的,激励的最佳力度取决于业绩与薪水之间的权衡。以业绩为基础的付酬方法的难点在于业绩的评估,其中的一个问题就是员工的行为一般不会完全转变成可以评估的业绩,而IBM的个人业务承诺(PBC)针对每个员工制定了单独的评估标准,很巧妙地解决了评估难的问题。同时,IBM不光注重自身的长远发展,同时又兼顾了员工的个人需求。
Open表示问题还没有解决;Resolved表示问题已解决,但还没有经过验证;已解决的问题经过相关人员验证后,状态称为Closed。
对团队的强烈归属感和一体感;
团队成员间的相互协作从而形成有机的整体;
对团队事务的尽心尽力和全方位投入;
使团队目标优先于个人目标;
愿意分享信息,理解别人的行为并产生适当的反馈;
当其他成员需要时给予帮助;
对别人的反馈作出积极地反应。
不愿把自己的技术知识与别人分享,怕别人威胁自己的职位;
不喜欢与别人交流,不愿求助于别人,有问题后孤军奋战。
(1)内容充实,切忌空洞无物,大话、套话连篇。
(2)内容表述要逻辑清晰,容易理解。
(3)内容要有真凭实据,不能有虚构、夸张、造假成分。
(4)措辞追求“正确、准确、优美”。
(1)事先做充分准备。多练几遍,熟悉内容,控制时间,避免在现场手忙脚乱。
(2)仪表整洁,精神抖擞。
(3)声音响亮。
(4)避免过分随意的口语和“口头禅”。
本门课程的知识;
能力成熟度模型(CMMI);
软件项目人员管理案例
圣人的话:
在管理上,对于人力资源,要考虑:量材录用,帮助提高,绝不轻视弃置。
理解软件项目人力资源管理的主要作用和主要内容。
理解项目组织结构的确定:项目组织类型及其特征、不同小组结构的特征。
理解项目团队的建设:人员配备、培训、绩效管理、激励。
理解项目沟通沟通方式、冲突管理,了解沟通计划。
了解软件专业人员要有哪些非技术素养。