[zt]Visual Studio 2005 Team System:软件项目管理
简介
Visual Studio Project Management Tools 可以实现更好的计划、安排、协作、沟通、报告和流程控制。Visual Studio Project Management Tools 与 Visual Studio 集成开发环境 (IDE)、Microsoft Office、Windows SharePoint Services 和 SQL Server 2005 Reporting Services 相集成。Visual Studio Project Management Tools 允许项目数据和流程具有非侵入性的 (non-intrusive) 可见性和规范,从而使 IT 部门管理项目的方式产生变革。
软件设计项目管理的难题
项目经理或主管在构建软件项目时遇到了大量的问题。
转换工作中的缺口
客户需求与开发团队计划的工作之间存在着缺口。安排的工作与实际工作之间也存在着缺口。重要信息在这些缺口中丢失。需求没有完全满足,而完成的工作并不影响客户需求。需求管理工具试图解决这一问题,方法是提供这些缺口的链接以形成可跟踪矩阵。这些链接很快就变得过时且毫无意义,并给项目主管带来很大的维护负担。
团队协作和沟通很差
由于存在完全不同的文档,而且它们不一定是最新的或与实际工作进展同步,因此团队的协作和沟通受到了阻碍。项目主管必须花时间收集来自不同计划和列表的状态,而团队成员必须花时间发送状态报告并更新文档。这影响了团队工作效率,特别是当团队成员为了提供其工作状态而中断时。团队工作流的效率低下,其原因是团队可能要等待工作完成后他们才能开始,但他们缺少一种可靠的机制来确切获悉工作已完成。有时,仅仅在团队成员之间传递工作、跟踪问题或收集状态就用掉了工作的全部时间。
更正系统问题困难
即使项目主管发现必须进行项目过程更改时,在项目团队中实现适当的更改也是非常困难的。进行流程更改对团队的工作效率有很大的影响。团队成员要完成工作就必须不怕麻烦地查找流程信息或正确的文档模板。
对于分配到包含不同流程的多个项目的团队成员,查找正确的流程信息甚至会更加困难。为了决定应用哪些策略和规则,团队成员必须记住使用哪个流程。因此,团队成员对流程产生了厌恶感,而且不理会流程的更改,从而削弱了项目主管的作用。
跟踪,但没有管理
获得项目的重要衡量标准对于跟踪状态和做出决策十分重要。由工具生成的大部分衡量标准没有以统一的方式进行存储或访问。创建报告需要手动将信息从不同的工具剪切和粘贴到一种报告格式中,变得费时又费力。
因此,项目主管需要花非常多的时间从众多不同的工具收集衡量标准,以使项目计划保持最新状态并通知项目团队。通常,项目主管会身陷于跟踪细节,而没有进行项目风险分析和项目过程修正。
我们的解决方案
Visual Studio Project Management Tools 旨在根据项目经理已知的软件来解决这些问题:Microsoft Excel、Microsoft Project、Microsoft Word 和 Windows SharePoint Services。
共享数据和自定义视图
项目主管将需求分解为组件或方案,进而分解成任务,分配给开发团队,因此 Visual Studio Project Management Tools 可以沿着这个路线捕获视图。这些视图存储工作产品(例如,功能规范、风险评估和项目计划)之间的关系。视图通过推理所建立的关系来提供上下文信息,这些信息在所有不同的视图之间共享,因此任何视图中的更新都会反映到所有项目工作产品上。
项目主管可以有很大的灵活性来组织他们的工作,而不会强制他们只用一个项目层次视图。项目主管可以根据功能、方案和组件在项目中创建视图,方法是在不同的视图中相应地选择和组织相同的数据。项目主管可以在项目的元素之间创建多对多的关系,这种关系可以反映确切的项目状态,而不会在无意义的可跟踪矩阵中徒劳无获。
在 Microsoft Excel 中构建工作项列表
项目经理通常使用 Microsoft Excel 来存储问题列表、工作项,甚至安排工作。Visual Studio Project Management Tools 提供一个 Microsoft Excel 加载项,将电子表格中的列表对象连接到工作项数据库中。工作项数据库是一个存储所有工作项(例如,错误、风险和任务)的地方。
考虑这种情况:项目经理创建一个电子表格,它包含最主要的 10 个风险。随着项目经理更改这些风险的分配、优先级和其他字段,团队成员会在他们的工作项队列中接收到更新的信息。项目经理不再需要查询工作项的状态,而且可以将这些信息从工作项数据库直接“拉”到电子表格中。
创建工作项列表有两种方式。通过 Portfolio Explorer(Visual Studio IDE 中的一个项目视图),项目经理可以选择一个工作项查询或文档节点,并创建一个新的数据绑定电子表格。这个新的电子表格将包含一个工作项列表,该列表填充了从查询获得的数据。
项目经理还可以从 Excel 中创建工作项列表,方法是使用加载项选择一个项目并导入工作项。
使用 Microsoft Project 维护项目计划
项目经理可以使用 Microsoft Project 来布局任务依赖项、加载平衡资源和估计结束日期。Visual Studio Project Management Tools 提供了一个 Microsoft Project 加载项,它可以将项目计划和项目团队数据连接在一起。在项目计划中安排工作之后,项目经理可以将数据发布到工作项数据库中。新的工作项会因为 Microsoft Project 中进行的任务分配而产生,而且任务会显示在相应开发人员的工作项队列中。当开发人员解决了问题并将新状态反映到工作项数据库中时,项目经理只需刷新项目计划即可获得最新信息。项目经理现在可以有效地使用 Microsoft Project 视图来跟踪任务状态,而无需召开状态会议和手动更新他们的项目计划。
实际上,项目主管可以监视几个不同项目计划中的任务状态。例如,项目主管可能想要按需求查看项目状态。而开发主管可能想要按组件查看项目状态。这两个人可以承担同一组任务,并将其组织在两个不同的项目计划中。当工作项中的状态更新时,开发主管可以查看开发项目计划中的组件进度,而项目经理可以查看需求项目计划中的需求进度。
可以按照与创建数据绑定 Microsoft Excel 电子表格的相同方式创建数据绑定项目计划:通过 Portfolio Explorer 中的查询、Portfolio Explorer 中的文档节点创建,或者从任何 .MPP 文件中创建。
Portfolio Explorer
Visual Studio Project Management Tools 中的软件项目称为公文包项目。公文包项目是一个中心概念,它将团队创建特定软件技术或产品的成果存放在一起。当项目经理创建新的公文包项目时,有几个关键的配置可以用来集中公文包项目中的团队成果。可以创建一个团队项目 Web 站点来包含文档模板和常用报告。可以创建一个工作项数据库来跟踪项目中的所有成果。可以安装一个方法模板来确定所有工作成果的规则、策略、安全组和查询。同时,还可以选择创建一个源代码分支来进行源代码管理。
Visual Studio Project Management Tools 的特性之一 Portfolio Explorer,它可以从 Visual Studio IDE 中轻松导航到工作产品(例如,功能规范、风险评估和项目计划)。团队成员可以查看有关产品版本的信息、进入到源代码、查询分配给他们的任务、查看整体项目状态、定位文档、查看报告和创建与项目有关的工作产品。
项目站点
项目站点存储工作产品并对其进行版本控制,它是由 Windows SharePoint Services (WSS) 宿主的团队 Web 站点。可以通过 Portfolio Explorer 使用的相同工作产品也可以通过项目站点作为项目参与者的控制板使用。实际上,如果您在 Portfolio Explorer 中创建新的文档节点,则会在项目站点中创建新的文档文件夹。
项目站点附带了预填充的文档模板、常用报告和项目流程的 Web 版。项目站点也包含一个用于挂接 RSS Feed 的 Web 部件,以及用于查看报告的 Microsoft SQL Server 2005 Web 部件。
因为项目站点是由 WSS 宿主的,所以该项目站点还可以通过其他 SharePoint Web 部件(例如,通知或事件)进行扩展。这样,团队就能够以任何最适合其项目的外观和风格来自定义他们的项目站点。
团队沟通和协作
工作项数据库
Visual Studio Project Management Tools 维护了一个工作项数据库,它存储每个公文包项目的工作项。工作项是一个可以通过特定工作流程分配和跟踪的工作单元。例如,错误工作项跟踪工作以解决软件产品中的可疑问题。错误的典型工作流是活动、待定、解决和关闭。现成可用的工作项有错误、风险、需求、方案、功能和任务。其他工作项类型则可以随时创建。
工作项与 Visual Studio 集成在一起,因此开发人员不用离开 Visual Studio IDE 就可以查询分配给他(或她)的所有错误。测试人员也可以在 Visual Studio IDE 中创建一个新的错误。因为工作项数据库是集中式的,所以工作的状态始终是最新的。
将代码签入与工作项相关联
另一个可以改进协作的 Visual Studio Project Management Tools 功能是,支持将代码签入与工作项相关联。常见的情形是开发人员修复错误。开发人员读取错误工作项,签出代码,进行修复,然后将代码签入。
Visual Studio Project Management Tools 使用“Pending Check-in”窗口来控制代码签入。当开发人员签入代码时,他或她可以将签入与工作项相关联(在本例中为已修复的错误)。开发人员不需要使用另一个工具来更新错误状态。此外,还可以设置一个策略来强制将所有的代码签入与工作项相关联。这可以确保在没有与分配的工作相关联的代码的情况下,不会进行代码开发。
管理软件流程
Visual Studio Project Management Tools 使软件流程成为软件项目开发工作的一个集成部分。通过将软件流程集成到工具中,可以在团队成员之间自动进行处理和交接。组成一个流程的元素有:文档模板、工作项和工作流、报告、安全组、签入策略和流程指导。这些元素打包到一个可在组织中推广和标准化的方法模板中。
每个公文包项目都基于一个方法模板。即使项目已经启动,也可以通过修改方法模板来轻松地向团队推广流程调优。
现成的方法模板
Visual Studio Project Management Tools 包含基于 Microsoft Solutions Framework (MSF) 的方法模板。MSF 是一个用于技术项目的精确且符合规定的方法,它基于来自 Microsoft 的一套定义好的原则、模型、规定、概念、指导和公认的做法。有两个现成可用的方法模板:MSF Agile 和 MSF Formal。MSF Agile 是一个用于小型或非正式软件项目的轻量级流程,而 MSF Formal 是为较成熟的软件项目设计的。项目经理可以在这些方法模板公认的做法中进行挑选,以便管理他们项目中的流程。
流程指导
每个方法模板的流程指导都与 Visual Studio 帮助系统无缝集成在一起。当某个团队成员需要帮助时,他们就可以获得针对手头任务的上下文的流程指导。例如,如果一个开发人员在一个使用 MSF Agile 方法模板的错误窗体中按 F1,系统就会显示帮助信息来描述特定于该 MSF Agile 错误窗体的字段,以及针对该错误要遵循的工作流。流程指导也与其他帮助主题一起进行交叉引用,例如,使用工具的过程和概念性的信息。此外,流程指导的帮助源代码也包括在内,因此组织可以通过添加新主题、修改步骤和进行任何必要的更改来对其进行自定义,以便支持他们的特定流程。
文档模板
方法模板包括团队在项目中使用的文档模板。文档模板集成在几个工具区域中。团队成员可以通过项目站点和 Portfolio Explorer 使用文档模板。文档模板的例子有规范、风险和项目计划。可以随时添加或创建新的文档模板。
工作项和工作流
项目中使用哪些工作项类型由方法模板确定。每个工作项都有自己的一套字段和规则,它们可以确定该工作项的工作流程,以及团队成员如何分配和执行任务。工作项跨 Portfolio Explorer、Microsoft Project 和 Microsoft Excel 集成。此外,没有 Visual Studio 的团队成员也可以在 Intranet 上通过浏览器与处理工作项。Visual Studio Project Management Tools 中包含的工作项类型有错误、风险、任务、方案、功能和需求。如果需要,可以随时添加或创建新的工作项类型。
退出条件
退出条件 (Exit Criteria) 是一些特殊的任务,它们在退出特定活动或重要事件之前必须完成。例如,只有当名为 Project Plan Updated and Approved 的退出条件完成之后,稳定性活动才能视为完成。最初使用的退出条件由方法模板确定,Microsoft Excel 加载项提供一个特定视图,项目经理可以通过该视图查看和更新项目中的所有退出条件。
报告
方法模板还确定项目中使用的报告。报告列表衡量标准描述项目的状态和运行状况。它们可以通过 Portfolio Explorer 和项目站点进行访问,如果需要,还可以随时添加或创建新的报告。
安全组
项目经理不需要 Windows 管理员身份就可以创建安全组。Visual Studio Project Management Tools 将组和权限与项目站点、工作项数据库和其他数据库同步。项目经理可以控制谁有权查看或操作项目中的报告、工作产品和工作项。
签入策略
最后,方法模板为公文包项目配置签入策略。例如,一种策略可以要求开发人员在签入之前始终对其代码运行静态分析。这种级别的控制是一种很好的控制代码质量和审核的方式。
自定义软件流程
项目经理不会仅限于使用 Visual Studio Project Management Tools 附带的方法模板,因为他们可以安装由第三方提供的方法模板。另外,项目经理或项目管理办公室 (PMO) 可以创建自定义方法模板。
作为自定义方法的一个例子,我们考虑这样的情形:一个名叫 Carol 的项目经理决定实现特定控制,以便更好地遵循 Sarbanes-Oxley 规定。她决定只允许一个特定的安全组将代码签入源代码树中的资金节点。她还决定让代码的更改必须与一个工作项相关联,并包含签入说明。
Carol 可以通过 Portfolio Explorer 管理公文包项目设置。她创建了一个新的安全组,这个安全组具有将代码签入资金节点的权限。她还将其团队的特定成员添加到这个新安全组中。该组外的任何人如果试图将代码签入该资金节点,其访问将被拒绝。
接下来,Carol 再次使用公文包项目设置修改源代码控制策略。她启用了一个签入策略,要求每次更改设置时都提交签入备注。她还配置了一个自定义 Sarbanes-Oxley 签入策略加载项,要求每次签入都与一个工作项相关联。
之后,她就可以使用 Visual Studio Project Management Tools 报告功能来查看报告:谁签入某个组件代码、做了什么工作(相关的工作项)以及签入备注(原因)。记录曾接触该组件的每个人的完整审核日志有助于 Carol 遵循 Sarbanes-Oxley 规定。所有这些更改都可以轻松地通过集成管理用户界面来实现。
通过 Rich Metrics Reporting 进行管理
Visual Studio Project Management Tools 通过集成 Microsoft SQL Server 2005 Reporting Services 以及提供现成的报告,来提供各种报告功能。Visual Studio 2005 Team System 的所有工具的全部衡量标准都记录在一个中央数据仓库中。这些衡量标准包括有关工作项、签入的信息以及其他项目的相关信息。通过使用报告服务,项目经理不再需要花时间交叉引用各种工具的衡量标准了。项目经理还可以得到更多的数据,这提供了查看项目运行状况的新角度。
现成的报告
预定义的报告是通过方法模板提供的,并可以通过项目站点和 Portfolio Explorer 访问。这些报告基于业界中公认的做法,以及 Microsoft 内部团队用于管理成功项目的实际报告。
下面的列表是 Visual Studio Project Management Tools 中的一些报告功能示例。这些工具的一个强大功能是,可以轻松地将来自多个工具的衡量标准集成到一个报告中。
• |
代码质量报告:该报告使用错误、测试失败和代码变动来描述代码的质量。 |
• |
计划进度报告:该报告通过查看任务完成和任务延迟情况来描述项目安排的进展情况。 |
• |
计划稳定性报告:该报告通过查看一些更改(例如,需求和安排等)来描述一个项目的稳定性。 |
• |
测试合理性报告:该报告通过查看测试运行细节来帮助评估测试的有效性。 |
与 Microsoft SQL Server 2005 Reporting Services 相集成
因为 Visual Studio Project Management Tools 报告使用 Microsoft SQL Server 2005 Reporting Services,所以您可以分析各种格式的数据。基本报告以 HTML 格式显示。然而,您也可以使用 Microsoft Excel Pivot Tables 来查看数据,以便了解感兴趣的特定区域。提供的 Microsoft Excel 模板可以帮助您连接到数据仓库和分析数据。
最后,您始终可以直接使用 Microsoft SQL Server 2005 Reporting Services 分析项目数据。
小结
Visual Studio 2005 Team System 提供一系列基于项目经理已知软件的项目管理工具,这些软件包括:Microsoft Excel、Microsoft Project、Microsoft Word 和 Windows SharePoint Services。通过与 Microsoft Office 集成,项目经理不再需要将来自这些应用程序的数据映射为开发团队使用的数据。项目站点提供控制板视图,而且给参与者提供了浏览项目数据的功能。Portfolio Explorer 将工作产品集成到 Visual Studio IDE,以便于团队能够有效地访问。丰富的报告可以提供从团队的整个自然工作流中收集的衡量标准。基于业界公认的做法的可自定义项目流程驱动了该生命周期。