团队协同作业难以沟通与培养默契
如果VS 2005只是区分版本,那么过于小看此次改版。软件开发生命周期注重反复式的过程,以逐步提升软件质量,而在反复改进过程扮演开发方向控管的操舵手:项目经理,不再置身事外。VS2005此次也针对项目经理开辟专属的工具:Team System,让项目经理与开发人员因为使用共通的工具而使用共同的语言沟通,不再像是局外人。
Team System也让开发工具转为开发与管理平台,让开发人员可以分享资源,更重要的是让项目经理可以从集中式平台监督软件项目。以往开发工具为单机版时,各成员的工作成果均保留在个人计算机,项目经理仅能透过威胁利诱的方式,才能汇整各成员的成果成为项目进度,但此时项目经理不但被架空,而且形同虚设。
为了管理创意成果供货商莫不绞尽脑汁,像Borland便在StarTeam产品中内建Repository(中央储存库),这是一种中央控管的数据库,用于有系统与结构化地储存软件开发过程的各式数据、图表与程序代码等。微软则在Team System连结SQL Server 2005达到相同的功能,而且N-Tier架构强迫软件工程师在开发过程便进入项目控管,而不是写完程序后才决定要不要归建到项目档中。这让开发更有效率,也让软件工程师专注在程序开发上,而不是与管理有关的琐碎、例行事务上。
VS2005触及开发团队合作的痛处,这牵涉到开发人员技术本位与文人相轻的老问题。「软件黑手(俗称Hard Coding的工程师)」与规画架构的架构师不平等的工作任务与负担,以及最后把关的测试工程师所背负的压力,都会在团队中形成各自为政的问题。最常见的是测试工程师与开发工程师难以取得协调,以及资历高于项目经理的资深工程师,对流程与管理的抗拒,特别是这些人掌握旧式语言(如corba语言)或旧型主机(Legacy System)的维护等,使得项目经理的权威受到挑战,以及对团队向心力都形成威胁。单从工具的角度无法面对这些问题,然而,以工具要求团队合作只是让问题浮上台面,但企业可能没有心理准备面对这个积弊。