第1章 微软软件产品研发管理 1
目录 1
1.1 微软中国研究开发中心简介 2
1.1.1 组织结构 2
1.1.2 使命和目标 4
1.1.3 成果与价值 4
1.1.4 发展历程 5
1.2 微软的组织结构 6
1.3 微软的企业文化 7
1.2.1 七大产品集团 7
1.2.2 研究与开发机构 7
1.4 微软的研发管理模式 9
1.4.1 产品立项决策过程 10
1.4.2 微软开发过程管理的基本原则 11
1.4.3 开发阶段划分和重要的里程碑 12
1.4.4 递进的版本发布策略 13
1.4.5 微软项目团队管理的基本原则 14
1.4.6 项目团队中的角色划分 16
1.4.7 微软的大型项目研发 17
1.4.8 微软研发工作的关键要素 18
1.5 微软对研发人员的管理 18
1.5.1 做一名好员工的十个标准 18
1.5.2 研发人员的素质 19
1.5.3 研发人员的考核和奖惩 20
1.5.4 研发人员素质的再提高 20
1.6 总结 20
第2章 微软产品开发周期模式 21
2.1 概述 22
2.2 产品开发角色 23
2.2.1 角色划分 23
2.2.2 产品规划 24
2.2.3 产品管理 27
2.2.4 程序管理 30
2.2.5 产品设计 31
2.2.6 产品可用性测试 33
2.2.7 开发和测试 34
2.2.8 本地化 36
2.2.9 文档发布 37
2.2.10 产品支持 38
2.2.11 网站运营管理 39
2.3 微软产品部门的组织结构 40
IE产品部门的组织结构 40
2.4 微软产品开发过程模型 43
2.4.1 里程碑 45
2.4.2 产品开发周期的阶段划分 45
2.4.3 规划阶段 45
2.4.4 设计阶段 46
2.4.5 开发阶段 48
2.4.6 稳定阶段 48
2.4.7 发布阶段 49
2.5 总结 49
第3章 软件产品规划 50
3.1.1 产品规划的重要性 51
3.1 概述 51
3.1.2 对软件开发周期的简单回顾 52
3.1.3 产品规划阶段不同成员的任务 54
3.2 产品规划 56
3.2.1 什么是产品规划 56
3.2.2 产品规划工作的主要方法与任务 56
3.2.3 产品规划的退出标准 58
3.2.4 产品规划面临的挑战 58
3.3 产品规划流程 59
3.3.1 商业概念审查(Business Concept Review) 60
3.3.2 产品研究审查(Product Research Review) 61
3.3.3 商业机会建议审查(Business Opportunity Proposal Review) 62
3.4 辅助决策的研究与分析 63
3.4.1 了解客户与市场 63
3.4.2 消费者研究系统(CRS) 64
3.4.3 研究客户与市场的方法 65
3.4.4 竞争对手及其产品的分析 70
3.4.5 形势分析 72
3.5.1 制定产品的战略目标 76
3.5 产品规划的策略与实施 76
3.5.2 制定恰当的业务目标和战术 78
3.5.3 规划的实施 79
3.5.4 衡量和评估规划的执行 80
3.6 产品远景目标 80
3.6.1 公司的使命与产品远景目标 81
3.6.2 市场机会文档(MOD,Market Opportunity Document) 81
3.6.3 市场需求文档(Market Requirements Document,MRD) 83
3.6.4 产品远景目标陈述与远景目标文档 84
3.6.5 产品远景目标实例 85
3.7 总结 87
第4章 项目管理基础 88
4.1 项目管理的重要性 89
4.2 项目管理的历史和发展 90
4.3 项目和项目管理的定义 91
4.3.1 什么是项目 91
4.3.2 项目的基本特征 92
4.3.3 什么是项目管理 92
4.5 项目干系人和项目经理 93
4.4 项目管理所需的技能 93
4.6 组织结构类型 95
4.6.1 职能型组织 95
4.6.2 项目型组织 96
4.6.3 弱矩阵型组织 97
4.6.4 平衡矩阵型组织 98
4.6.5 强矩阵型组织 98
4.6.6 复合型组织 99
4.6.7 不同的组织结构类型对项目的影响 99
4.7 项目的生命周期和项目管理过程 100
4.7.1 项目生命周期的一般规律 101
4.7.2 项目过程 102
4.7.3 五个过程组 102
4.7.4 过程组间的相互关系 102
4.8 项目管理的九大知识领域 104
4.8.1 项目整体管理 104
4.8.2 项目范围管理 105
4.8.3 项目时间管理 106
4.8.4 项目费用管理 109
4.8.5 项目质量管理 113
4.8.6 项目人力资源管理 114
4.8.7 项目沟通管理 115
4.8.8 项目风险管理 116
4.8.9 项目采购管理 117
4.9 总结 118
第5章 项目管理软件Microsoft Project 119
5.1.2 企业项目管理方案 120
5.1 Microsoft Project简介 120
5.1.1 版本选择 120
5.2 启动新项目 121
5.2.1 关注项目远景 121
5.2.2 创建新的项目计划 122
5.2.3 输入任务列表 124
5.2.4 对任务进行排序和组织 124
5.2.5 建立任务大纲 125
5.3.1 使用视图 126
5.2.6 建立工作分解结构(WBS) 126
5.3 浏览项目信息 126
5.3.2 重新安排项目信息 128
5.4 制定任务进度计划 128
5.4.1 设定任务工期 128
5.4.2 建立任务相关性 129
5.4.3 期限和限制 130
5.4.4 里程碑 130
5.4.5 为任务分配日历 130
5.5 管理项目资源 130
5.5.1 添加资源 131
5.5.2 设定资源工作时间 131
5.5.3 为任务分配资源 132
5.5.4 显示资源分配状况 133
5.6 计划资源和任务成本 135
5.6.1 估计成本和制定预算 135
5.6.2 计划资源成本 135
5.6.4 审查计划成本 136
5.6.3 计划固定任务成本 136
5.7 检查和调整项目计划 137
5.7.1 关键路径和关键任务 137
5.7.2 提前项目的完成时间 138
5.7.3 缩减项目成本 138
5.7.4 平衡资源工作负荷 138
5.7.6 审查变更的影响 139
5.7.7 获得对项目计划的认可 139
5.7.5 变更项目范围 139
5.8 项目的执行和监控 140
5.8.1 保存比较基准 140
5.8.2 更新任务进度 141
5.8.3 应对项目中的变化 143
5.8.4 使用盈余值(挣值)分析进展和成本 144
5.9 报告项目信息 146
5.9.1 建立沟通计划 146
5.9.2 打印视图 146
5.9.3 打印报表 147
5.9.4 向Web站点发布项目信息 149
5.10 总结 150
第6章 微软的项目管理实践 151
6.1 程序经理和项目管理 152
6.2 项目计划 153
6.2.1 项目分析和展望 153
6.2.2 项目计划 154
6.2.4 项目组内的人员安排 155
6.2.3 特性规格说明书 155
6.2.5 项目的风险计划 156
6.3 项目实施 157
6.3.1 项目管理模式 157
6.3.2 项目监控 158
6.3.3 项目推进 158
6.4 项目完成及总结 159
6.5 项目管理者的能力和素质 160
6.5.1 发现和解决问题 161
6.5.3 会议 162
6.5.2 管理时间 162
6.5.4 交流 163
6.5.5 协商 164
6.6 人员管理 164
6.6.1 规则与人 164
6.6.2 团队与人 165
6.6.3 绩效讨论 165
6.6.5 微软对员工素质的要求 166
6.6.4 业务资质管理 166
6.7 总结 167
第7章 微软商业软件开发实践 168
7.1 概述 169
7.2 微软软件开发过程 169
7.2.1 规划阶段 170
7.2.2 设计阶段 172
7.2.3 开发阶段 173
7.2.4 稳定阶段 174
7.2.5 发布阶段 175
7.2.6 递进的软件开发模式 176
7.2.7 项目组成员的职责分配 177
7.3 微软软件集成过程 177
7.3.1 名词术语 177
7.3.2 软件集成中的信息存储 178
7.3.3 源代码服务器 178
7.3.4 源代码管理原则 179
7.3.5 生成计算机 179
7.3.8 代码集成 180
7.3.7 Exchange公共文件夹 180
7.3.6 Bug数据库 180
7.4 微软软件开发进度控制 181
7.4.1 合理的进度计划 182
7.4.2 日常的编译及测试 182
7.4.3 追踪项目的进展 183
7.4.4 容易忽略的因素 183
7.5 开发人员的管理 184
7.5.1 代码审核 184
7.5.2 积极处理Bug 185
7.6 总结 186
第8章 微软的软件测试实践 187
8.1 概述 188
8.1.1 微软软件测试工作的特点 188
8.1.2 常用术语 189
8.2 什么是测试 189
8.2.1 测试的目的 190
8.2.2 测试的任务 191
8.2.3 通过有效测试降低软件成本 192
8.2.5 质量和测试 193
8.2.4 质量的定义 193
8.3 质量保证组在整个项目组中的位置 194
8.3.1 质量保证组各成员的职责 195
8.3.2 质量保证组的工作模式 195
8.4 基于里程碑的测试过程管理 196
8.4.1 完整的测试循环 196
8.4.2 代码完成之前的测试工作 197
8.4.4 Beta测试之前的测试工作 198
8.4.5 Beta测试时的软件状态 198
8.4.3 代码完成时的软件状态 198
8.4.6 发布候选版本(RC)之前的测试工作 199
8.4.7 发布候选版本(RC)时的软件状态 199
8.4.8 正式发布版本(RTM)之前的测试工作 199
8.5 测试计划的编写 200
8.5.1 测试计划的重要性 200
8.5.2 测试计划涉及的范围 201
8.5.3 测试计划样例 201
8.6.1 什么是好的测试用例 202
8.6 测试用例的设计 202
8.6.2 测试用例的设计原则 203
8.6.3 测试用例的设计方法 203
8.6.4 测试用例中的有效信息 204
8.6.5 测试用例样例 204
8.7 Bug的管理 205
8.7.1 如何界定Bug 205
8.7.2 软件中常见的Bug类型 205
8.7.3 有效地报告并分析Bug 205
8.7.5 跟踪Bug的状态 207
8.7.4 Bug的保存 207
8.7.6 活动Bug数量的演变趋势 209
8.7.7 Bug的严重程度 210
8.7.8 Bug的优先级 211
8.7.9 如何决定哪些Bug需要修正 211
8.7.10 致命问题(Showstopper Bug) 211
8.8 对测试工程师的管理 212
8.9 微软内部使用的测试工具 213
8.10 其他值得一提的做法 214
8.11 总结 215
第9章 版权保护与软件企业的生存和发展 216
9.1 微软在中国 217
9.2 知识产权是软件企业的生命 218
9.2.1 软件企业的特点 218
9.2.2 软件的“与众不同”之处 219
9.2.3 我国的软件保护并没有“过度” 219
9.3.1 商标权 220
9.3.2 专利权 220
9.3 知识产权及其分类 220
9.3.3 商业秘密 221
9.3.4 著作权 221
9.3.5 软件知识产权保护的法律体系 222
9.3.6 立法与执法 223
9.3.7 政府的关注 223
9.3.8 持续的教育和培训 223
9.4 软件盗版问题剖析 223
9.4.1 盗版的形式多种多样 224
9.4.2 盗版形势分析 225
9.4.3 针对微软产品的盗版现象一览 228
9.5 知识产权保护的漫漫长路 232
9.5.1 携手共赢 232
9.5.2 教育和宣传 232
9.5.3 技术手段 233
9.5.4 法律手段 233
9.5.5 企业的自我保护 234
9.6 总结 234