Blue Dream

记录成长的每一个脚印,写下漫长的程序人生
随笔 - 4, 文章 - 121, 评论 - 1, 阅读 - 89514
  首页  :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

Visual Studio Team System 商业价值白皮书

Posted on   Dennis  阅读(191)  评论(0编辑  收藏  举报

借直观、集成的应用程序生命周期管理之力,提高工作效率并推动适应性业务的发展

Visual Studio Team System 商业价值白皮书

发布日期: 2006-6-7 | 更新日期: 2006-6-7
*
本页内容

简介:了解应用程序生命周期的软肋

几乎所有的公司都无可避免于这样的境遇:在业务用户(驱动对软件开发的竞争性需求)、IT 组织(负责创建软件)以及操作人员(管理应用程序的开发和维护)之间存在的沟通、协作和文化差异之中苦苦挣扎。本白皮书将解决如今公司在软件开发和实现方面面临的主要挑战。随后还将讨论如何变更进行应用程序生命周期管理(Application Life-Cycle Management,ALM)的方法,并展示 Microsoft 的 Visual Studio Team System 核心模块,这些模块通过更有效的软件开发和实现将业务推向成功。

通常,IT 组织内部是彼此独立的,这就导致开发人员之间的交接很糟糕,实现核心项目生命周期各阶段和各种角色(架构师、项目经理、开发人员、测试人员等)的方法不一致。这会对设计、质量、代码管理和部署产生负面影响。这些挑战致使开销增加,对企业的底线造成了巨大冲击,原因就在于设计和质量差强人意、代码和项目管理效率低下,而且软件滞后也削弱了竞争的业务响应性。

高端应用程序生命周期管理 (ALM) 套件产品解决了上述许多问题。然而,由于这些产品由不同产品组合而成,因此往往难以使用、实现的代价过高,且无法紧密集成。

这意味着,在很大程度上,IT 部门和业务仍然不能使用有关开发团队进度、管理和质量的集中信息。随着成本不断攀升、竞争压力日益增大、业务需求更加复杂,21 世纪的组织需要直观、易用、集成的 ALM 产品。大多数公司极度受限于内部资源并用外包人员补充内部 IT 部门,这更促使迫切需要衡量 IT 成功与否的更好的优先级和度量。此外,监管合规立法也推动组织在生命周期管理方面向更加准确的方向发展。新涌现的开发范例(例如,面向服务体系结构 (SOA))也需要新的、更灵活、更全面的进行生命周期管理的方法。

地理位置分散的团队更需要生命周期各个阶段的可见性和协作。甚至协同工作的团队也深受不连贯沟通的困扰。如果开发团队工作时跨越了很大的地域和文化差异,而其成员来源(包括内部团队和外包或海外开发团队)混杂,则该问题更加严重。专业技能的过度集中也往往会加剧企业文化本质的差异,导致信息交流不畅。对 21 世纪的组织至关重要的一点是:能够对业务和需求的变化作出快速反应。然而,多数组织都不能适时地改变管理。在瞬息万变的市场中(如金融服务或电信)以及存在激烈兼并和收购活动的行业中(如银行业和保险业),公司必须迅速、适当地作出反应,否则就会减少收入、丧失竞争优势。

了解各个阶段:创建切合于生命周期的管理以推动开发

在考虑针对集成的 ALM 的新兴解决方案之前,有必要定义和了解主要的生命周期阶段 - 过程和项目管理、需求、建模、测试,以及软件变更和配置管理。

每个生命周期阶段都有自己的优势,这些优势在彼此有效地集成和协作时会更加强大。然而,这些阶段和工具必须与 ALM 过程相关联,因为 ALM 过程也反映了 IT 组织和企业的文化。便于准确性、便于采用 ALM 工具的最佳实践,以及与现有企业和 IT 文化共融的最佳实践,它们都是成功的关键。这些实践(结合了任务安排和资源分配的强大的项目管理)为有效的软件开发奠定了坚实的基础,其原因在于它们为适当用途提供了一个框架,为行为更改提供了一个模板。如果组织不能以最佳方式(在合适的时间使用合适的方式)使用工具,那么即使用世界上最好的技术,也不会成功。

有效的过程还有助于促进各团队间更好的沟通。例如,相关的、通用的业务需求推动项目成功。行业调查表明,70% 到 80% 的项目失败是由拙劣的需求收集、管理和分析直接造成的。这里再次强调,过程扮演一个角色。由于业务用户与技术人员之间只进行一次沟通,从而导致在项目开始前需求就已过时。通过使用熟悉的业务工具(如 Microsoft Word 和 Excel)以及简化业务用户与 IT 人员之间的反馈往返次数,从而使用户能够与开发人员进行沟通,这是改善需求的质量和通用性的关键因素。随后,这些需求能够帮助促进建模。针对更严格的需求,辅助的高端工具提供了跟踪能力和强大的管理。

合适的建模允许组织创建反映业务需求以及体系结构和系统要求的应用程序。迭代过程方法允许在业务用户、设计人员和实现代码的人员之间进行实时交互。通过这种方式,代码内容更有可能反映出当前的业务需求。设计人员本身扮演着不同的角色。通常,架构师和操作人员之间没有直接联系,这会对软件部署产生负面影响,并导致增加软件部署的成本。通过架构师、设计人员和操作人员之间的沟通来深入了解部署和基础结构方面的挑战,这样可以提前解决上述问题。能够使用跨组、跨生命周期可见性的广泛的设计工具也很重要。

对开发人员而言,通过在所选的 IDE 和生命周期管理之间进行密切的协作来简化开发过程(包括测试、软件变更和配置管理以及版本控制)也很重要。

在应用程序生命周期的早期发现错误可降低成本。行业调查表明,如果在应用程序生命周期后期找到问题,所增加的成本是在单元测试早期发现并改正问题所增加成本的 10 倍到 100 倍。除了损失事务性和为用户所提供系统的收入之外,日渐低迷的声誉所付出的代价也是无法计算的。首先要通过迭代单元测试支持进行及早的、频繁的测试。这意味着,为系统和系统集成测试后期阶段产生的代码,在用户接受并进行部署后将具有更高的质量。此外,了解已经过测试的代码,以及解决性能和负载测试、手动测试和测试过程管理的问题,也很重要。这使测试人员能够与开发保持协同,更好地组织和管理其测试方法。改善质量会降低业务的成本,提高 IT 部门的响应性,并且减轻操作和维护的事务。

软件变更和配置管理以及版本控制是开发人员有效管理代码创建的关键因素。由于在代码更改的管理方面非常混乱,并且与测试的协调不足,因此一旦修改了软件,就有可能以各种方式导致失败并出现混乱的修订版本。这些更改本身可能会引入质量问题,而且需要对更改进行管理才能实现团队协作(而不会造成代码混乱)和一致的软件版本,这些都符合关键的业务需求。在这种情况下,更改请求的优先级也很重要。有关 IT 部门对更改请求的响应性的报告提供了另一种定量度量方式,从而满足了对 IT 资源(无论是内部资源,还是在国内进行离岸和/或外包开发的资源)有效性的分析和行政理解。

总的说来,很明显必须对上述每个阶段进行良好的定义。然而,这些阶段与有效的自动化工具(紧密集成工具的,以及使用适当过程和项目管理部署的工具)配合将为业务带来显著的好处。这些好处包括:对竞争压力的适应、灵活的响应,以及削减了在部署阶段投入的用于代码创建、质量和部署的成本。由于人为因素对 ALM 演变的妨碍往往是最具挑战性的,因此促进采用易使用的、直观的产品以及信服的过程和项目管理就成为对成功至关重要的因素。

以前的方法

最初,适合需求、建模、SCM 或测试的应用程序生命周期产品没有与其他生命周期工具和阶段相集成,也没有与开发人员用来创建代码的集成开发环境相集成。过去五年间 (2000-2005),这一市场不断在进行合并。较大的供应商收购了较小的供应商,将开发环境与传统的应用程序生命周期管理工具集成到集成套件中已成为不可抵挡的趋势。这些集成套件围绕着 IT 项目组合管理最近的变化,预示着我们所期待的产品将主导市场的发展。然而,因供应商获得了不同价格点的产品而导致存在套件内和跨套件集成上的挑战,较高的价格点和产品复杂性限制了 ALM 套件的广泛使用。

Microsoft 的 Visual Studio Team System 为有效的应用程序生命周期管理奠定基础

Microsoft 的 Visual Studio Team System (VSTS) 将跨越核心应用程序生命周期管理区域的直观功能合并在一起,以帮助解决业务驱动力和开发挑战中的问题。从最初的建模和设计一直到开发、变更管理、测试和部署,VSTS 使基本的功能和连接从其构建的那一刻起就能作为一个集成系统来工作。

Visual Studio Team System 中的 Team Foundation Server 为软件开发和协作提供了一个切合实际的平台,这是因为它将过程管理、工作项跟踪、源代码管理、生成自动化、测试和团队控制与集中报表功能合并在一起。对开发工作的了解由开发过程中的角色(架构师、开发人员和测试人员)决定。所有工作项均位于一个数据库中,以允许更紧密的协作。

来自 VSTS 的定量数据结合了来自质量控制、代码生成和周期时间的信息,以提供定性评估 IT 成功的度量。通过这种方式,组织能确定哪些资源能为开发项目提供更有效的支持。

项目报表集成到 VSTS 中并可通过 Windows SharePoint Services (WSS) 查看,通过 Microsoft Excel 和 Microsoft Project 可以了解生命周期和开发过程的详细情况。使用这些功能,团队能够对资源选择、范围和策略决策作出适当的选择。

这将有助于利用 Team Foundation Server 规划 VSTS 的整体框架,然后掌握与特定角色关联的核心功能,从而提供对 Microsoft 的应用程序生命周期管理方法的了解。

掌握 Visual Studio Team Foundation Server 基础

Visual Studio Team Foundation Server 为 VSTS 的其他模块提供了框架。其内容包括工作项跟踪、项目门户、度量仓库、源代码管理、自动生成、MSF™、过程指南以及集成服务。过程包括 MSF for Agile Software Development(用于较浅的、更多迭代的策略)和 MSF for CMMI® Process Improvement(用于更结构化、更严格的方法)。使用 Process Template Manager 向导,可对这些过程的字段、表格、状态和规则进行自定义。CMMI 模板是 Agile 模板的一个超集。Project Creation Wizard 帮助启动项目,"过程编辑器"则让用户在最佳实践的上下文中构成项目。

项目管理和更改管理的主要特性是工作项。工作项代表要管理的工作类型,包括任务、方案、Bug 和风险。可在 Microsoft Excel 或 Microsoft Project 中管理工作项。工作项跟踪过程中存在大量用于协作和报表的链接,涉及代码项目、Bug 以及整体项目进度和通知。

基于 WSS 的项目门户提供了承载组合的、高级项目信息的场所,还提供对项目成员和其他需要了解数据的用户的工作项的 Web 访问。该报表功能基于 WSS Web 部件。基于 SQL Server 2005 的度量仓库自动收集数据,并为 OLAP 报表提供趋势、合计、明细数据分析,以便更好地通知管理人员和团队成员有关项目的状态(该功能基于 SQL Server 2005 Reporting Services 构建)。

Team Foundation Server (TFS) 整合了源代码管理和生成管理。源代码管理(从签入到代码完成)紧密集成在 Visual Studio 开发环境中。该产品允许并行开发和通知。每天晚上执行脚本化的自动生成。报表功能在源代码管理和生成管理之间进行协调,这些产品与其他 Team System 产品(具有多个 Team System 角色)相集成。这些源代码管理功能是独立于 Visual Source Safe (VSS) 开发的,VSS 还可在自己的产品中使用它们。SQL Server 2005 支持这个新的存储库,因此该存储库可管理大型源代码库。由于源代码管理系统对服务器使用基于 Web 服务的通讯,因此它还可用于广域网中。此外,Microsoft 的合作伙伴提供到其他 IDE(不仅限于 Visual Studio)的集成。TFS 提供的一个新 SCM 功能是"正在搁置"(shelving),该功能允许开发人员签入尚未完成但生成时不再进行更改的代码。该功能本质上是一个存储正在进行的工作(该工作可稍后完成并合并到生成分支中)的专用分支。

考虑以下角色:面向架构师、开发人员和测试人员的 Visual Studio Team Edition

延续较早阶段着力于对基于角色的包装,Microsoft 将 Visual Studio Team Edition 定位为三个截然不同的组:架构师、开发人员和测试人员。

Visual Studio Team Edition for Architects 本身也定位了三个完全不同的子组:应用程序设计器、逻辑数据中心设计器,以及系统设计器和部署设计器。应用程序设计器可以访问"白板"模式,以便创建应用程序设计。代码能够在设计器表面生成,并且能够很好地实现模型与代码之间的同步。该产品还能够根据逻辑结构进行验证,并且能够可视化表示分布式系统之间的各种关系。这很重要,是因为通常情况下,应用程序设计器几乎不能预见应用程序最终将驻留的整个系统。逻辑数据中心设计器可以访问设置和约束编辑器,以及系统定义模型(System Definition Model,SDM)生成器和编译器。

针对架构师的 Team Edition 具有系统设计器和部署设计器,该组件将许多组织中通常各自为政的操作和部署联为一体。Team Edition 使用户能够将应用程序设计绑定到数据中心设计,然后创建可组装的系统。此外,架构师、开发人员和操作人员之间的断层对大多数公司而言仍然是一个具有挑战性的、代价很高的问题。这种对于体系结构对软件实现的影响的了解能够支持在生命周期较早阶段开始协作,从而削减了维护和部署的成本。多种项目生成以及持续的同步可使信息处于托管状态并保持是最新的。

简化该功能的关键计划是动态系统管理计划(Dynamic Systems Initiative,DSI)。DSI 支持对系统和服务进行可视化,并且支持对每个系统和服务进行元数据跟踪,以便向其他系统和服务进行描述。为什么这很重要?这意味着,解决方案架构师随后可以针对基础结构架构师的数据中心设计来验证他们的应用程序设计。Microsoft 在具有系统定义模型 (SDM) 的 Visual Studio Team System 中首次实现了 DSI,这样做可以对各层的部署环境和应用程序进行分类,从而帮助简化应用程序的设计、开发和实现。

Visual Studio Team Edition for Developers 延伸了代码创建、动态和静态分析、分析和代码覆盖功能。静态分析支持托管代码和本机代码;代码分析能够实现序列视图、对象分配和函数视图,以及应用程序验证器的可视化。这意味着,开发人员将更清楚地了解以前工作的结果,并且会看到产生的代码与规范之间的整体一致性。集成的单元测试以及与测试框架的紧密集成便于在生命周期中更早、更快地生成质量更好的代码(降低了成本,提高了工作效率)。此外还包括代码分析器,它揭示了操作系统内部的核心规范。例如,如果应用程序运行时出现内存泄漏,代码分析器将捕获内存泄漏并通知开发人员。

Visual Studio Team Edition for Testers 在 Visual Studio 产品家族中引入了测试,首次提供了来自 Microsoft 的集成测试工具集。使用该产品,Microsoft 集成了一个测试创作和执行环境(Test View 和 Test Explorer)、负载测试,以及单元测试。负载测试针对 Web 服务和 Web 页上下文中的性能(通过基于协议的脚本),负载模式以及性能计数器,以收集和提供阈值监视。单元测试和代码覆盖都是在针对测试人员和开发人员的 Team Edition 中可用的延伸功能。这很重要,因为它能够让开发人员和测试人员更早地、经常地、反复地进行单元测试。代码覆盖能够让开发人员和测试人员了解应用程序中已测试的部分和未测试的部分。这还便于排定代码和测试资源的优先级。由于某些代码内容存在很大的失败风险或对业务的重要性更高,因此应该指定资源首先对其进行测试。

这三种角色都具备以下功能:类设计器,Visio for Enterprise Architects(针对那些具有 MSDN Premium Subscription 的企业架构师)以及 Team Explorer(包括 Team Foundation Server CAL 许可证)。Visual Studio Professional Edition 也包括在基于角色的客户端中。

对于那些渴望支持这三种角色上可用功能的灵活性的组织,Microsoft 为其提供了 Visual Studio Team System 套件。

摘要:评价 VSTS 带来的好处

Microsoft Visual Studio Team System 带来的主要好处是,通过在熟悉的 Microsoft 工具范例内进行相应的软件开发,能够更好地适应企业,并且更好地与 IT 进行协作。利用综合信息来提高工作效率和沟通、自动进行跨生命周期工具集的数据捕获、公共的项目门户、跨工具查询和报告,以及公共链接和通知服务,Visual Studio Team System 使用户能够节约成本。时间流转,Visual Studio Team System 期待超越自身的发展 - 不仅限于目前涉及的规划与项目组合管理工具的集成,还要扩大项目估计和管理支持,以及对操作支持的系统管理链接。

相关白皮书

(评论功能已被禁用)
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示