发布日期: 6/23/2005 | 更新日期: 6/23/2005
Visual Studio Team System
Microsoft Corporation
适用于:
Microsoft Visual Studio® 2005 Team System
摘要:Microsoft Solutions Framework (MSF) 是一个流程指导的集成系统,它包括既灵活又正式的方法,并提供一个为各种各样的项目实现自定义解决方案的框架。
注 本文档于产品投入生产之前编写,因此您可能会发现这里所包含的细节与发布的产品有不一致的地方。文中的信息均依据撰写本文时的产品状况,仅供您在规划时参考。如有更改,恕不另行通知。Microsoft 拥有本文档中的主题所涉及的专利、专利应用程序、商标、版权或其他的知识产权。除非 Microsoft 以任何书面许可协议明确提供,向您提供本文档并没给予您使用这些专利、商标、版权或其他知识产权的任何许可证。
本页内容
简介
Microsoft Solutions Framework (MSF) 是一个将软件开发流程、原则和公认的做法完全集成的集合,并可以高度自定义和高度扩展,它旨在需要时能随时随地为用户提供他们希望获得的指导类型。MSF 内外兼收 Microsoft 的公认指导,并与 Visual Studio 2005 Team System 携手共同为软件开发生命周期 (SDLC) 内的流程自动化和指导提供无缝的体验。本文对 MSF 4.0 进行介绍并简要说明了它的发展历史,同时讨论了传统方法在执行作为 SDLC 的一部分的流程指导时存在的问题,此外,还与 MSF 中正在采取的方法进行了对比,并提出了一些扩展可能性。
图
1. MSF
与
Visual Studio 2005 Team System
交互的方式
MSF 为改进应用程序开发提供了一套可自定义、可扩展的软件开发指导。MSF 包括既灵活又正式的方法,允许用户选择最适合的途径。采用 MSF 灵活的框架可以满足任何项目的需要,同时不必考虑项目的大小与复杂性。MSF 的理念表明:没有一个单独结构或流程可以非常好地适用于所有项目的需求和环境。它还认识到指导存在的必要性。MSF 提供本指导不带有强加说明性的详细信息,并允许用户自定义所提供的内容。MSF 组件可以独立应用,也可以一起应用以提高很多类型项目的成功率。
MSF 的远景目标是为软件专业人员提供由软件专业人员开发的高效、集成和可扩展的流程指导。
• |
高效:MSF 的一个关键远景目标是提高人们的工作效率。MSF 的流线型和自定义的流程指导表示,提供对高效性的支持。利用清单和指导(而不是详细的内容),用户可以迅速确定完成一项任务或活动的需求。
|
• |
集成:通过整套工具的无缝集成、以及帮助和 MSF 内容的集成,在工具内即可提供解决方案和指导。所有这些元素均可轻松地在 MSDN 及整个工具集的所有方面进行更新。可以对内容本身进行组织,以实现轻松维护。
|
• |
可扩展:流程指导和帮助在 MSF 内是完全自定义的。用户可以选择一个灵活或正式的方法,整合基于方案的开发,并通过内容确定他们自己的路径。
|
MSF 指导关注的是对“人与流程”的管理。因为软件开发小组的需要和做法在不断发展,所以收集到 MSF 中的材料也同步进行不断地更改和扩展。另外,MSF 与 Microsoft Operations Framework (MOF) 相互配合,从而为操作环境提供平稳过渡,这是长期项目成功的要求。
MSF 简史
MSF 的元素基于众所周知的业界最佳做法,并融入了 Microsoft 在高科技行业超过 25 年的经验。将这些元素设计为协同工作,以帮助 Microsoft 顾问、合作伙伴和客户解决在整个技术生命周期中遇到的许多重大挑战。
1994 年,作为 Microsoft 产品开发成果和 Microsoft 咨询服务工作的最佳做法的松散集合,MSF 被首次引入。从那时起,MSF 就植根于 Microsoft 内部来源(例如,Microsoft 开发团队、Patterns & Practices 组、Trustworthy Computing、Microsoft Operations Framework 和 Engineering Excellence 组)的成功且实际的最佳做法而不断发展。外部来源在 Microsoft 开发 MSF 的过程中也起到了重要作用。MSF 合作伙伴委员会 (MSF Partner Council) 的加入对确定 MSF 的方向起到了关键作用。MSF 合作伙伴委员会由全球服务集成商(例如,Accenture、Avanade、Capgemini、EDS、Fjuitsu、Infosys 和 Unisys)组成。其他外部来源也影响着 MSF 的未来,这些外部来源包括 Borland、Merrill Lynch、The Agile Alliance 和 The Software Engineering Institute。
MSF 使用这个实际最佳做法池(它已得到 Microsoft 内外的验证),并对其进行简化、合并和验证,以便合作伙伴和客户可以更加轻松地理解并采用。MSF 现在是一个健壮且成熟的框架,它由 Microsoft 内部一个专门的产品团队管理和开发,并受到国际顾问委员会主题专家的指导和评审。MSF 也继续利用当前的 Microsoft 经验。Microsoft 不同业务方向的其他团队也经常在内部创建、查找和共享最佳做法和工具。团队从这些内部项目成果学到的东西可以通过 MSF 合并,并分发到 Microsoft 之外。
传统的方法
流程的两个理念和两个方法
在过去的几年中,软件社区中流程的方法发展成两个基本理念。两种方法都有相对的优点和缺点。另外,流程的两个独立方法在更大的业务环境内得到了发展,一个与软件行业无关,而另一个则试图创建以软件为中心的流程。
灵活流程模型
灵活流程模型是由一个名为 Agile Alliance 的软件专业人员团体创建的,他们拒绝接受流程比人重要的观念。灵活流程模型获得了成功,但这种方法遭受的主要非议是:它的成就可能更多地取决于相关个体的天赋,而不是该流程模型的效力。
正式流程模型
正式流程模型是在业务环境(大部分在软件开发文化之外)得到发展的。正式方法提供一个公认的框架,但是当应用于 SDLC 时,它会变得很麻烦、很糟糕,可能无法最终产生响应市场并及时交付的高质量软件。
两种方法:独立于软件,与软件相关联
除了上述两种流程模型之外,开发 SDLC 流程的两种方法也得到了发展。一种方法开发独立于软件行业需求的流程,并创立了“一种流程应对所有行业 (one process fits all industries)”的指导。这种流程与软件开发相分离,深深依赖于发布的文本和方法。许多软件专业人员的反应是,问道:“这怎么能适用于我和我的项目呢?”
对创建与软件开发相关的流程的尝试也已经步入到台前。虽然现有的打包流程解决了与 SDLC 相关的问题,但软件专业人员发现它常常提供太多的信息,以致很难为“实际”软件开发所理解并适应。
对于软件专业人员,流程指导最重要的元素是,能够在正确的时间即时提供与工具支持集成组合在一起的正确指导。流程指导的制定是 MSF 的焦点所在,它是 SDLC 中的日常活动密不可分的部分。
从传统方法得到的教训
项目经理经常抱怨流程培训费用高昂,而且方法不好掌握。当前这种使用现有工具将流程指导合并到 SDLC 的方法,导致了指导经常与帮助和工具本身产生分离。另外,对于用户来说,映射整个内容的路线不明显。
铺天盖地的内容
现有解决方案中所提供的内容可能不合适、过时且又铺天盖地。目前,这样的内容采用的是“掩埋”法。对于所提供的数量巨大的内容,需由用户对其进行分类,并从中挑选出与特定项目有关的内容。虽然这种掩埋法试图让每个人满意,但最终却无人为之喝彩,原因在于它时而灵活,时而却很笨拙。另外,现有的打包流程指导不容易更新。这经常导致工具帮助、模板和指导之间不匹配。
自定义没有用或不直观
SDLC 流程自定义的尝试难以取得最佳效果。自定义需要首先使用指导,而为自定义提供的示例不够充分且实际使用价值不大。这经常导致指导一经自定义就无法识别。
在现有的打包流程指导中,用户没有自始至终感受到一致的整体体验。要使自定义的流程进入有用的系统,用户经常需要做大量的工作。其结果是,静态流程经常没有随着项目技术与环境的变化而变化。这种静态流程很快就会变得过时,因此也就没有用处。另外,这种自定义流程仅仅相当于一组 Web 页。与选定的工具集相集成采取的是一种特定页面形式,这种页面专门在流程的上下文中使用软件开发工具或部署环境。它很少考虑到流程和工具集之间的所有交互。人们使用这个工具时,必须切换到浏览器去寻找适当的主题。其结果是有断开连接的感觉。
相比之下,流程和工具的和谐统一注定 MSF 有一个高效且集成的方法。在 MSF 中,每个操作都会在流程上下文中捕获到。对某些衡量标准(例如,实际工作与计划工作、测试覆盖与错误修复、代码变动与代码稳定性)可以自动跟踪,无需进行任何额外的工作。数据会作为日常活动的一部分加以收集。流程需要的、在以前很难进行的任务,现在因 MSF 而变得很简单、不显眼、无需费力。
我们的解决方案:利用得到的教训
MSF 包括了从以前尝试中得到的重要发现,以便使软件开发流程正式化,以及合并流程指导。其结果是使 Microsoft 的最佳做法、外部参与者的技术专长和这些重要发现的组合,成为一个可按需提供适当且有用的指导的框架。融入到 MSF 远景目标的一些重要教训包括:为维护而设计的内容、一个清楚的元模型、一个清楚的插件模型和许多贯穿整个内容的导航路径。
为维护而组织的内容
MSF 被设计成能够按照主观意愿有效地更新内容。可以轻松地在 MSDN 及整个工具集的所有元素中更新内容。这种同时更新模板、指导和工具帮助的功能,确保了流程指导的所有方面均相匹配。这使得用户在广泛使用该集成指导程序包时工作效率更高。
清晰的元模型
MSF 由一个拱形元模型控制。这个框架确定如何将流程指导呈现给用户,并确保它以一致的方式显示。使用该元模型,用户可以轻松地确定他们需要的指导类型,以及项目要求的复杂程度。一旦用户选择了一种指导类型和复杂程度,MSF 就可以及时、快速地提供适当的指导。
清晰的插件模型
MSF 提供一种清晰的方式来自定义和“插入”内容。一旦用户选择了流程指导的类型和复杂程度,MSF 提供的内容就可以“按原样”使用,或者对其进行自定义以满足用户和项目的特定需要。在 MSF 中,示例内容非常强大而且是相关的,从而给用户一个坚实的基础,以便于从中构建高质量的流程指导。
众多导航路径
MSF 提供的不只是一个贯穿流程指导的导航路径,而是各种各样的路径,它们会随着用户决定的改变而改变。根据用户的需要,MSF 可以提供十分详细的“即购即用 (out of the box)”的流程指导,或者较为基本的清单(可以根据项目的要求对这些清单进行自定义)。每次用户访问 Visual Studio 2005 Team System 中可用的集成工具时,都可以选择他们期望在流程指导中拥有的详细程度和自定义级别。
通过吸取所得到的教训并利用 Microsoft 的内外资源,Visual Studio 2005 Team System 中的流程集成以一种前所未有的方式为软件专业人员提供解决方案。
扩展可能性
有了 MSF,流程就不仅仅是文档。它也证明了自身是一个真正的工具行为变革。如果您在项目开始时选择流程,则您还选择了工作流和工作产品,而这些将驱动系统的行为方式。对 SDLC 流程的支持是内置的,这有助于为工作流提供无缝支持。通过将流程集成到团队成员日常使用的工具中,MSF 降低了采用流程的门槛,从而可以自动收集跨功能的项目衡量标准,而无需与手动报告有关的开销。MSF 的下列元素可以自定义:
• |
流程指导
|
• |
迭代结构
|
• |
进入条件和退出条件视图
|
• |
工作项类型定义和规则(活动和工作产品)
|
• |
工作项查询
|
• |
源代码签入策略
|
• |
角色群集和安全组
|
• |
文档模板(Excel 和 Word)
|
• |
Microsoft 项目模板
|
• |
报告
|
• |
项目门户/SharePoint 站点模板
|
MSF 使用方法模板来定义各个项目所遵循的流程。没有一个通用的流程对所有组织甚至一个组织中的所有项目都有效。为了解决这个问题,MSF 提供一个灵活的工具集,它可以使用既灵活又正式的流程。Microsoft 的 Global Solution Integrator 合作伙伴提供他们自己的产品可用的方法模板,您也可以创建自己的方法模板。流程扩展性允许自定义工作项类型、签入策略、自定义报告和项目管理模板。
小结
通过在正确的时间为正确的人提供正确的流程,MSF 为软件开发提供了更好的流程指导。基于来自 Microsoft 内部来源和合格的外部来源的成功、实际的最佳做法,MSF 避免了以前试图使软件开发流程正式化的缺陷,并且融入了成功的元素。MSF 解决方案为高效、集成和可扩展的流程指导提供了一个框架,同时提供了一个可以使用既灵活又正式的流程的灵活工具集。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=662023