网络协作开发团队 - 开发的细节研究
目 录
2.1 写在前面的话题
2.2 开发团队组织细节
2.3 组织工作中的实际问题
--------------------------------------------------------------------------------
自从我的《网络协作开发团队 - 组织结构之研究》发表以后,有网友来信希望我能仔细讲述网络协作团队开发的细节,因为这一段时间我比较忙,所以直到现在才把有关的文章继续写下去。
2.1、写在前面的话题
2.1.1 成功的产品?
许多人对何谓成功的产品没有一个清晰的概念,从投资者的角度来看,以营利为目的的开发团队中,新产品开发的成功在于它使得生产和销售可获利产品成为可能。比如如果一个游戏作品的开发花费许多人力物力时间,投入大于产出,但取得游戏评论家和玩家的好评,我们只能称它是优秀的“作品”。
另一个游戏虽然没有得到足够的好评,但是投入远小于产出,我们认为它是成功的。然而,我们常常无法迅速和有效的评估产品的获利性,以下是国际上常用的六个评估产品开发的方面:产品质量、产品成本、开发时间、开发成本、开发能力、潜在市场。在这六个纬度上的良好表现将最终体现为经济上的成功。具体的说明请大家参阅有关产品开发的MBA书籍,笔者就不在这里详述了。
2.1.2 开发需要哪些人来参与?
产品开发是一项综合性的活动,几乎要所有的职能都参与进去。但是有三项职能是产品开发项目的中心:市场 — 能给开发进行产品机会的识别、细分市场的界定和顾客需求的判断。设计 — 产生最能迎合顾客需求的产品实物形态的定义,包括工程设计和工艺设计。制造 — 对设计和运作产品系统负责(对于游戏软件的开发,设计通常指的是策划,制造是程序)。
2.1.3 团队开发的挑战
开发一个产品不是件容易的事,即使是国际上正规的公司也很少能达到50%以上的成功率,这对于开发团队来说是一个有意义的挑战。这些挑战特征是:
1)权衡:一个游戏画面可以制作的很完美,但是这样可能会增加开发成本,产品开发最困难的方面之一是识别、理解和管理权衡,是产品开发成功的可能最大化。
2)动力:动力指的是技术推动、顾客偏好的演变、竞争者和宏观环境的转变等。
3)细节:任何细节的决策可能会带来经济巨大的冲击。
4)时间的压力:如果有足够的时间,许多困难都可以解决,但是开发时间往往是有限的。
5)经济学:开发、生产和营销一个新产品需要大量的投资(人力物力时间精力金钱),要获得投资回报需要合理经济分析。
6)创造:创造性是产品开发的必须条件。
7)满足社会和个人的需要:所有的产品都是以满足某种需要为目的的。
8)团队的多样性:开发工作需要各种各样技能、经历、思维方式和性格的人。
9)团队精神:开发团队往往是被高度激励的、具有很强合作性的群体,团队成员要经常聚在一起,以便集中集体的智慧来创造产品,这种情况能在团队成员间产生持久的同志关系。
这些挑战特征需要开发团队的每个成员深入体会,以便使他们在开发过程中做好充足的思想准备。
2.2、开发团队组织细节
成功的开发团队必须有效的组织产品开发人员。
2.2.1 组织前提
团队章程、利益分配、团队纪律和决策人员的确立是开发团队组织的重要的前提,对于网络开发团队来说更是必不可缺的。团队章程确定团队的性质、开发方向、合作方式和时间等一些团队有关的组建信息。利益分配是任何团队存在的原因和结果。团队纪律是决定团队维持和发展的因素。决策人员的确立是团队正常运转的条件。对于网络开发团队,这些前提条件是必需的,即这些条件必须在团队正式组织运作前就要确立。
2.2.2 组织方式
1)核心团队和扩展团队。核心团队指的是从各个职能部门抽调出来(一般是项目、职能部门的管理人员),来协调各个部门的工作。核心团队一般保持较小的规模,而且通常要保持经常交换想法的做法(对于网络开发团体,一般要一星期2-3次)。而扩展团队可能有几十人、上百人等等,组成相应的职能部门。
2)矩阵组织(又名“交叉组织”)。矩阵组织是职能组织和项目组织的混合,就是笔者在第一章中提到的目前国际流行的一种组织方法,至于其组织优势和实例在前文已经进行了详尽的说明,本文就不在重复了。
矩阵组织的两个分支是重型项目组织和轻型项目组织。重型项目组织中的项目组织具有完全的预算权,能更深的介入团队成员的成绩评估中去,并对资源分配进行决策。职能组织权力和控制相对较小。轻型项目组织的项目组织具有微弱的权力,多为协调和管理者,职能组织负责预算、人事和评估。
团队的组织根据不同的时期和环境采用的组织方式也不同,一般在项目少且项目间的差别不大时采用轻型项目组织,在项目多和项目兼跨多个领域时采用重型项目组织。
2.2.3 组织人员职能
1)决策人员:决策人员通常保持比较少的人数,以使决策权力尽量的集中。决策人员的职能大多限制在团队发展方向制订、团队政策宣传、团队纪律的维护上。决策人员要对项目和职能部门的管理人员保持敏锐的鉴定力,并经常组织项目、职能和人事的评估。决策人员要把职能、项目的管理和人事权尽量下放,但是保持足够的监督权。
2)职能部门的管理者:职能部门的管理者通常是该职能方向的技术佼佼者。他们需要密切注意该职能方向的技术发展,组织学习先进的技术。他们对职能部门人员的技术能力具有一定了解,组织定期的技术考核和技术培训,并负责向项目管理推荐足够能力的技术人员。
3)项目部门的管理者:项目管理者要具有非常强的组织能力。他们要组织项目的开发工作、合理安排项目的人力物力资源、协调人员工作进度、评估人员项目开发能力、调整开发进度。组织工作的开展是为了团队进行有序的开发工作,因此要根据团队的规模、人员能力、合作能力、宏观环境等具体情况具体组织。
2.3、组织工作中的实际问题
我们精心解释组织的方法,是假设开发团队在一个能导向成功的团队环境中运作的。实际上,有些团队表现出一些导致开发职能障碍的特征。这些特征宏观上表现为:
1)团队缺少授权:决策人员或职能部门的管理人员可能置身于一个开发项目细节上的持续干预,而对团队的决策基础缺乏了解。
2)超越项目目标的职能控制:市场、设计(策划)或制造(程序)的代表为了提高自己的地位或作用,可能会在不考虑产品整体成功的情况下对决策施加影响。
3)不充分的资源:人员缺乏技能等不当匹配,或缺乏资金、设备、工具等。
4)在项目团队上缺乏交叉职能代表:主要的开发决策可能在没有市场、设计(策划)、制造(程序)或其他职能的介入下做出的。
网络团队组织工作中出现的实际问题:
1)人员配备不齐:在网络团队开发的过程中往往是人员不齐的,例如游戏开发团队往往在程序上力量强,而策划、美工等其他力量弱。如果出现这种情况,切记不要在同一项目身兼数职,例如一个游戏项目缺少美工,宁可要其他项目的程序来充当美工,也不要本项目的程序来充当美工。
2)决策人员能力不够:由于目前的网络开发团队大多是业余性质的,对于团队组建时成员的能力认识不够可能导致决策人员的能力不够的情况,具体表现在:团队章程不完备,宣传不到位,目标不清晰,纪律散漫;个人主义横行;项目开展缓慢,管理人员难于开展工作。如果出现这种情况,决策人员应反省自己,补充自己的管理知识,下放部分权力,让有能力的人加入决策行列。
3)技术骨干担当项目管理人员:一般项目管理人员不能由技术骨干来担当,因为项目管理人员需要有足够的时间来处理项目的工作安排,协调工作进度,充分利用人力物力;而技术骨干经常需要做具体的项目工作,如果技术骨干担当项目管理人员,应避免再从事项目的技术工作。
4)缺少毛遂自荐的精神:网络虽然拉进了人们的距离,但是实际的空间距离还是存在的,因此没有面对面的交流,短时间内无法了解人们的实际能力,所以要求有能力的应尽量毛遂自荐,在网络开发团队里,谦虚是淹没人的才华的杀手,工作能力才是个性的体现。
总结
以上是网络协作开发团队的组织细节,其中部分理论来自传统制造业几十年甚至几百年的经验。当然对于新兴的网络协作开发团队,有些理论不在适用。若本文有什么错误或大家有什么意见和建议,请与“DarkTyro”联系,我希望就此话题和大家讨论下去。
