您的位置:软件测试 > 软件项目管理 > 项目案例分析 >
软件行业_微软公司软件开发模式简介
作者:网络转载 发布时间:[ 2013/10/25 11:08:40 ] 推荐标签:

越短越好,尽量说明"产品不做什么"(而不是"产品要做什么"!)。

  运用想象性描述,程序经理开始编写功能说明文件,该文件解释产品的特性是什么以及这些特性如何与其他特性及产品发生关系。初它只是一个概要性的说明文件,随着项目的进展,程序经理会随时向其中添加更多的细节,终的说明文件将变得象用户手册一样。完整的说明不只起着对产品新功能的描述作用,而且它还是在产品投产与发货之前进行测试与评估的主要依据。 
想象性描述有助于决定删除哪些特性。 
微软内的各个开发组采用想象性描述帮助细化产品版本的规定主题,然后以此主题来决定是否需要增加产品各个可能的特性。通常不要轻易改变所确定的主题,否则可能造成产品开发上的混乱。

编写说明文件 
  说明文件在产品小组的所有成员之间,产品小组之间以及产品小组与管理部门之间起着传递产品的设想与要求的作用。在说明文件中必须清楚地描述产品特性(描述每个特性如何工作,外观如何以及从用户的角度出发如何与用户交互。如果特性有一个界面,还应包括一张示意图,以显示出界面的效果),并赋于其相应的优先级。程序经理据此建立起项目的开发进度表。此外在其中还应包括以下各项内容:用一句话表示的项目开发目的,关于产品是什么与不是什么的清单,对顾客的定义,对竞争产品的定义,产品对系统的要求(包括操作系统版本、小内存要求、硬盘空间、处理器速度以及显示器分辩率),对第三方(如打印机驱动程序、组件)的任何依赖性。程序经理负责协调并"写下"说明

程序经理(Program Manager)应考虑以下问题:

这项特性的要点是什么? 
用户如何使用该特性? 
这项特性有意义吗? 
该产品中或微软的其他产品中有类似的特性吗? 
有哪些问题被遗漏了? 
组内的交流令人满意吗? 
终程序经理通过与组内开发人员的共同讨论决定有关特性的内容,并将其写下来。

构造原型 
  构造原型是程序经理具体说明一件新产品或一个新版本的好方法,这从许多方面来说都使开发前测试成为可能,尤其在可用性方面,并且有助于对与用户交互情况作出好的理解,它也能使产品说明更紧凑。

  微软的开发人员通常采用VB构造用户界面原型,但是对于构造计算机屏幕模型之类的工作,画笔(Paint brush)也是一个很好用的工具。死板的说明变成有生命的文件,说明不应过于详细以至限制了发明创造。在项目开发过程中,说明文件的早期版本会有相当大的增加与改变。由于说明的变动可能会导致相应开发工作的极大变动,所以微软通常是将精力首先集中于那些没有什么用户界面的特性上,因为在完成开发前不必去了解用户对它们有何反应,也是说这些特性不大可能改变。然后再面对其它特性。但是当产品开发到一定程序后,例如40%之后,程序经理必须严格控制对特性的修改(主要是指增加新的特性),否则不光会造成开发延迟,而且会压缩可用的测试时间。

原则三:根据用户行为和有关用户的资料确定产品特牲及其优先顺序

  对于一个开发项目而言,如何确定终产品中应包含什么特性通常是比较困难的一件事。为此微软采用了一个称之为“基于行为制定计划”的方式来进行特性选择与优先级安排。

  基于行为制定计划法从对用户行为,诸如写信或做预算,做系统研究开始。然后,根据某一特性在支持重要的或者是经常的用户行为上的程序对其进行评价。这样做的优点是对特性取舍更具理性:讨论对顾客想要做什么加以更好的安排,对某个给定特性是否方便了特定任务的更集中的辩论,可读性更强的说明,以及在市场营销、用户教育和产品开发中更好地同步。

