阳光博客社区-ShineBlog.com 
软件项目中高效的开发团队建设探讨
2014/5/27 15:52:56

  《人月神话》着重指出由于软件项目工程本身的复杂性、一致性、可变性和不可预见性的特点,在解决软件项目管理方面“没有银弹”。的确,就目前而言,如何克服软件开发过程中的种种风险,提高软件项目开发的成功率是一大课题。

  根据多年从事软件开发的经验和教训,笔者认为有效的开发团队对于提高软件项目成功率来说意义重大:软件项目管理的成功与否,在很大程度上反应了开发团队的高效性上。这里从组织行为学的方面,初步探讨如何建设高效的软件项目开发团队。

  (一) 工作流程设计。建设高效的软件项目开发团队,必须考虑在工作流程设计中提供各个成员的自由度和自主权、使用不同技能和才干的机会、以及完成对整体项目或他人具有重要影响的任务责任。根据相关的调查资料表明,这些变量具有激励作用,能够增加团队成员的责任感和对工作的拥有权,从而大大地提高了开发团队动机水平。

  (二) 团队规模。根据研究,一个最有效的软件项目开发团队规模不应该超过10人,而且在能够完成任务的前提下应该使用最少的人数。但是,在软件项目开发过程中我们经常看到,管理层认为更大的规模有利于缩短工期这普遍性错误的发生。笔者曾经在某跨国公司参与某个软件开发,由于赶工的需要,该项目团队从一开始设计的9个人一下子扩充到50多人,结果随着新成员的补充,团队合作方面的问题呈几何级数增长,团队的内聚力和相互信任基本上降为零,社会隋化现象十分严重,越来越多的人所做的工作却越来越少。项目的失败也就不言而喻了。因此,在开发过程,若是实在需要扩充团队规模,我们可以将之拆成若干次级团队或者是亚单元。

  (三) 成员构成。由于IT人员的流动性大,为了增加团队的稳定性,我们在选择人员时,应该侧重于灵活性强的个体,并对他们进行交叉培训,使得他们之间能够完成其他人的工作。这种相互代替,相互备份的做法可以极大地改善团队的适应性,并使得团队对任何单一个体的依赖性得到降低。

  (四) 性格特点。成员的性格特点对其个体行为有显著作用,进而也对整个团队的形为产生影响到。具体而言,在外倾性、随和性、责任心和情绪稳定上,它们对整个开发团队有不可估量的作用。如果一名成员缺乏最基本的随和特点,则会立即影响到整体团队的绩效水平。笔者在以往的工作经验中发现,对于不少特立独行的开发者来说,他们的工作技能是一流的,但是对整体的团队士气和队员之间的满意度产生直接的威胁。

  (五) 具体目标。对于软件开发来说,对于各阶段的任务应该分解成具体的、可以测量,可实现的绩效目标。具体的目标可以促进明确而有效的沟通,提高个体绩效水平,以及使得群体充满活力避免惰化。另一方面,具体的目标也是绩效评估和奖励体系的基础:所有成员必须清楚哪些是个人的责任,哪些是团队共同的责任。

  (六) 有效的领导。项目经理必须在如何平衡所有成员的工作负荷、决定其具体和任务内容并使工作任务适于个体的技能水平上发挥作用,同时也应该解决如何安排工作日程、需要什么样的开发技术技能,如何解决冲突等问题上做出有效的贡献。

  要注意的是,建设和管理项目团队并不仅仅是包括上述这六大点的一个简单模型,它只是一个指导原则,具体的办法常常因人因时而异;而最终对团队是否真正“有效”的评价仍不外乎团队生产率的客观指标和成员满意度的统计结果这两点。

posted by 牛草草
阅读全文 | 回复(0) | 引用通告 | 编辑 | 收藏该日志

发表评论:

    昵称:
    密码:
    主页:
    标题: