📄 +
字号:
程序经理负责协调并"写下"说明
程序经理应考虑以下问题:
*这项特性的要点是什么
*用户如何使用该特性
*这项特性有意义吗
*该产品中或微软的其他产品中有类似的特性吗
*有哪些问题补遗漏了
*组内的交流令人满意吗
最终程序经理通过与组内开发人员的共同讨论决定有关特性的内容,并将其
写下来。
构造原型
构造原型是程序经理具体说明一件新产品或一个新版本的最好方法,这从许多方
面来
说都使开发前测试成为可能,尤其在可用性方面,并且有助于对与用户交互情况
作出
好的理解,它也能使产品说明更紧凑。
微软的开发人员通常采用VB构造用户界面原型,但是对于构造计算机屏幕模型之
类
的工作,画笔(Paintbrush)也是一个很好用的工具。
死板的说明变成有生命的文件
说明不应过于详细以至限制了发明创造。在项目开发过程中,说明文件的早期版
本会
有相当大的增加与改变。由于说明的变动可能会导致相应开发工作的极大变动,
所以
微软通常是将精力首先集中于那些没有什么用户界面的特性上,因为在完成开发
前不
必去了解用户对它们有何反应,也就是说这些特性不大可能改变。然后再面对其
它特
性。
但是当产品开发到一定程序后,例如40%之后,程序经理必须严格控制对特性的修
改(主
要是指增加新的特性),否则不光会造成开发延迟,而且会压缩可用的测试时间。
原则三:根据用户行为和有关用户的资料确定产品牲及其优先顺序
对于一个开发项目而言,如何确定最终产品中应包含什么特性通常是比较困难的
一件
事。为此微软采用了一个称之为"基于行为制定计划"的方式来进行特性选择 与优
先
级安排。
基于行为制定计划法从对用户行为,诸如写信或做预算,做系统研究开始。然后
,根
据某一特性在支持重要的或者是经常的用户行为上的程序对其进行评价。这样做
的优
点是对特性取舍的更理性的讨论,对顾客想要做什么的更好的安排,对某个给定
特性
是否方便了特定任务的更集中的辩论,可读性更强的说明,以及在市场营销、用
户教
育和产品开发中更好地同步。
特性选择和优先级安排中的基于行为制定计划
基于行为制定计划法中的关键点在于按用户行为、产品特性以及行为和特性之间
的内
部联系来分析产品。程序经理和产品计划者把产品试图支持的用户任务或方案分
成大
约20个"行为",然后他们努力把行为(以及任何子行为)映射入微软的现行特性和
竞
争对手产品的特性中去。他们也把行为映射到不同的顾客形象或不同的市场部分
中去。
当说明产品的新版本时,基于行为制定计划法帮助程序经理和开发员集中他们的
精力
与创造力。向Excel之类的项目争取在每个新版本中加入的主要行为不超过四个。
绝
大多数制性直接映射入这些行为之中。该做法使项目可以按特性对用户的价值来
进行
分级。
通过分级,促使程序经理和开发人员都行动起来,使他们的特性支持尽可能多的
行为。
这种良性竞争对于用户有益,同时也利于提高生产率。
为顾客行为而非产品特性惧资料
基于和为制定计划进,项目在计划阶段首先集中于和为,其次才是特性。程序经
理和
市场营销人员并不去思考和排除他们喜爱的特性,再围绕它们搞出想象性描述的
草案。
他们真正做的是列出一份顾客都做些什么的清单,然后把想象性描述集中于支持
那些
行为的特性上。
以行为为中心对产品进行全面考虑
由于基于行为制定计划法是从整个产品的观点着眼,因此有助于在不同职能上工
作的
项目成员理解产品做什么,以及其他产品的相应特性如何可能支持那些需要或不
需要
其他应用软件产品的行为。
做市场营销研究以支持基于行为制定计划法
为支持基于行为制定计划法,从市场营销组来的产品经理与程序经理、开发人员
一起
开展一些联合的研究,如指导对用户的研究工作。然而,一般来说是产品经理做
大多
数的研究,并可使其更明确地影响微软产品的演进。
原则四:建立模块化的和水平式的设计结构,并使项目结构反映产品结构的特点
微软产品设计中的一个关键概念是产品的基础结构,尤其是生命周期短的应用软
件,
应随项目的进展变得更加单一(而不是错综复杂)。当开发组构造产品的第一版时
,他
们更多地使用分级式结构,好为产品设计规定出一个最初的架构。随着时间推移
,他
们向单一的结构迈进,以使项目能集中于特性开发。项目需要逐渐的啬和删除我
,鬃
着时间改变和发展我,以及增加产品间特性表现和运作的一致性。微软越来越强
调不
同产品间的特性共享。共享有助于使不同产品的"性能与感觉"都统一协条起来;
它
也方便了需要不只一个应用软件的用户,减少了代码的重复书写,缩小了单独一
个应
用软件的规模。
微软用特性小组组织产品开发,这种方法使得每个人都容易明白小组是如何与整
个产
品相关联的。项目从规定概要说明开始。概要说明的形式是一份已确定了优先级
安排
的内容清单,涉及产品下一版本将要开发的相对独立的特性,以便由分开的特性
小组
加以开发。
程序经理和开发员把项目分成特性子集,再将之分配给每个特性小组,让他们在
3到
4个主要的内部项目里程碑中进行生产。这种产品组织与开发法使微软能靠简单地
增
加开发员和创建一个大的小组来渐进地增加产品的功能。
把特性(与函数)作为开发单位
微软件产品的特性是用户最终可见的相对独立的功能单位,就如建筑材料一般,
对应
用软件产品更是如此。系统软件产品,如NT或者95的特性,对最终用户通常不直
接
可见。微软和其他公司有时简单地称这些不直接可见的特性为"函数"。
程序经理承担开发一组特性或函数,实现从说明经测试、文档化直到最后完成的
过程。
他们必须开开发员合作,后者负责估计进度表与完善每个特性。开发员还要在一
台联
网开发计算机上存储一到几个文件,用以保存特性的程序源代码。
大多数特性的开发与改进只要一名开发员,而有的大型特性则要一个小的小组。
产品结构是决定其长期结构完整性的基石
产品结构是产品内部的基干,它规定了重要的结构构件以及这些构件如何组装到
一起。
产品结构及用于组装结构的构件,提供了实现产品特性(即做详细设计与编码)的
支柱。
产品的结构对最终用户而言,通常并非直接可见。只有结构要实现的特性是可见
的。
产品结构也是决定产品长期结构完整性的基石。产品功能的任何改变都不应造成
潜在
的产品结构散 架。
产品的层次结构
对于产品,也可以采用层次结构的方法加以分析。通常定义良好的层次结构有助
于对
产品特性进行灵活的增加、删除与改进。此外良好的层次结构有助于产品在不同
平台
上的移植。(例如Excel总共定义了五层,其中只有最底层的操作系统层是与平台
相关
的,其它各层均是通过调用其下层所提供的API接口加以实现的,所以其移植极其
方
便。而在Windows 95中通过"虚拟机"的概念实现了对16位、32位以及DOS程序
的支持。)
小的结构文档:源代码是唯一文件
除了API文档,微软不对其产品结构生成相应的文档,虽然有时高级开发员可能会
写
下高层结构。对复杂的特性,许多开发员在某些点记录并复查特定于他们所负责
的结
构细节,但此工作是可选的,并不强制执行。除了源代码文件与特性说明,为数
不多
的组为新程序员准务了描绘某层结构的文档(主要的数据结构,如何工作等等)。
但是
这些文件并不时常更新,经理们也不要求项目组生成此类内部文档。在有关的说
明文
件中,并不涉及实现问题。开发员应该知道如何去实现,或者能够去学会。记录
的关
于结构的文档如此之少是因为"一个开发员的工作是编写我们要卖的代码,而不是
花
时间写高水平的设计文件","设计文件不应与源代码分离"。
分割代码与"保持事情的简单"
特性小组和作为"内容专家"的小组领导
特性小组一般由一个领导和3至8名开发人员组成,工作于相关的特性领域。小组
的
规模常常视小组领导的经验和能力而定。特性小组领导向项目开发领导汇报并负
责荐
目的全部开发工作;而项目开发领导则拥有对产品的更为全局性的观点,从而最
有可
能发现部部互相关联的问题。在特性小组中的每个人均是此领域的"专家",他们
了解
如何使用产品、了解竞争对手的产品、了解未来将向何处去。通常为便于交流,
提高
软件的组织结构(软件倾向于映射出构造 它的组织的结构),应保持特性小组的小
规
模。
原则五:靠个人负责和固定项目资源实旋控制
对于软件项目而言,精确估计产品的开发与交付进度是很困难的。对此微软采取
的方
法是将进度安排和工作管理的责任推到最底层,即单个的开发人员和测试人员那
儿去。
这保证了每个人除了作为小组的一部分外,还负有个人的责任。单独的开发人员
设立
他们自已的进度表,程序经理把单独的进度表汇总起来,再加上缓冲时间,以制
定出
一个全面的项目进度表。顶层的总经理也固定人员与时间等基本资源,以确保项
目集
中并限制其努力与创造程序。
关键的目标,尤其对应用软件,是指明产品的目标出品日并争取尽可能长久地坚
持它。
程序经理和开发员从出品日回溯,规定中间的项目里程碑的日期。这个"固定的出
品
日"法的中心在开发员身上。以避免因为项目没有固定的结束点,导致在最终无用
的
设计、再设计和测试的循环中消耗一年或更多的时间。
开发人员做出他们自已的进度估计
比尔犯谴那康魑⑷砣每
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -