首页 关于我们新闻资讯行业资讯

如何高效改进软件项目团队绩效

  • 2017-03-16

软件项目开发团队除了团队任务差异原因还有其独特的特征,一种是团队中临时性的柔性组织,具有明确的生命周期;项目团队的成员是因某项具体的工作而加入团队;项目团队没有冗余成员。在软件开发团队中沟通主要表现在两个方面:

第一,多种专业知识。软件产品是一种能够满足用户特定需求的知识产品。软件项目开发团队所要做的工作是独创性工作,所开发的产品是原来没有的、独一无二的产品;软件开发工作从开始到结束都是设计过程。软件本身就是对计算机硬件工作流程的一种设计方案,软件开发工作始终是对这一方案的设计,是知识生产过程。要完成软件产品这种特殊性质的知识生产,需要开发人员具备大量的专门知识。这些专门知识包括:用户需求知识、软件技术知识、项目管理知识,开发人员综合运用这些专门知识相互配合、共同完成软件项目的开发工作。多种专业知识需要多样的专业技术人才,不同专业的技术人才在沟通方式、沟通习惯等方面可能不尽相同,因此要保证开发工作顺利进行,就要在这些专业人才之间形成一定的沟通基础和沟通习惯。

第二,专业知识结构的不合理匹配。一是软件开发团队的每个成员都具有不同的知识背景;二是指软件开发团队中的每个成员对某一知识的掌握程度不尽相同。基于不合理的匹配决定了不同开发成员的分工协作关系;同时决定了不同开发成员之间的领导关系。因此团队中成员之间的协作和信息沟通十分重要。要保证开发质量,开发成员之间就要高度协调一致,在规定的成本与时间范围内完成开发任务,尽可能减少无效劳动和由于缺乏沟通而导致的重复劳动。

 首先,开发任务目标以客户需求为中心。每一项开发任务通常要满足顾客独特的需求,而这种独特的需求又是一次性的。因此经验和历史数据虽然重要,但每一次开发任务都需要从头对特定用户的需求进行分析与定义,重新研究开发任务的内容。

 其次,开发任务条件约束以客户要求为准。件项目的开发任务是在约束条件下进行的,这些约束条件是由客户定义的,主要包括:软件质量、开发成本和开发时间三个方面。软件质量约束要求软件项目开发团队开发出满足用户需求、符合用户期望的软件产品;开发成本约束要求软件项目开发团队在人员成本、物质采购成本等方面要进行严格的限制;时间约束要求开发团队要在事先规定与计划好的时间范围内完成软件开发任务,而且开发时间的延长就意味这要花费更多的人力资源成本。

1、软件开发项目团队绩效不佳的原因分析:

1)试图通过改善局部绩效从而改善团队整体绩效。管理者认为项目可以分解成若干项活动来完成,一个完整的软件开发项目可以分解为项目计划、需求分析、概要设计、详细设计、编码、测试等活动;项目团队整体绩效的改善来自于每个活动的局部绩效改善。因此管理者要求提高每个项目局部工作效率,而没有意识到这种方法难以提高项目团队绩效。

2)试图仅通过改善项目组内部成员的行为而改善项目团队绩效。

2、为了改进软件开发项目团队的绩效,必须以系统化的观点来看待软件开发项目团队,因此,必须遵循以下原则:

1)注重团队的系统性,以提高团队整体绩效为主。系统的绩效更多地决定于它的元素之间的相互作用而不是它们的独立行动,系统元素之间和谐关联关系对系统绩效的产生至关重要。往往在系统各组成元素都达到最高效率时,系统本身一般不能取得最佳整体绩效,局部绩效的提高甚至可能导致整体绩效的降低,所以在项目开发的项目计划、需求分析、概要设计、详细设计、编码、测试阶段中,项目团队成员必须加强沟通与合作。

2)注重团队系统的开放性,促使利益相关者参与项目。作为一个开放系统不仅要关注系统内部,而且要关注系统与环境的互动关系,系统的属性仅通过系统的元素无法充分解释,必须考虑这些元素之间的关联性以及它们与系统环境之间的关联关系。软件开发项目团队是一个环境开放的系统,完成项目开发所需要的资源存在于项目团队之外,掌握在项目利益相关者手中;同时,项目团队绩效的最终衡量标准是由项目利益相关者判断。前者决定了项目计划、项目组织、项目经理的权限等必须获得项目利益相关者的认可和承诺,后者决定了项目成果能否产生预期的商业或事业目的。企图仅仅依靠项目组成员的努力而提高项目团队绩效是不现实的。

3)注重系统的反馈。反馈来自于项目团队所有成员和项目的所有利益相关者,来自于项目生命周期的各个阶段,这其中客户的反馈最重要。我国目前不仅软件开发项目团队还不成熟,客户也是发展中的客户,这就导致项目客户需求的多样性、多变性和不确定性。软件产品或解决方案需要项目团队与客户在整个项目过程中充分沟通。

提高软件开发项目团队除了加强与外部环境的沟通,也必须构建一个位实现项目干系人需求和愿望的完整开放系统。