技术开发 频道

Team System:Microsoft 解决方案框架

IT168 技术文档】

    简介

    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 的远景目标是为软件专业人员提供由软件专业人员开发的高效、集成和可扩展的流程指导。

    <1>高效:MSF 的一个关键远景目标是提高人们的工作效率。MSF 的流线型和自定义的流程指导表示,提供对高效性的支持。利用清单和指导(而不是详细的内容),用户可以迅速确定完成一项任务或活动的需求。 
    <2> 集成:通过整套工具的无缝集成、以及帮助和 MSF 内容的集成,在工具内即可提供解决方案和指导。所有这些元素均可轻松地在 MSDN 及整个工具集的所有方面进行更新。可以对内容本身进行组织,以实现轻松维护。 
    <3> 可扩展:流程指导和帮助在 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 中的日常活动密不可分的部分。 

0
相关文章