微软采用 Visual Studio 2005 Team System 进行集成软件开发 ---技术案例研究-阿里云开发者社区

开发者社区> 开发与运维> 正文

微软采用 Visual Studio 2005 Team System 进行集成软件开发 ---技术案例研究

简介:

Microsoft® Visual Studio 2005 Team System (VSTS) 提供了一个集成软件开发环境,使 e*BIS(eBusiness Integration Services:电子商务集成服务)企业对企业 (B2B) IT 开发团队能够将整个微软 IT 软件开发生命周期 (SDLC) 流程整合到单个解决方案中。

在微软信息技术 (IT) 部门里,企业应用程序服务 (EAS)-e*BIS 开发团队负责提供解决方案,以支持用于微软 B2B 通信的各种文档转换服务。 e*BIS IT 开发团队一直都在进行调整和产品迁移,以满足客户的业务需求。 为了满足业务需求并提高开发人员的效率,e*BIS IT 开发团队需要一种能够将微软 IT SDLC 流程整合到单个集成解决方案中的产品。

e*BIS IT 开发团队所实施的解决方案可能有助于其它企业,从缺乏联系的开发环境迁移到集成的企业开发解决方案。 本案例研究面向首席信息官、项目经理、项目主管、开发经理、高级软件开发人员以及必须具有集成软件开发解决方案的技术决策者。

*
* *
* *
背景

微软 EAS IT 开发团队通过几种工具和应用程序,来推动项目的 SDLC 流程。 由于各个工具间缺乏集成,因此无法实现既有效又高效的企业团队开发环境。

解决方案

Microsoft Visual Studio 2005 Team System 实现了一个可紧密集成 SDLC 流程的解决方案,并提供了一个可促进团队协作和交流的环境,从而推动可预测的项目结果。

收益

完全集成的 SDLC 流程环境

强大的、可扩展的、安全的企业级源代码控制系统

面向团队协作和交流而设计的共享平台

产品与技术

Microsoft Visual Studio 2005 Team System

Microsoft SQL Server 2005(带有 SQL Server 2005 Reporting Services)

Microsoft Windows Server 2003(带有 Microsoft Internet Information Services (IIS) 6.0 和 Microsoft Windows SharePoint Services)

背景

e*BIS IT 开发团队由 17 到 21 名成员组成。 这些小组成员包括项目经理、项目主管、开发人员、测试人员和支持人员,他们共同组成了一支协作团队。

e*BIS IT 开发团队开展了各种各样的集成项目,为 e*BIS 业务单位提供文档转换服务。 譬如,e*BIS IT 开发团队目前正在开发一个 Web 应用程序,用以实现转换器产品间的自动化迁移。 该应用程序最初将提供一个自动化的、可扩展的、强大的测试工具,帮助实现从 Microsoft BizTalk Server 2002 到 BizTalk Server 2004 的迁移。

e*BIS 项目的管理和开发是通过几种工具和应用程序来完成的。 SDLC 流程所用的工具和应用程序大体上都互不联系,并且无法提供一个集成的环境,让小组成员能够在项目进展期间,轻松地进行协作和交流。

图 1 为 e*BIS IT 开发团队所采用的测试和 bug 工作流过程示意图。

Figure 1. Pre-VSTS testing and bug workflow process

图 1. 实施 VSTS 之前的测试和 bug 工作流过程

工作流过程间的大部分连接都是手动的,制约了团队的工作效率。 项目经理手动查询 bug 数据库,然后将已粘贴的列表,通过电子邮件发送给开发人员和测试人员,以便他们管理测试和调试工作流过程。 随后,测试人员和开发人员必须将 bug 和问题的状态,通过电子邮件发回给项目经理及其他有关联的小组成员。

整个 SDLC 流程都由以下工具来管理:

Microsoft Visual Studio® .NET 2003

Microsoft Visual SourceSafe® 6.0

Microsoft Office® Professional 2003

Microsoft Office Project Professional 2003

Microsoft Windows® SharePoint® Services

Internal Microsoft 产品 bug 和问题跟踪应用程序

Project 2003 被用于制订项目计划。 项目计划用于为各个小组成员,分配工作项目。 项目经理会随着任务和里程碑的逐一完成,手动更新项目计划。 项目计划的更新通过几种方法进行交流,包括电子邮件、小组会议、电话呼叫以及问题跟踪查询。 Office 应用程序用于从各种外部源中,手动提取项目信息,并分发给小组成员。

e*BIS IT 开发团队使用 Visual Studio 和 Visual SourceSafe 插件,提供开发环境和源代码存储库。 项目的 Visual SourceSafe 存储库可以位于众多 Visual SourceSafe 服务器中的任何一台上,并且有时难以将 bug 或问题与目标源代码相关联。 源代码 bug 包含一个源代码位置的引用,但是如果源代码随后发生了变化,该引用也就随之失效了。

测试用例、bug 和问题的跟踪是通过一个内部的微软应用程序来完成的。该应用程序提供了一个查询工具,用于确定每个项目的问题和 bug。 通过从每个工具或应用程序中提取出来的问题或 bug 列表,项目经理会用 Microsoft Office Excel 2003,手动创建状态报告。准备并整合这方面的信息,以报告项目状态、bug 率和资源问题,需要花大量的时间,而且没法有效地利用项目管理时间。 共享这方面信息的方式是:将状态报告保存在 SharePoint 网站上,或者通过电子邮件,将状态报告发送给项目组及风险承担者。 开发项目文档则通过小组 Windows SharePoint Services 网站共享。

为了完全集成 SDLC 流程,并删除工作流中的外部手动流程,e*BIS IT 开发团队需要:

熟悉的集成开发环境: 用 Visual Studio 开发、测试和构建每个项目。

集成的工作流过程: 工作流过程必须是集成的,而不是由许多阻碍团队工作效率的互不联系的手动过程构成。

集成的管理: 项目管理功能(比如:任务列表生成和资源分配)必须集成到开发环境中,并绑定到源代码和报告存储库。

集成的 SCM 解决方案: 必须有可扩展的、功能全面的软件配置管理 (SCM) 解决方案,提供强大且安全的源代码控制存储库。

集成的报告功能: 必须将报告功能集成到 SDLC 流程的每个任务和过程中。 报告功能必须是实时的,并且必须能与其它 Office 应用程序相集成。


* 最终,我不再用三到四种不同的产品来管理项目了,而是使用 Team Foundation 客户端,从单个控制台,管理整个项目。 *
Megan Day
EAS - 电子商务集成服务项目经理
微软公司
返回页首

解决方案

通过部署 VSTS,使 e*BIS IT 开发团队能够将整个 SDLC 流程集成到单个解决方案中。 此外,VSTS 提供了一个可简化团队协作和交流的平台。

VSTS 是一种分层式解决方案,可部署在单台或多台服务器上。 典型的安装由以下几个部分组成:

数据库层: 数据库层安装在运行 Microsoft SQL Server™ 2005 的 Microsoft Windows Server 2003 计算机上。数据库层主要由表、视图和存储过程等数据库对象组成。 在典型的安装中,SQL Server 2005 Reporting Services 也位于相同的服务器上,并被 VSTS 用于满足报告需求。

应用程序层: Visual Studio 2005 Team Foundation Server 属于应用程序层。 这个组件安装在运行 Microsoft Internet Information Services (IIS) 并安装了 Windows SharePoint Services 的 Windows Server 2003 计算机上。 应用程序层显示 Microsoft ASP.NET Web 服务连接到了数据库层,并从客户端层调用。

客户端层: 客户端层由一个 Visual Studio 2005 插件和几个 Excel 和 Project 2003 插件组成。另外,还有一个独立的 Team Explorer 客户端,面向不需要整个 Visual Studio IDE 的项目经理和项目主管。

Team Foundation Server 是 VSTS 的核心。 Team Foundation Server 提供了一个集成平台和一个共享数据源,用以实现软件开发项目的协作。 下图展示了组成 Team Foundation Server 的五个核心集成组件。