特性选择和优先级安排中的基于行为制定计划 
  基于行为制定计划法中的关键点在于按用户行为、产品特性以及行为和特性之间的内部联系来分析产品。程序经理和产品计划者把产品试图支持的用户任务或方案分成大约20个“行为”,然后他们努力把行为(以及任何子行为)映射入微软的现行特性和竞争对手产品的特性中去。他们也把行为映射到不同的顾客形象或不同的市场部分中去。

  当说明产品的新版本时,基于行为制定计划法帮助程序经理和开发员集中他们的精力与创造力。象Excel之类的项目,争取在每个新版本中加入的主要行为不超过四个。绝大多数特性直接映射入这些行为之中。该做法使项目可以按特性对用户的价值来进行分级。通过分级,促使程序经理和开发人员都行动起来,使他们的特性支持尽可能多的行为。这种良性竞争对于用户有益,同时也利于提高生产率。

为顾客行为而非产品特性准备资料 
  基于行为制定计划进度,项目在计划阶段首先集中于行为,其次才是特性。程序经理和市场营销人员并不去思考和排除他们喜爱的特性,再围绕它们搞出想象性描述的草案。他们真正做的是列出一份顾客都做些什么的清单,然后把想象性描述集中于支持那些行为的特性上。

以行为为中心对产品进行全面考虑 
  由于基于行为制定计划法是从整个产品的观点着眼,因此有助于在不同职能上工作的项目成员理解产品做什么,以及其他产品的相应特性如何可能支持那些需要或不需要其他应用软件产品的行为。

做市场营销研究以支持基于行为制定计划法 
  为支持基于行为制定计划法,从市场营销组来的产品经理与程序经理、开发人员一起开展一些联合的研究,如指导对用户的研究工作。然而,一般来说是产品经理做大多数的研究,并可使其更明确地影响微软产品的演进。

原则四:建立模块化的和水平式的设计结构,并使项目结构反映产品结构的特点

  微软产品设计中的一个关键概念是产品的基础结构(Infrastructure),尤其是生命周期短的应用软件,应随项目的进展变得更加单一(而不是错综复杂)。当开发组构造产品的第一版时,他们更多地使用分级式结构,好为产品设计规定出一个初的架构。随着时间推移,他们向单一的结构迈进,以使项目能集中于特性开发。微软越来越强调不同产品间的特性共享。共享有助于使不同产品的“性能与感觉”(Look and Feel)都统一协调起来;它也方便了需要不只一个应用软件的用户,减少了代码的重复书写,缩小了单独一个应用软件的规模。

  微软用特性小组组织产品开发,这种方法使得每个人都容易明白小组是如何与整个产品相关联的。项目从规定概要说明开始。概要说明的形式是一份已确定了优先级安排的内容清单,涉及产品下一版本将要开发的相对独立的特性,以便由分开的特性小组加以开发。

  程序经理和开发员把项目分成特性子集,再将之分配给每个特性小组,让他们在3到4个主要的内部项目里程碑中进行生产。这种产品组织与开发方法使微软能靠简单地增加开发员和创建一个大的小组来渐进地增加产品的功能。

把特性(与函数)作为开发单位 
  微软软件产品的特性是用户终可见的相对独立的功能单位,如建筑材料一般,对应用软件产品更是如此。系统软件产品,如NT或者95的特性,对终用户通常不直接可见。微软和其他公司有时简单地称这些不直接可见的特性为“函数”。

  程序经理承担开发一组特性或函数,实现从说明经测试、文档化直到后完成的过程。他们必须与开发员合作,后者负责估计进度表与完善每个特性。开发员还要在一台联网开发计算机上存储一到几个文件,用以保存特性的程序源代码。大多数特性的开发与改进只要一名开发员,而有的大型特性则要一个小的小组。

产品结构是决定其长期结构完整性的基石 
  产品结构是产品内部的基干,它规定了重要的结构构件以及这些构件如何组装到一起。产品结构及用于组装结构的构件,提供了实现产品特性(即做详细设计与编码)的支柱。产品的结构对终用户而言,通常并非直接可见。只有结构要实现的特性是可见的。产品结构也是决定产品长期结构完整性的基石。产品功能的任何改变都不应造成潜在的产品结构散架。

产品的层次结构 
  对于产品,也可以采用层次结构的方法加以分析。通常定义良好的层次结构有助于对产品特性进行灵活的增加、删除与改进。此外良好的层次结构有助于产品在不同平台上的移植。(例如Excel总共定义了五层,其中只有底层的操作系统层是与平台相关的,其它各层均是通过调用其下层所提供的API接口加以实现的,所以其移植极其方便。而在Windows 95中通过“虚拟机”的概念实现了对16位、32位以及DOS程序的支持。)

上一页123下一页
关键词阅读
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd