才之间形成一定的沟通基础和沟通习惯。
第二是专业知识在开发团队中的不对称存在。知识的不对称性表现在两个方面:一是软件开发团队的每个成员都具有不同的知识背景;二是指软件开发团队中的每个成员对某一知识的掌握程度不尽相同。知识的不对称性的第一个方面决定了不同开发成员的分工协作关系;知识的不对称性的第二个方面决定了不同开发成员之间的领导关系。因此团队中成员之间的协作和信息沟通十分重要。要保证开发质量,开发成员之间就要高度协调一致,在规定的成本与时间范围内完成开发任务,尽可能减少无效劳动和由于缺乏沟通而导致的重复劳动。
(2)软件开发项目团队是以特定客户为中心的任务导向型团队
首先,开发任务目标完全以客户需求为中心。每一项开发任务通常要满足顾客独特的需求,而这种独特的需求又是一次性的。因此经验和历史数据虽然重要,但每一次开发任务都需要从头对特定用户的需求进行分析与定义,重新研究开发任务的内容。
其次,开发任务的条件约束以客户要求为准。软件项目的开发任务是在约束条件下进行的,这些约束条件是由客户定义的,主要包括:软件质量、开发成本和开发时间三个方面。软件质量约束要求软件项目开发团队开发出满足用户需求、符合用户期望的软件产品;开发成本约束要求软件项目开发团队在人员成本、物质采购成本等方面要进行严格的限制;时间约束要求开发团队要在事先规定与计划好的时间范围内完成软件开发任务,而且开发时间的延长就意味这要花费更多的人力资源成本。
2、软件开发项目团队的内涵界定
根据软件开发项目团队的特征可以判断其基本内涵是:软件开发项目团队是一个系统,而且是一个开放的系统。
首先,软件开发项目团队是一个完整的系统。在软件项目开发过程中知识分别由不同的开发人员所掌握,因此要完成新的知识的创造就需要每个人完成自己所擅长的工作,最后将所有开发人员的工作整合在一起形成完整的软件系统。这个过程中项目成员之间协作与沟通异常重要。如果缺乏成员之间协作与沟通,个人能力再突出,也无法带动整个项目团队的绩效,甚至有时还会影响项目团队绩效。从系统角度出发,一个整体要成为系统必须满足以下三个条件:第一,每一个元素的行为均对整体的行为起作用;第二,各元素的行为及其对整体的作用是相互依赖的,没有一个元素可以对系统整体单独起作用;第三,无论这些元素如何进一步分解,那些分解后的部分均对整体起作用,但没有一个部分能对整体单独起作用。据此可以认为,软件开发团队必须是一个系统。
其次,软件开发项目团队是一个不断与外界交换信息的开放系统。第一,项目团队以客户需求为中心来完成开发任务,用户需求的准确定义以及被定义的用户需求在团队成员之间的共享十分重要,这就要求项目团队不断地与外部客户沟通以交换信息;第二,项目团队必须得到公司高层的认可和支持,这要求项目团队不断地与公司高层沟通。
二、软件开发项目团队绩效改进分析
1、软件开发项目团队绩效不佳的原因分析
据美国Standish Group对8400个IT项目(投资约250亿美元)的调研结果显示:项目团队实现目标的16%,项目经补救后完成的占50%,彻底失败的占34%,项目统计平均预算超出量90%,项目统计平均工期超出量120%,大公司中项目按预算进度完成的只有9%,可见IT项目团队绩效不佳。我国的IT项目团队