Figure 2. The five core integrated components of Team Foundation Server

图 2. Team Foundation Server 的五个核心集成组件

e*BIS IT 开发团队实施

为了协助提供坚实的基础并培训团队,e*BIS IT 开发团队借用了另一支团队的一名内部产品专家。 另外,该产品专家还帮助为每位小组成员,安装并部署了 VSTS 客户端。 大多数小组成员都需要 Visual Studio IDE,但其他成员仅需要 Team Explorer 客户端。 譬如,项目经理仅需要 Team Explorer 客户端,来管理工作流并报告项目计划的状态。


* Visual Studio Team System 提供了一站式服务,来满足项目的所有集成需求。 *
Kal Viswanathan
EAS - 高级应用程序开发人员
微软公司

完成部署不久后,e*BIS IT 开发团队就能使用以下 VSTS 功能了:

项目管理

工作项目

版本控制

项目网站

报告

项目管理

虽然仍在 Project 2003 中创建项目计划,但是现在通过 Team Foundation Server 来发布。 因此,不必学习如何在 Team Foundation Server 中创建项目计划,而只需懂得如何使用 Project 2003 插件发布项目计划。 Project 2003 插件让项目经理或项目主管,能够运用 Project 2003 的全部功能,创建计划并将任务和资源分配发布回 Team Foundation Server。 在项目计划发布之后,项目经理可以单单使用 Team Explorer 客户端,管理整个项目。

向风险承担者报告项目状态的工作,现在通过 VSTS 的集成报告功能来完成。 VSTS 集成报告功能可提供有关项目进展情况和状态的准确信息。 项目经理现在从各种报告中,复制 bug 率、资源工作状态和任务完成情况等度量数据,提供更及时、更准确的项目状态报告。

工作项目

在 Team Foundation Server 上,工作项目被集成到了开发环境的方方面面。 e*BIS IT 开发团队使用包含在 Visual Studio Project Management 工具中的不同工作项目类型。 通过使用集成的工作项目,项目工作流在环境中实现了自动化,而且小组成员不必手动维护工作项目状态报告。 小组成员可参加针对他们的工作项目的工作流过程,并且小组成员不必再使用外部应用程序,通过协作方式,解决与项目相关的工作项目任务和 bug。

譬如,小组测试人员可在 VSTS 环境中,直接输入 bug 工作项目,而开发人员会自动接到通知。 在开发人员更正了源代码后,已更正的源代码就会附加到原始的 bug 工作项目上。 参与此更正过程的每位小组成员都会接到通知。 然后,小组成员就可以通过运行 Active Bugs 查询或 My Work Items 查询,迅速地在 Team Explorer 中,确定该 bug 的状态。 工作项目集成简化了小组成员针对 SDLC 流程的交流,并随时向项目经理报告有关源代码的更改。

版本控制

VSTS 引入了一个全新的版本控制系统,从而提供了一个完整的 SCM 解决方案。 新系统建立在 ASP.NET 2.0 Web 服务的基础之上,并对数据存储使用 SQL Server 2005。 与 Visual SourceSafe 相比,SQL Server 2005 提供了更强大、更具可伸缩性和更安全的事务性数据存储。

e*BIS IT 开发团队使用了全新的源代码控制系统的以下功能:

安全组和用户访问权限: Team Foundation Server 提供了一个更精密的安全模型,对小组成员进行授权。 e*BIS IT 开发团队创建了安全组,以针对参与者、读者和管理员,划分访问权限。 譬如,团队中的技术撰稿人仅被授予读取权限。 从而,e*BIS IT 开发团队现在可以通过创建组,并对系统应用最低权限最佳实践方法,更好地进行访问管理。

工作项目集成: 通过运用签入策略,e*BIS IT 开发团队要求小组成员签入源代码时,每个工作项目都与某个更改相关联。 小组成员可以通过工作项目查询,快速定位任何源代码更改。 另外,变更现在被完全记录下来,并且对于任务、bug 或最初在系统中创建的要求而言,是可跟踪的。

变更管理: e*BIS IT 开发团队才开始探索 VSTS 的源代码控制变更管理功能所提供的选项。 下面列出了 e*BIS IT 开发团队正在使用的一些功能:

共享访问: VSTS 源代码控制功能通过允许多名小组成员签出相同的源代码,实现了并行开发。 项目主管、开发人员和测试人员不必再就解除锁定并签入文件,与其他小组成员进行交流。 该功能允许其他开发人员或测试人员同时签出同一个源代码,分别执行各自的工作项目。

搁置: 搁置 (shelving) 功能允许团队开发人员签入尚未完成或用于测试各种开发方案的源代码更改。 该功能允许开发人员在其他开发人员创建新的工作版本,并将他的代码搁置起来的同时,修复 bug。 稍后,被搁置的代码将与该 bug 修正进行合并。

合并: 合并 (merging) 及搁置功能使团队开发人员可以更轻松地将不同的项目组更改、版本、工作版本,合并回目标源代码分支中。 结合搁置和共享访问功能,VSTS 中全新且易用的合并功能使 e*BIS IT 开发团队可以同时进行新工作版本的创建和 bug 修正。

原子更改集: 原子更改集允许团队开发人员将一组文件作为更改集签入。 该功能保证了所有文件都能作为工作单位签入。 另外,原子更改集还有助于确保 e*BIS IT 开发团队的构建流程可以在不出错的情况下顺利完成。

注意: 与 Visual SourceSafe 相比,在使用这个新的源代码控制系统的各项功能时,e*BIS IT 开发团队感受到了巨大的性能提升。 而当该团队通过较慢的链路,远程开展项目时,这一性能提升表现得尤为明显。

项目网站

在创建新的项目时,而会随之创建一个 Windows SharePoint 项目网站。 e*BIS IT 开发团队将所有与项目相关的数据都保存在项目网站中。 与项目相关的数据包括:功能规格、技术规格、业务需求、会议记录以及团队必须进行协作或交流的其它任何项目数据。 此外,项目网站还包含一些显示部分 VSTS 报告功能的 Web 部件。 Web 部件提供了项目状态和进展情况的实时数字仪表板。

报告

通过运用 VSTS 附带的报告功能,小组成员不必再通过人工方式,报告项目信息。 在 Team Explorer 中,小组成员现在可以迅速确定分配给他们的任务、bug 和问题。 项目经理和项目主管不必再等着手动更新任务的状态,来交流项目的进展情况。 项目计划现在可以快速进行更新,而且绑定的工作项目列表可以导出到 Excel,进行进一步的分析。

注意: 在 Team Explorer 中,所有从查询返回的列表都可以进行打印,或者导出到 Project 2003 或 Excel 中。

Team Foundation Server 中紧密集成的共享数据源提供了实时的项目度量。 项目经理和项目主管不必再整合来自不同源的数据,为各个风险承担者提供项目度量报告。 Bug 率、工作项目状态和工作流度量都得到了实时的维护,并可通过报告或使用任何一个 Office 插件,得到这些数据。

VSTS 包含许多标准的 SCM 报告和有关项目管理的报告(开发团队用来管理 SDLC)。 下面列出了最常用的一些报告:

My Work Items: 该报告提供了分配给小组成员(别名)的工作项目的列表。 通过该报告,每位小组成员快速地确定他们的工作项目任务,而不必通过电子邮件或小组交流会,确定他们的任务。

Active Bugs: 该报告提供了尚未关闭的 bug 类型工作项目列表。 通过该报告,项目主管、测试人员和开发人员在 bug 被解决后,都会得到该 bug 的实时状态。 该报告为 bug 工作流过程,提供了更高效的协作平台。

All Work Items: 该报告提供了所有工作项目类型的列表,并且为项目经理,提供了已对项目创建的工作项目的完整列表。

Remaining Work: 该报告提供了一张显示剩余工作的图表(按日期排序)。 项目经理使用该报告,对剩余的工作项目执行资源均衡分配,并向风险承担者报告项目状态。

Bug Rates: 该报告提供了一张显示新增的、活动的、已解决的 bug 工作项目图表(按日期排序)。 该报告用于为综合的状态报告提供度量数据,并且研究 bug 的出现是否存在着某种趋势。

Work Items by Owner: 该报告提供了有关每位小组成员的工作项目的信息(按所有者排序)。 项目经理还通过该报告,执行资源的均衡分配,对整个团队平均分配工作项目任务。

通过使用 Team Explorer 中的各种报告,e*BIS IT 开发团队现在获得了项目状态的实时、一致的视图。 消除了内部报告,而且通过集成的报告组件,加强了小组成员间的交流和协作。

Visual Studio Project Management 工具运用了 SQL Server 2005 Reporting Services,而且 e*BIS IT 开发团队可以查看和分析各种格式的数据。 此外,也可以通过 Excel 透视表,查看各种报告中的数据。

注意: 可以对 SQL Server 2005 Reporting Services 中的报告进行自动义,而且小组成员可以自行创建报告(如果需要的话)。

最佳实践

下面列出了 e*BIS IT 开发团队在部署 VSTS 时所应用的一些最佳实践:

集成的工作流过程: 通过将工作流过程集成到解决方案中,e*BIS IT 开发团队去除了原先维护 SDLC 所需的许多手动过程。 不再需要通过电子邮件和小组会议,就工作流进展情况进行交流。

分布式实施: 在全面实施 VSTS 之前,e*BIS IT 开发团队先对一个小型的试运行项目应用 VSTS,由此对小组成员进行培训,并测试解决方案。 另外,在对 VSTS 流程实施每个 VSTS 功能之前,e*BIS IT 开发团队都会咨询一位产品专家。

最低权限访问: 通过使用 VSTS 提供的新式组安全模型,开发团队可以更精确地定义源代码及其它与项目相关的数据的访问权限。

签入标记: 通过在 VSTS 源代码控制系统中,正确地对签入进行标记,e*BIS IT 操作小组可确保他们从正确的源代码执行构建,以部署到相应的环境中。

收益

VSTS 实施为 e*BIS IT 开发团队带来了几方面的收益和时间上的节约。 下面列出了 e*BIS IT 开发团队所获得的主要收益:

开发人员的时间得到了节约: 借助 VSTS,e*BIS IT 开发团队为开发人员节约了 15% 到 20% 的工时。 结合 Microsoft .NET Framework 2.0(带有 Team Foundation Server)所带来的好处,小组成员可以花更多的时间构建解决方案,而花更少的时间来维护外部工作流过程。

集成的 SDLC 流程: VSTS 将整个 SDLC 都整合到了单个解决方案中。 项目经理、开发人员、测试人员以及其他支持人员都使用相同的数据源,而且每个工作项目都与项目的源代码相关联。

更好的团队协作与交流: e*BIS IT 开发团队中的所有成员都能实时地了解各自的工作项目以及每个项目的状态。 随着小组成员更好地运用 Team Foundation Server 中的协作功能和共享数据源,对于传统会议、电子邮件和电话通信的需求持续减少。

集成的报告功能: VSTS 所提供的集成报告基于经业界验证的最佳实践。 小组成员可以轻松地使用 Team Explorer,在 Visual Studio IDE 中访问这些报告,或者可以使用 Web 部件,在项目网站中访问这些报告,或者通过任何一个 Office 插件,访问这些报告。

总结

e*BIS IT 开发团队现在可以作为一个整体有效地工作,并就项目流程展开协作。 团队的每位成员(包括项目经理、开发人员、测试人员和支持人员)都能使用相同的共享数据源,为项目流程做贡献。 手动的外部流程不会再制约团队的工作效率,已经集成到解决方案中了。 实时的项目进展情况和状态报告,有助于 e*BIS IT 开发团队获得可预测的项目开发结果。



本文转自灵动生活博客园博客,原文链接http://www.cnblogs.com/ywqu/archive/2009/02/28/1400593.html:,如需转载请自行联系原作者


 

版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章