根据软件开发项目团队的特征可以判断其基本内涵是:软件开发项目团队是一个系统,而且是一个开放的系统。
首先,软件开发项目团队是一个完整的系统。在软件项目开发过程中知识分别由不同的开发人员所掌握,因此要完成新的知识的创造需要每个人完成自己所擅长的工作,后将所有开发人员的工作整合在一起形成完整的软件系统。这个过程中项目成员之间协作与沟通异常重要。如果缺乏成员之间协作与沟通,个人能力再突出,也无法带动整个项目团队的绩效,甚至有时还会影响项目团队绩效。从系统角度出发,一个整体要成为系统必须满足以下三个条件:第一,每一个元素的行为均对整体的行为起作用;第二,各元素的行为及其对整体的作用是相互依赖的,没有一个元素可以对系统整体单独起作用;第三,无论这些元素如何进一步分解,那些分解后的部分均对整体起作用,但没有一个部分能对整体单独起作用。据此可以认为,软件开发团队必须是一个系统。
其次,软件开发项目团队是一个不断与外界交换信息的开放系统。第一,项目团队以客户需求为中心来完成开发任务,用户需求的准确定义以及被定义的用户需求在团队成员之间的共享十分重要,这要求项目团队不断地与外部客户沟通以交换信息;第二,项目团队必须得到公司高层的认可和支持,这要求项目团队不断地与公司高层沟通。
二、软件开发项目团队绩效改进分析
1、软件开发项目团队绩效不佳的原因分析
据美国Standish Group对8400个IT项目(投资约250亿美元)的调研结果显示:项目团队实现目标的16%,项目经补救后完成的占50%,彻底失败的占34%,项目统计平均预算超出量90%,项目统计平均工期超出量120%,大公司中项目按预算进度完成的只有9%,可见IT项目团队绩效不佳。我国的IT项目团队绩效更差,尽管缺少统计数据说明,但从我国IT项目团队数量与其产生的社会效益和经济效益低下可以足以证明这一点。
现实来看,当前软件开发项目团队并没有完全认识到自己的团队是一个开放系统,项目管理者往往将改善项目团队绩效的重点放在项目组内部以及项目组成员方面,过多地强调解决局部方面出现的问题。他们认为项目组成员是产生项目成果的决定性因素,只要人的问题解决了,会得到期望的绩效;同样,只要各个部分的绩效提高了,整体的绩效也会提高。这主要表现在两个方面:
首先,试图通过改善局部绩效从而改善团队整体绩效。管理者认为项目可以分解成若干项活动来完成,一个完整的软件开发项目可以分解为项目计划、需求分析、概要设计、详细设计、编码、测试等活动;项目团队整体绩效的改善来自于每个活动的局部绩效改善。因此管理者要求提高每个项目局部工作效率,而没有意识到这种方法难以提高项目团队绩效。
其次,试图仅通过改善项目组内部成员的行为而改善项目团队绩效。基于这种看法的假设是:团队绩效不佳大多由项目团队成员的玩忽职守造成;人们会保存实力以待外在激励,而管理者能够激励下属;被评价的员工可以控制其绩效结果;员工个人的贡献可以与团队的贡献以及团队中其他员工的贡献区分开来等。由此,管理者将项目团队作为一部机器看待,项目团队的成员是该机器的零件,管理的重点在于提高其能力、敬业精神等,以使他们能够更好地实现其功能。
2、软件开发项目团队绩效的改进原则
为了改进软件开发项目团队的绩效,必须以系统的观点来看待软件开发项目团队。为此在项目团队组建之时,需要从以下方面考虑以便改进项目团队绩效:
(1)注重团队的系统性,以提高团队整体绩效为主。系统的绩效更多地决定于它的元素之间的相互作用而不是它们的独立行动,系统元素之间和谐关联关系对系统绩效的产生至关重要。往往在系统各组成元素都达到高效率时,系统本身一般不能取得佳整体绩效,局部绩效的提高甚至可能导致整体绩效的降低,所以在项目开发的项目计划、需求分析、概要设计、详细设计、编码、测试阶段中,项目团队成员必须加强沟通与合作。
(2)注重团队系统的开放性,促使利益相关者参与项目。作为一个开放系统不仅要关注系统内部,而且要关注系统与环境的互动关系,系统的属性仅通过系统的元素无法充分解释,必须考虑这些元素之间的关联性以及它们与系统环境之间的关联关系。软件开发项目团队是一个环境开放的系统,完成项目开发所需要的资源存在于项目团队之外,掌握在项目利益相关者手中;同时,项目团队绩效的终衡量标准是由项目利益相关者判断。前者决定了项目计划、项目组织、项目经理的权限等必须获得项目利益相关者的认可和承诺,后者决定了项目成果能否产生预期的商业或事业目的。企图仅仅依靠项目组成员的努力而提高项目团队绩效是不现实的。
(3)注重系统的反馈。反馈来自于项目团队所有成员和项目的所有利益相关者,来自于项目生命周期的各个阶段,这其中客户的反馈重要。我国目前不仅软件开发项目团队还不成熟,客户也是发展中的客户,这导致项目客户需求的多样性、多变性和不确定性。软件产品或解决方案需要项目团队与客户在整个项目过程中充分沟通。
三、结语
在正确总结软件开发项目团队特征的基础上我们认为,提高目前软件开发项目团队绩效必须认识到,项目团队实际上是一个为实现项目干系人需求和愿望的完整开放系统,团队应该在提高内部绩效的同时加强与外部环境的沟通与联系,并进行不断的反馈,以达到改善项目团队绩效的目的。