第1部分 开发团队 3
第1章 入门 3
1.1在新工作中找到你的出路 4
1.1.1立即着手处理 4
1.1.2经历初始培训 5
1.1.3收集信息 6
1.2了解人 7
1.3不愿透露信息 8
1.4认同企业文化 9
1.5学习技术、过程和产品 9
1.6了解客户 11
1.7了解公司的业务流程 11
1.8回归重点 12
第2章 管理开发团队 13
2.1理解你的核心价值 13
2.1.1信任 14
2.1.2灵活性 15
2.1.3诚挚 16
2.1.4机密性 17
2.1.5尊重 17
2.1.6授权 17
2.2与你的团队沟通 18
2.2.1一对一 18
2.2.2项目沟通 19
2.2.3团队会议 19
2.3解决冲突 20
2.4培训 21
2.5指导 23
2.6激励你的团队成员 23
2.7教导问题员工 25
2.8考核与评价 26
2.8.1创建考评 26
2.8.2提交考评 26
2.8.3提交滞后以及缺陷考评的不利影响 27
2.9附加读物 28
第3章 创建一个高效的开发团队 29
3.1有效的团队组织 30
3.2程序员的效率 32
3.3办公空间 34
3.4如何让其他团队与工程队伍沟通顺畅 35
3.5新经理,旧习惯 36
3.6富有乐趣 36
3.7附加读物 37
第4章 扩充软件团队 39
4.1设计一个筛选过程 40
4.2面试特长 40
4.2.1技术能力 41
4.2.2业绩 41
4.2.3文化融合 41
4.2.4工作习惯和喜好 42
4.2.5行业经验 42
4.2.6个人能力 43
4.2.7沟通能力 43
4.2.8个性 43
4.2.9热情 43
4.2.10解决问题的能力 43
4.2.11幽默感 44
4.3汇总 44
4.3.1电话面试 44
4.3.2办公室面试 45
4.3.3指导你的面试小组 45
4.3.4面试中应避免的话题 46
4.3.5马拉松式面试或压力面试 46
4.3.6打了就跑的面试 47
4.3.7午餐委员会面试 47
4.3.8评审会 47
4.3.9做出选择 48
4.4附加读物 49
第2部分 产品和技术 53
第5章 定义产品 53
5.1产品定义过程 54
5.2产品定义内容 56
5.3整体产品概念 58
5.4利用原型定义产品 59
5.4.1总体原型 59
5.4.2快速和灵活的方法 59
5.4.3可点击的用户界面原型 60
5.4.4用户界面设计 60
5.5与市场部门建立联系 61
5.5.1避免不良的关系 61
5.5.2保持市场和工程团队在一起 62
5.5.3建立平衡关系 62
5.6客户对产品的认识 63
5.7在α版本发布中改善产品 65
5.8了解现有产品的组成部分 66
5.9附加读物 67
第6章 驱动版本发布 69
6.1版本发布计划 70
6.1.1版本发布时间表 70
6.1.2早期版本发布策略 71
6.1.3计划产品淘汰 73
6.2版本发布过程 75
6.2.1版本发布标准 75
6.2.2过程步骤 76
6.2.3发布后评审 77
6.3发布版本的标识 78
6.3.1版本发布三级编号标识 79
6.3.2补丁发布 80
6.3.3构件编号与版本编号的对比 80
6.3.4跨发布版本的编号 81
6.3.5乡绅的软件 82
6.4附加读物 83
第7章 评估你们的工具和方法 85
7.1备份知识产权 86
7.1.1备份频率 87
7.1.2异地备份 88
7.1.3仅在磁盘上备份 89
7.2创建和管理开发文档 89
7.3源代码版本控制 91
7.4软件构建方法与时机 93
7.5软件发布过程 94
7.6缺陷跟踪系统 95
7.7选择合适的开发工具 96
7.8附加读物 98
第8章 评估你们的技术 99
8.1系统文档 100
8.2系统可扩展性 101
8.3故障模式 102
8.4错误处理和消息 103
8.5系统的灵活性与可维护性 104
8.6整合入系统的第三方软件包 105
8.7系统应用程序接口 106
8.8安全 107
8.9数据报表与分析 107
8.10国际化支持 109
8.11着眼重点 109
8.12附加读物 109
第3部分 工程之外 113
第9章 与你的公司一起工作 113
9.1企业文化和做法 114
9.1.1企业风格 115
9.1.2管理风格 115
9.1.3会议风格 115
9.2处理团队内部问题 118
9.3增进同僚关系 118
9.4尊重工程团队 119
9.5附加读物 120
第10章 和CEO及执行团队一起工作 121
10.1支持你的老板 122
10.1.1确保目标明确 122
10.1.2提供有用的信息 123
10.1.3沟通 123
10.1.4影响决策 124
10.2与执行团队合作 124
10.2.1解决冲突 125
10.2.2用信赖打开你们的隔阂 125
10.2.3敞开沟通 126
10.2.4有效合作 127
第11章 倾听客户的声音 129
11.1客户满意 130
11.2客户会议 131
11.3搞定交易 132
11.3.1销售团队什么时候会过度承诺 32
11.3.2寻求报价 133
11.4支撑的要求与客户的需求 134
第4部分 为项目、过程以及质量制定工作流程 139
第12章 项目评估 139
12.1建立一个评估 140
12.1.1创建任务列表 140
12.1.2建立任务评估 141
12.1.3考虑评估偏见 142
12.1.4创建评估 142
12.1.5编写和交付评估 144
12.2采集原始项目数据 145
12.2.1利用电子表格汇总数据 146
12.2.2工程维护和经常开支 147
12.3附加读物 148
第13章 启动一个项目 149
13.1理解目标 150
13.2集结项目团队 150
13.2.1换人 151
13.2.2游戏延迟 152
13.3设置优先级 152
13.4选择一个框架 153
13.5制定时间表 153
13.6创建一个项目计划 154
13.7启动会议 155
13.8附加读物 155
第14章 项目执行与跟踪 157
14.1一个项目的执行管理 157
14.2项目跟踪方式 159
14.2.1甘特图 160
14.2.2项目跟踪电子表格 163
14.3变更控制流程 166
14.4风险管理 168
14.5附加读物 170
第15章 设计一个软件开发过程 171
15.1软件开发过程中都涉及哪些内容 172
15.2开发过程的类型 172
15.2.1临时性过程 173
15.2.2瀑布过程 173
15.2.3瀑布过程改进 174
15.2.4迭代过程 175
15.2.5螺旋过程 175
15.2.6敏捷过程 176
15.2.7其他过程和方式 179
15.3自定义一个过程 179
15.4选择一个过程 180
15.5引进一个过程 180
15.6附加读物 182
第16章 流程改进 185
16.1建立一个流程模型 186
16.1.1定义流程边界 186
16.1.2列出流程步骤 186
16.1.3创建一张流程图 187
16.1.4估算时间范围 187
16.1.5建立电子表格模型 187
16.1.6验证模型 188
16.2分析流程模型 188
16.2.1在操作中进行流程分析 188
16.2.2利用模型来改进流程 191
16.2.3和其他团队一起工作 193
16.3坚持不懈地走下去 193
16.4附加读物 194
第17章 理解质量保证 195
17.1质量的重要性 195
17.2质量定义 196
17.3注重质量 197
17.4质量评估 198
17.4.1质量保证团队 199
17.4.2 QA的工具和环境 200
17.4.3 QA活动 204
17.4.4 QA过程 207
17.4.5缺陷的等级评定过程 207
17.4.6创建相关功能及用途并予以说明 208
17.5 QA指标 211
17.5.1版本发布后每周所发现的缺陷统计 211
17.5.2每周缺陷权重统计数 212
17.5.3客户发现缺陷的权重 214
17.5.4测试运行通过百分比 214
17.5.5测试通过中所发现的缺陷 215
17.5.6测试期间每周所修复的缺陷 215
17.6质量与生产力方面的缺陷影响 215
17.7附加读物 217
第5部分 规划未来 221
第18章 确定发展方向 221
18.1听取市场部门的意见 222
18.2创建整体产品 223
18.3化解技术上的定时炸弹 223
18.4筹划技术检修 225
18.5优化客户安装程序 226
第19章 发展战略及路线图 229
19.1建立产品路线图 230
19.2对选择进行评价 231
19.2.1成本-效益核算 232
19.2.2成本-效益对比 233
19.3创建单页纸的评估 233
19.4附加读物 235
第20章 继续前进 237
附录A 软件公司的组织架构 239
1公司任务 240
2典型的个体公司 240
3典型的两人公司 241
4 12人的软件公司 241
5 24~50人的软件公司 243
6 100多人的软件公司 243
6.1层次管理结构 245
6.2矩阵型组织 246
6.3小型产品团队 247
6.4灵活的项目团队 248
7结论 249
附录B 国际化 251
1需要考虑的国际化问题 252
1.1翻译人员的编制和成本 252
1.2数据库要考虑的问题 252
1.3国家和语言需求 253
1.4货币流通问题 253
1.5日期、公制度量标准以及尺寸问题 253
2国际化的最佳实现方式 254
2.1区域设置 254
2.2翻译过程 254
2.3质量保证 254
2.4数据库以及导入/导出 254
2.5翻译公司 255
2.6用户接口 255
3小结 256
附录C 企业工作流程示意图 257
1创建一张简单的工作流示意图 258
2工作流实例 258