微软解决方案框架结构(MSF)是一组建立、开发和实现分布式企业系统应用的工作模型、开发准则和应用指南。它帮助企业融合商业和技术的目标,降低采用新技术后系统整体的费用,以及成功的应用微软技术整合商业过程的方法。
MSF揭示出为成功设计、构建和管理技术基础结构或商业解决方案,所需了解的重要风险、重要的设计基础假设和关键的依赖关系。它包括明确的知识库、应用指南和实践经验,如:
- 企业结构设计方案—采用交互的方式,侧重于制定长期规划,同时也能完成短期目标。
- 项目开发准则—包含组队模型和过程模型,用于建立高效的项目组,管理项目的生命周期。
- 项目设计过程和多层结构的应用程序模型—用于支持设计复杂的分布式企业应用。
- 企业信息基础设施的实施方法—使用组队模型和过程模型支持实现、操作和技术上的方案。
一、概述
MSF是一个经验知识库,它包括以下方面的内容:
- 企业结构设计方案—采用交互的方式,侧重于制定长期规划,同时也能完成短期目标。
- 项目开发准则—包含组队模型和过程模型,用于建立高效的项目组,管理项目的生命周期。
- 项目设计过程和多层结构的应用程序模型—用于支持设计复杂的分布式企业应用。
- 企业信息基础设施的实施方法—使用组队模型和过程模型支持实现、操作和技术上的方案。
它是一种框架结构
框架结构重点解决一个基本的问题:它提供解决总体问题和作出有效决策的轮廓。
框架结构可以增强分析和开发大型项目的能力。MSF 能够确定项目最大的风险在何处,强调制定计划和确定进度,确保成功发布一个产品所必备的条件。
MSF基于一组工作模型,这组模型是由微软公司及其合作伙伴,在与客户成功开发分布式计算和客户服务器应用程序的经验得来的。
框架结构不是一种预先决定工作结构、工作任务和发布产品具体方法的方法论,而是提供了灵活的方式、应用有创造力的方法去解决实际存在问题的思想。
象任何明确定义的工作模型一样,MSF积累了三个关键的成功因素:
- 一种帮助提供技术决策指南的观点。
- 一组反复跟踪、监控和管理项目及其进展的参考方法。
- 一致的重用性保证在灵活的计算环境中有效的利用已有的知识和技能。
一个资源的集合
MSF收集了一组集成的资源和准则来指导项目组走向成功。它包括明确的概念、详细的工作指南和微软最好的实践经验,保证您能立即开始工作。
这些资料可由以下途径得到:
- 联机资料
- CD-ROM知识库
- 教学课程
- 完整的参考手册
因为CD光盘中的内容是由HTML文档组成,所以要使用Microsoft Internet Explorer阅读这些资料。此外,CD光盘中还有更详尽的指南讨论在参考手册中提出的概念。
您如何得到它
MSF在世界范围内由微软顾问咨询部及微软认证的培训中心提供培训。
它在不断发展
MSF是一个框架结构,它不是一成不变的。相反,MSF会随我们从微软的客户和合作伙伴那里的学习而不断的发展和完善,新的思想和准则会不断地被引进MSF。这些发展将适应技术的更新、商业需求的变化,并支持构建更好的软件解决方案。
技术上的变化会导致MSF作出相应的变化。我们会不断地在参考资料上增加更多的指南、介绍和更新的概念,根据当前的思维增进我们的教学课程。例如:我们认识到Internet强大的生命力和影响力,我们就在我们的资料上很快的作了针对Internet的更新,
补充介绍我们的概念如何应用于开发基于Internet/Intranet基础和结构的应用程序。
MSF将一个项目中不同阶段的工作人员分为六个角色,通过这六个角色,项目可以得以迅速、完善地实施。这也体现了项目开发的六个重要质量指标,它们在全球是一致的。这六个角色分别是:
- 产品经理。他了解用户特征,尤其是商业特征,明确用户的需求以及需求的期望值。之所以强调用户需求的期望值,是因为用户的商业化特征比较强,需求无尽,无法界定到底如何才算需求得到了满足。而确定了需求期望值后,用户的商业目的就非常明确,实施起来也比较顺畅。
- 程序管理员。他负责制定计划,每天找出完成该计划的风险所在,排除风险,每天交付应该完成的内容,确保计划按质、按量实施。
- 用户教育。设计友好的用户界面,对用户进行培训,确保用户能够并且愿意和喜欢使用开发出的产品。
- 开发。开发者在开发前期就参与用户需求分析和项目计划制定,他最清楚具体的开发过程。在开发期开始后,他负责进行代码开发,在每一个阶段,交付每一项内容的代码。
- 测试。负责开发出的代码的测试。测试者并不是要找到每一个开发者的每一段代码的每一个错误(bug),而是要找到代码错误之间的关系,解决最根本的错误,掌握错误的状态,从而迅速排除错误。
- 后勤。后勤人员负责将实验室的产品商品化,变成实际可以运行的产品,达到最初制定的商业目的,取得商业效益。这项工作在以往的项目中可能比较简单,因为实验室的环境可能和实际环境几乎一致或差别不大。而现在却不同了,实验室环境可能十分简单,而实际环境可能非常复杂,比如分布式环境、Internet/Intranet环境等,尤其是大企业,实际环境比实验室环境复杂得多,因而将实验室产品运用到实际环境中是一项非常重要的工作。这项工作没有完成好,往往使整个项目前功尽弃,功亏一篑。
二、MSF简史
1994年,基于微软产品开发的经验和教训以及微软微软咨询服务的业务经验,微软推出了Microsoft? 解决方案框架 Microsoft
Solution Framework (MSF)。当时的MSF只是这些经验教训的松散集合。在以后的几年中,MSF 进一步吸收了微软各个部门和微软的合作伙伴在实际项目中的经验,在2002年,随着Visual
Studio.Net 的发布,微软发布了一系列关于MSF 3.0的白皮书,针对MSF 3.0 的大规模培训也在中国开始。
2006年,MSF 4.0 随着Visual Studio Team Foundation 2005 发布。它增加了不少敏捷开发的内容,并且明确刻画了团队典型的流程和在新的团队协作软件包VSTS
中的应用。
我们可以不用管MSF 演化的细节,要记住所有模式都不是一成不变的,关键是要掌握变化的原因。
三、MSF的基本原则
MSF的核心有八个基本原则:
- 推动开放的沟通
- 为共同的前景而工作
- 充分授权和信任
- 各司其职,对项目共同负责
- 重视商业价值
- 保持敏捷,预期变化
- 质量投资
- 学习所有的经验
四、MSF的一些特点
MSF是微软在总结自身多年项目管理经验的基础上提出的一套项目管理界方案,主要特点是实用性和可操作性强,有许多方面值得我们借鉴。现对其要点作一描述。需要注意的是,微软有国内企业不能比拟的优势:如人力资源优势等,所以并不一定完全适合国内的软件行业,但我们可以发现,他们的很多做法是我们已经意识到并有所改进,有些做法我们可能已经体会到但还没有有上升到一个管理原则的高度。
1、Code Review 原则
是指程序员定期向其他人讲解自己源程序的活动,这个方法被众多公司采用并被认为是一个行之有效的方法。主要优点有:
- 因为要向大家讲解自己的程序,程序员会更重视自己的工作进度、代码质量。
- 可以互相学习,共同提高,及时发现问题。
- 程序员可掌握他人的程序设计思想和方法,利于维护他人程序
2、版本管理方法,采用统一的版本管理服务器管理项目源程序,每个人的程序,必须经另外一个程序员检查后才能Check in, 每天晚上都有build所有程序,如果build不能通过,程序员必须立即修改自己的程序。每隔一段时间配合进度里程碑release一个内部版本。主要优点:
- 从开始程序就是一个整体,而不是到最后才整合在一起。
- 互相检查才能Check in可以减少错误的发生。
- 里程碑的设定,对大项目的管理尤其有益,既不会因为计划时间较长而有松懈,也能做到有张有弛。
3、文档管理,MSF的文档崇尚实用简洁,尽量避免事后没人看得文档,资料的积累和经验的继承通过加强程序员的交流来解决(如Code
Review, Check in 前的互相检查)。微软认为,一个项目的存在是和项目组的存在相关联的,如果项目组整个离开了团队,那么有再多的文档也没用。在不同的开发阶段,微软也有不同的文档要求,但应该注意到,微软开大的是办事系统软件,和一般的应用软件开发相比会有所不同。
4、人员招聘培训,人员招聘首先注重人格因素,其次是技术因素。人员的培训最有效最方便的手段是利用网络以多媒体、电子文档的方式提供。
5、项目角色的组成:程序管理、产品管理、开发、测试、部署、用户培训,但微软并不是每个项目都配全了这些角色,尤其是小的项目角色会有重叠。强调最好由用户来充当产品管理角色。
6、项目测试人员和开发人员的比例为1:1,微软通常是2:1,微软通常会雇用大量的学生等临时人员来进行开发和测试。
7、强调进行风险管理,对项目风险进行确认并全程跟踪。
8、项目开发过程进行里程碑的建立和管理。
9、项目总结制度。每个项目完成后,对其失败和成功的地方进行总结
五、为什么应用MSF?
商业问题
商业策划者在面对世界上不断变化的复杂技术时,必须确定自身企业总体技术策略的方向。最大的挑战来自于保证商业目标和技术目标间的一致。
当前,信息技术的投资较以往越来越高。投资以不仅仅局限在数据中心方面,更多的倾向于分布式网络的增值、群组工作软件和提高使用者的生产力,保证信息技术投资得到有效的控制。
即便完全不考虑这些投资,错误的使用技术给商业带来的负向费用的影响,也是不容质疑的。所以新技术的成功实现将给企业带来重要的机会:
今天的分布式组件技术允许更大的弹性,包括集成不同的协议、应用程序接口、应用程序、操作系统和硬件。
今天的技术也通过消息传递、事务处理协调、复制、数据仓库、多层结构的设计和鲁棒性的客户机/服务器开发工具包提供对商业处理过程和活动的支持。
基于组件的技术提供了一种在商业方案中集成组件行业最好产品的能力。组件同样也允许随企业结构和商业处理过程的变化,更快地重新配置应用系统。
今天的技术能够在不瓦解企业的基础结构设施的情况下,不断的适应发展变化中的商业需求。多层结构的应用程序允许分离用户、事务和数据服务,保证新版本的组件在不影响整个系统的情况下加以实现。
降低费用
客户机/服务器技术可以降低系统整体费用。但是企业必须重新评估它们的基础结构设施和商业运作过程,来保证多余的费用真正被消除(例如:传统的功能转移到更低廉的平台,旧系统停止使用,新的商务处理过程最大的提供了增值能力等等。)
六、MSF如何帮助解决问题?
MSF通过五个基本模型的应用,帮助企业认识到采用新技术的优点。这些模型适用于规划、构建和维护整个过程中不同方面的问题。(参见图1)
图 1:MSF强调的几个领域
MSF企业总体结构
MSF企业总体结构模型提供了一系列指南,用于规划企业的基础技术设施,流程化商业的运作过程,并鼓励重用性。这种模型是描绘构建于用户服务、事务服务和数据服务基础上的,多层应用开发的MSF应用模型的基础。
图 2:企业总体结构模型
图 3:MSF应用模型
MSF组队模型
MSF组队模型展示了如何组织项目队伍,在时间控制和连续不断发展计划的要求下,有效的交付系统的解决方案。它描述了六种基本的角色(程序管理、产品管理、开发、测试、系统实现和用户教育)。
图 4: MSF组队模型
MSF过程模型 MSF过程模型解释了如何基于:范围、进度和资源,规划和控制面向结果的项目。它是基于四个可见里程碑交互的、允许修改的过程模型。过程模型中的“设计”阶段在面向商业解决方案内容,结合过程模型、组队模型和应用模型的组件方案设计过程(Designing
Component Solutions Process)中,进行了详细的介绍。
图 5:MSF过程模型
图 6:组件方案设计过程
七、MSF的组成元素
规划
企业总体结构规划
应用三个基本模型可以帮助整体的理解企业。企业总体结构规划提供了分析企业组织机构运作和商业应用集成和处理的基准。
企业总体结构是包含四个方面的框架:事务、应用、信息和技术。
这些模型不仅仅描绘了企业总体结构的组成部分,还通过以上各个方面在集成系统中的应用,帮助企业有效地实现每一个方面。企业总体结构规划的过程,提供、揭示了商业运作的标准和所受的局限,使商业运作过程更易管理、费用更有效。
MSF的方法以“边规划、边设计”为基础,这意味着企业总体结构规划过程,一直伴随着商业需求变化和技术发展的连续过程。企业总体结构规划使用了MSF的一些基本原则,如:风险控制的时间安排、固定的产品发布时间、基于活动的设计、外部可见的里程碑、小组模型、并行的结构设计、最大的限制、连续的方案开发和结果实现。对比以往的自上而下的方法,现在项目不仅由企业模型所控制,它们还将直接受企业总体结构发展的影响。
构建
方案开发准则--Solutions Development Discipline (SDD)
软件开发是一种复杂的、有创造力的过程。在较大的开发队伍中,采用自上而下的方法,将会抑制创造力、有效的交流和真正的方案开发。SDD通过在软件开发过程中应用MSF基本模型,帮助软件组织克服这些障碍。
组件方案设计--Designing Component Solutions (DCS)
DCS详细解释了MSF过程模型中“设计”阶段的内容。DCS基于方案设计过程,覆盖了为给出满足商业需求的功能设计,所必需进行的设计活动。DCS的概念帮助理解和融合使用者和商业的需求(在项目层次上)。它强化应用程序的逻辑结构,以达到简化复杂性的目标。
这种设计过程允许有效地分派各种具备专业技能的人,以使特定的需求得到满足。这种技术同样保证在设计过程中维护应用程序的一致性。整个设计体系使用场景分析描绘概念设计,使用对象和服务描绘逻辑设计,使用组件描绘物理设计。
重用性设计--Designing for Usability (DFU)
DFU提供了大量简明的概念和实际的经验,进行以用户为中心的基于Windows的程序设计。它侧重Windows应用程序的物理设计,强调用户界面和操作衔接等原型技术。
维护
基础设施实现和维护
MSF建立起对三个基本MSF模型中的角色、关系和应用的一致理解,解决实现、管理和维护技术基本结构的问题。
MSF包含IT基础结构实现要求的、有效的组队模型和过程模型,确定了关键的项目构成因素和最终交付的成果,强调一致的规划和管理模型给系统带来的好处和费用的降低。
八、实施MSF
在项目实施的过程中运用MSF,其效果将是显著的,它能够将技术变成产品,由产品变成效益;它能够帮助用户少走或不走弯路,从而更快地达到自己的商业目标。
MSF在微软的许多大客户中得以大显身手,比如:瀛海威、中国投资银行、香港跑马场、香港汇丰银行等。目前,在全国几个大城市举办的MSF巡回讲座,其目的
在于帮助更多的国内公司的领导,尤其是大公司的领导,认识MSF这一思想和原理,并能够在 实际中运用这一思想。微软正计划或已经开始和一些大客户共同实施MSF架构,如方正、用等。张彤川先生笑着对记者说,尽管每一位实施MSF项目的微软顾问的收费比较高,但MSF来效益足可以使这笔费用微不足道。
由于我国旧的体制往往并不以商业化为主要目标或商业化目的不明确,致使现在仍抱有旧体思想的企业在进行项目实施时常常陷入死循环。比如,当一个开发项目即将结束时,由于技的发展或业务的发展,客户的需求有所变化(往往是提高了),和最初签定项目实施协议时不同。抱有旧体制思想的客户通常是拒绝在项目结束协议上签字,而是要求开发商按照变化了需求继续进行开发。但是,当按照变化了需求所进行的开发结束时,需求可能又发生了变。于是又继续进行开发,如此死循环。而MSF却可以解开这一死循环。当开发项目结束时,
即使需求发生了变化,但仍然可以将已开发出的部分变成产品,把该产品投入商业应用,使它生商业效益。至于变化了的需求,则可以开发出下一个版本来满足,甚至不断地开发新版本,
以满足不断变化的需求。
MSF思想正是要解开这一旧体制造成的死循环,从而更好地利用投资,帮助客户实现自己的业利益。这也是微软进行MSF巡回讲座、和大公司共同实施MSF思想的主要原因之一。
张彤川先生告诉记者,微软是一个产品提供商和技术提供商,提供平台、产品和技术。而真正满足用户实际需求的成千上万的应用要靠合作伙伴来完成。微软提供解决方案架构
(Solution Framework),而不提供具体的解决方案(Solution)。解决方案架构是一种准则或规则, 各个领域内的合作伙伴按照这一准则,以工业化模式制定出具体的解决方案。所谓工业化模,是指产品几乎只需要装配一下即可。就像盖房子一样,建筑者只需要把满足一定标准的各各样的预制板组装起来,即可建出符合标准的房子。这种模式可以大大提高代码的利用率,
使开发商不必一切从头做起,从而提高开发效率。而MSF是这一切的协调准则。
可喜的是,现在在国内已经有很多MSF应用或MSF思想得到认可的实例。比如,用友公司是内最著名的财务软件公司,以往大多是最终使用客户购买用友软件,而现在有很多系统集商来购买用友财务软件。这些集成商在用友软件的基础上开发出更能满足不同客户的千万别的需求的产品,帮助它们达到自己的商业目的。而用友只需提供财务软件核心,让其它集成商在此基础上进行再开发。这对用友、集成商和客户都是有利的。此外,其它领域的公司也有类似情形。MSF将结出越来越多的灿烂的果实。
|