代码改变世界

前几天写的翻译作业,是关于MSF 4.0 beta的。

2005-01-20 13:27  Yuanyi Wang  阅读(1413)  评论(0编辑  收藏  举报

以下是Microsoft Solution Framework(MSF) 4.0的beta版本中的部分内容。目前这个版本还没有正式发布。以前的版本在http://msdn.microsoft.com/vstudio/enterprise/msf/中找到,4.0的信息可以在http://weblogs.asp.net/lbarbieri/articles/MSF4_Resources.aspx里找到。

概述
很容易理解,对于所有的项目而言在软件开发团队中不存在个体软件开发过程。与开发新领域相比,创建应用程序(比如企业资源计划系统)更需要一种不同的值得注意的方法。甚至在一个单独的项目类中,市场、规模、需求等项目特征需要不同的过程重点。
对于构建.NET和其他面向对象的应用程序来说,微软解决方案框架(MSF)是一种情景驱动(scenario-driven)、基于上下文(context-based)的敏捷软件开发过程。MSF Agile整合了直接构建符合使用需求(比如性能和安全)的应用程序的实践(practices)。决定怎样操作项目的方法基于上下文(context-based)和使用上下文驱动(context-driven)。这个方法(MSF Agile)帮助我们创建一种合适的、可以克服大多数敏捷软件开发的边界限制的过程,当达到某一目标设置时就释放一个版本。
原则
MSF Agile的核心思想是恰当数量的过程使人能够完成更多的任务。极少的过程需要特派人员作普通的事情。很多过程和特派人员不能够做特别的事情。
依赖于人(Rely on People):人是一个项目成功的最重要因素。过程、技术和开发工具只能使人完成更多的任务。建立一种环境和文化使人能够最大限度的完成产品,达到项目成功的最高概率。
关注商业价值(Deliver Business Value):是否向客户提供了商业价值是一个软件开发项目成功的关键因素。
让客户参与(Partner with Customers):客户确认通常在真实和虚构商业价值中是不同的。理解和有效沟通解决方案的确切含义是一个项目成功的关键因素。
适应改变(Adapt to Change):软件项目很少不经过一些变更就完成。一个基于上下文驱动(context-driven)的方法允许对一个过程进行必要的变更,包括项目期间发生的需求变更,以符合最初的项目需求。
角色
MSF Agile与其他比较规范的过程相比,角色是不同的概念。如果一个人有能力担当一种角色,他就可以担当。
这些角色是:架构师、业务分析员、开发人员、项目经理、测试人员。
架构师(概述)
架构师的主要目标是通过设计应用程序基础构架来确保项目的成功。包括定义应用程序的组织结构和开发的物理结构。在这些工作中,架构师的目标是通过把应用系统划分成简洁的模块来降低复杂度。对一个成功项目而言,结构设计是非常重要的,因为它不但指导以后的系统如何建设,而且也决定应用程序是否展现了应用程序的本质特征。这些特征包括应用程序的可用性,可靠性、可维护性、可执行性、安全标准,及是否可以为将来的需求变化留有足够的可扩展性。
业务分析员(概述)
业务分析员的主要目标是定义业务和为之服务的应用程序。业务分析人员与客户及其他相关人员一起工作,了解他们的需求及目标,并将之转换成角色定义、文档、情景(scenarios)和开发团队使用的服务需求质量,来建立应用程序。业务分析人员向开发团队提供主要的专家意见。
开发人员(概述)
开发人员的主要目标是实现计划期内指定的应用程序。开发人员也要帮助制定功能的物理设计、估计开发时间并致力于完成每个功能,建立、检查功能的执行,为开发准备产品,向团队提供技术专家的意见。
项目经理(概述)
项目经理的目标是在预算和工期内完成软件需求描述的应用程序。项目经理负责指定计划、安排任务、监视和报告项目状态、识别和减轻风险。项目经理也要与分析业务分析人员协商、确定开发顺序,与构架师和开发人员协商、评估的工作,与测试人员协商、指定测试计划,并顺利的与团队沟通。
测试人员(概述)
测试人员的目标是要确保应用程序达到客户期望的水平。对于测试人员,一个主要的目标就是要在一个产品发布之前确定并提交(addressed)产品中的错误。提交(Addressing)包括从修补错误到在文档中记录。在开发中提交错误要比在已经发布的产品中发现错误而为团队和客户带来的麻烦小的多。测试工作者要参与项目的全部阶段和每一个迭代周期。测试人员需要和整个项目组共享质量标准。