软件开发珠玑:穿越50年软件往事的60条戒律
  • 推荐0
  • 收藏0
  • 浏览48

软件开发珠玑:穿越50年软件往事的60条戒律

【美】Karl Wiegers (作者)  死月 (译者) 张春雨 (责任编辑)

  • 书  号:9787121473524
  • 出版日期:2024-03-01
  • 页  数:240
  • 开  本:16(240*190)
  • 出版状态:上市销售
  • 原书名: Software Development Pearls: Lessons from Fifty Years of Software Experience
  • 原书号:9780137487776
  • 维护人:张春雨
《软件开发珠玑:穿越50年软件往事的60条戒律》像牡蛎一样,去芜存菁,将作者五十年来在软件工程领域摸爬滚打得来的经验教训凝结为软件开发珠玑。它围绕需求、设计、项目管理、文化与团队合作、质量、过程改进几个方面,在软件工程的各个角落中挖掘出也许对大家有用的经验教训,让大家在自己的相关职业生涯(包括但不限于研发各领域的工程师、产品经理、设计师、项目经理等)中少走一些弯路,更能如鱼得水。
蝉联近20年全球票选钟爱编程书榜首|各版稳居豆瓣高票9分|与人月神话代码大全齐名的世界名著|死月翻译集齐国内外数十位业界大咖赞誉力荐
译者简介
死月(XadillaX),本名朱凯迪。字节跳动软件研发工程师,阿里巴巴前技术专家,Node.js Collaborator 之一。硕士毕业于浙江大学,退役 OI、ACM 竞赛选手。曾供职于花瓣网、大搜车、阿里巴巴。著作、翻译出版书籍《Node.js:来一打 C++ 扩展》、《精通 Vim:用 Vim 8 和 Neovim 实现高效开发》、《JavaScript 悟道》。
前言
Karl Wiegers 在获得有机化学博士学位后,来到位于纽约州罗切斯特的柯达公司担任研究科学家。Karl 在接受这份工作之前通过了柯达的面试,他认为自己了解这份工作的性质。他的研究将涉及摄影胶卷、照片冲洗及相关项目。当 Karl 来到柯达时,他被引导穿过一道光感锁,进入实验室。光感锁就像潜艇上的气闸,确保没有光线进入保持完全黑暗的房间。Karl 穿过光感锁后,他的眼睛需要几分钟才能适应微弱的实验室光线。没人告诉 Karl,他的研究实验室竟然是一间暗房。Karl 很快意识到了这一点,他可不想真的在黑暗中度过职业生涯,于是转行成为软件开发者,然后是软件经理,最后成为软件过程与质量改进领导者。后来,他创建了自己的公司—Process Impact。
这本实用的图书是 Karl 试图将他人对软件开发的认识从黑暗引领至光明的尝试。与Karl 的其他图书一样,这本书里更多介绍的是实践而非理论。本书重点关注 Karl 直接参与的领域,尤其是需求、过程改进、质量、文化与团队合作。
Karl 并未解释为何将这本书命名为《软件开发珠玑》。珠玑的生成过程始于一颗沙粒等刺激物陷入牡蛎体内。为了保护自己免受刺激物的侵害,牡蛎逐渐分泌物质包裹住刺激物。这个过程漫长,但最终刺激物变成了一颗有价值的珍珠。
Karl 是我认识的最有思想的软件开发者之一。他对职业生涯中遇到的软件开发问题进行了深入的思考,本书收录了他总结的最有价值的 60 个观点。
——Steve McConnell
Construx Software 公司,《代码大全》作者

目录

第1章 吸取经验教训........................................................................................1
我的视角 .............................................................................................................................1
关于本书 .............................................................................................................................2
术语说明 .............................................................................................................................4
你的收获 .............................................................................................................................4
第2章 需求................................................................................................... 5
何谓需求 .............................................................................................................................5
不同的需求类型 .........................................................................................................5
需求工程的子领域 .....................................................................................................6
业务分析师 .................................................................................................................7
需求是基石 .................................................................................................................8
初体验 :需求 .....................................................................................................................8
经验教训 1 需求不对,项目要废 ..................................................................................9
何时 .............................................................................................................................9
何法 ...........................................................................................................................10
经验教训 2 需求开发成功,大家就都能懂 ................................................................ 11
经验教训 3 涉众的兴趣点都“长”在需求上 ............................................................13
涉众分析 ...................................................................................................................13
仲裁人 .......................................................................................................................15
统一战线 ...................................................................................................................15
经验教训 4 以人为本,用途为先 ................................................................................16
哪儿来那么多多余的功能 .......................................................................................16
用途先行 ...................................................................................................................17
关注用户故事 ...........................................................................................................18
用途规则 ...................................................................................................................19
经验教训 5 需求不赖,得看迭代 ................................................................................19
渐进式完善细节 .......................................................................................................19
突发功能需求 ...........................................................................................................20
突发非功能需求 .......................................................................................................21
经验教训 6 敏捷需求并无不同 ....................................................................................21
角色与职责 ...............................................................................................................22
术语 ...........................................................................................................................22
文档细节 ...................................................................................................................22
活动定时 ...................................................................................................................23
可交付形式 ...............................................................................................................24
优先级排序的时机 ...................................................................................................24
真有区别吗 ...............................................................................................................24
经验教训 7 好记性不如烂笔头 ....................................................................................25
畏惧下笔 ...................................................................................................................26
书面沟通之益 ...........................................................................................................26
合理平衡 ...................................................................................................................27
经验教训 8 需求就是要清晰沟通,不要用鬼话迷惑涉众 ........................................28
多涉众,多诉求 .......................................................................................................29
择述术 .......................................................................................................................30
唠一唠 .......................................................................................................................32
经验教训 9 群众的眼睛是雪亮的 ................................................................................32
多需求涉众 ...............................................................................................................32
需求质量检查单 .......................................................................................................33
经验教训 10 需求越好,风险越渺 ..............................................................................34
粒度尺寸 ...................................................................................................................35
多少算够 ...................................................................................................................35
经验教训 11 不是仅收集就完事了...............................................................................36
收集 vs 启发 ..............................................................................................................36
何时启发需求 ...........................................................................................................37
启发上下文 ...............................................................................................................37
启发技术 ...................................................................................................................37
奠定基础 ...................................................................................................................39
经验教训 12 客户的嘴,多听不亏 ..............................................................................39
沟通途径 ...................................................................................................................39
产品拥趸 ...................................................................................................................40
其他需求沟通途径 ...................................................................................................41
缩小隔阂的桥梁 .......................................................................................................42
经验教训 13 天眼不通,他心不通 ..............................................................................42
来猜一下 ...................................................................................................................42
明晰化 .......................................................................................................................42
他心不通 ...................................................................................................................44
经验教训 14 众口难调,则勿全调 ..............................................................................44
注意 ...........................................................................................................................45
主持人控场 ...............................................................................................................45
专注,专注,再专注 ...............................................................................................46
团体之外 ...................................................................................................................46
经验教训 15 优先级看嗓门,项目妥妥没魂 ..............................................................47
优先级排序技巧 .......................................................................................................48
排优准绳 ...................................................................................................................48
量化分析 ...................................................................................................................49
经验教训 16 边界不划清,需求摊大饼 ......................................................................49
范围潜变迷雾 ...........................................................................................................49
如何记载范围 ...........................................................................................................50
在范围内吗 ...............................................................................................................51
模糊需求 = 模糊范围 ...............................................................................................52
下一步 :需求 ...................................................................................................................53
第3章 设计................................................................................................. 54
何谓设计 ...........................................................................................................................54
设计的方方面面 .......................................................................................................55
你的设计精妙吗 .......................................................................................................56
初体验 :设计 ...................................................................................................................58
经验教训 17 设计迭代,更新不断 ..............................................................................58
原型设计之魅 ...........................................................................................................59
概念验证 ...................................................................................................................60
模型 ...........................................................................................................................60
经验教训 18 高度抽象,小步快跑 ..............................................................................61
通观全局,步步为营 ...............................................................................................62
快速视觉迭代 ...........................................................................................................63
迭代就这么简单 .......................................................................................................64
经验教训 19 不要让不知所措的用户感觉自己宛若智障 ..........................................65
让用户无法犯错 .......................................................................................................66
让用户难以犯错 .......................................................................................................66
让用户易于从错误中恢复 .......................................................................................67
随它吧 .......................................................................................................................67
经验教训 20 想优化所有质量属性?做梦呢吧 ..........................................................67
质量的维度 ...............................................................................................................68
指定质量属性 ...........................................................................................................70
质量导向的设计 .......................................................................................................70
架构与质量属性 .......................................................................................................71
经验教训 21 一仞设计,抵丈重构 ..............................................................................71
技术债与重构 ...........................................................................................................72
架构缺陷 ...................................................................................................................73
经验教训 22 系统问题,接口尤甚 ..............................................................................73
技术接口问题 ...........................................................................................................74
输入数据校验 ...........................................................................................................76
用户界面问题 ...........................................................................................................77
软件开发珠玑 XXII
接口争霸 ...................................................................................................................77
下一步 :设计 ...................................................................................................................78
第4章 项目管理........................................................................................... 79
何谓项目管理 ...................................................................................................................79
人员管理 ...................................................................................................................80
需求管理 ...................................................................................................................80
预期管理 ...................................................................................................................80
任务管理 ...................................................................................................................80
承诺管理 ...................................................................................................................81
风险管理 ...................................................................................................................81
沟通管理 ...................................................................................................................81
变化管理 ...................................................................................................................81
资源管理 ...................................................................................................................81
依赖管理 ...................................................................................................................82
合同管理 ...................................................................................................................82
供应商管理 ...............................................................................................................82
消除管理障碍 ...........................................................................................................82
初体验 :项目管理 ...........................................................................................................83
经验教训 23 工作计划,必有摩擦 ..............................................................................83
任务切换与心流状态 ...............................................................................................84
有效时间 ...................................................................................................................85
其他项目摩擦来源 ...................................................................................................86
规划影响 ...................................................................................................................87
经验教训 24 不要胡乱估算,拍个脑袋完蛋 ..............................................................87
草率预言 ...................................................................................................................88
由模糊所支配的恐惧 ...............................................................................................89
经验教训 25 冰山底下有的是东西 ..............................................................................89
应急缓冲 ...................................................................................................................90
涉险假设 ...................................................................................................................92
冰山型合同 ...............................................................................................................93
缓冲之美 ...................................................................................................................93
经验教训 26 谈判要能打,数据是筹码 ......................................................................93
哪儿来的数字 ...........................................................................................................94
原则式谈判 ...............................................................................................................95
经验教训 27 要想估算不乱猜,历史数据少不了 ......................................................95
多种历史数据来源 ...................................................................................................96
软件指标 ...................................................................................................................97
经验教训 28 估算不是谈恋爱,不按个人开心改 ......................................................98
目标 vs 估算 ..............................................................................................................98
何时调整 ...................................................................................................................99
经验教训 29 离关键路径远一点儿 ..............................................................................99
关键路径的界定 .......................................................................................................99
别挡着别人 .............................................................................................................100
经验教训 30 任务没完成,你一分钱都拿不到 ........................................................101
什么叫“完成” .......................................................................................................102
“学分”没有小数点 ...............................................................................................103
跟踪需求状态 .........................................................................................................104
完成才能致富 .........................................................................................................104
经验教训 31 项目多变,放机灵些 ............................................................................104
五个项目维度 .........................................................................................................105
谈判优先权 .............................................................................................................106
灵活性图 .................................................................................................................106
五个维度的应用 .....................................................................................................108
经验教训 32 要么控制项目风险,要么被它反杀 ....................................................108
何谓风险管理 .........................................................................................................108
辨别软件风险 .........................................................................................................109
风险管理活动 ......................................................................................................... 110
居安思危 ................................................................................................................. 112
经验教训 33 客户不是永远都是对的小公主 ............................................................ 112
“不正确” ................................................................................................................. 112
尊重“道理” ........................................................................................................... 114
经验教训 34 我们在软件里假装了太多事 ................................................................ 115
活在幻想中 ............................................................................................................. 115
非理性繁荣 ............................................................................................................. 115
人们玩的把戏 ......................................................................................................... 116
下一步 :项目管理 ......................................................................................................... 117
第5章 文化与团队合作................................................................................. 118
何谓文化与团队合作 ..................................................................................................... 118
坚守信念 ................................................................................................................. 119
文化一致性 ............................................................................................................. 119
文化结晶 .................................................................................................................120
壮大团队 .................................................................................................................121
初体验 :项目管理 .........................................................................................................122
经验教训 35 知识并非此消彼长 ................................................................................123
知识守财奴 .............................................................................................................123
致知计划 .................................................................................................................124
知识转移规模化 .....................................................................................................124
健康的信息文化 .....................................................................................................126
经验教训 36 压力再多,莫乱承诺 ............................................................................126
承诺!承诺!承诺! .............................................................................................127
生活处处有“惊喜” ...............................................................................................128
经验教训 37 培训实践不落地,大力不会出奇迹 ....................................................128
问题在哪里 .............................................................................................................129
一些可能的方案 .....................................................................................................129
工具与培训 .............................................................................................................130
开发者的个体差异 .................................................................................................131
经验教训 38 权利的背面是责任 ................................................................................132
客户的权利和责任 .................................................................................................133
开发者的权利和责任 .............................................................................................133
项目经理或发起人的权利和责任 .........................................................................133
自主团队的权利和责任 .........................................................................................133
暴风雨来临之前 .....................................................................................................134
经验教训 39 毫厘距离,千里隔阂 ............................................................................134
时空屏障 .................................................................................................................134
虚拟团队 :分离到极致 .........................................................................................135
门,门,一门毁所有! .........................................................................................136
经验教训 40 小型同地办公土办法,规模大了它就用不上 ....................................137
流程与工具 .............................................................................................................138
专业化诉求 .............................................................................................................139
沟通冲突 .................................................................................................................139
经验教训 41 工作方式转型,文化挑战不轻 ............................................................140
价值观、行为与实践 .............................................................................................140
敏捷开发与文化变革 .............................................................................................141
内化 .........................................................................................................................142
经验教训 42 秀才遇上兵,有理说不清 ....................................................................143
小教一下 .................................................................................................................144
谁出线了 .................................................................................................................144
支持灵活性 .............................................................................................................145
下一步 :文化与团队合作 .............................................................................................145
第6章 质量................................................................................................146
何谓质量 .........................................................................................................................146
质量的定义 .............................................................................................................146
质量规划 .................................................................................................................147
多个质量视角 .........................................................................................................148
构建质量属性 .........................................................................................................149
初体验 :质量 .................................................................................................................149
经验教训 43 当下搞质量便宜,以后再搞可贵了 ....................................................150
修复成本的增长曲线 .............................................................................................151
难以定位 .................................................................................................................152
早期质量行为 .........................................................................................................153
经验教训 44 想要生产力高,就要把质量搞 ............................................................154
双子传奇 .................................................................................................................155
返工之祸 .................................................................................................................156
质量成本 .................................................................................................................157
经验教训 45 没工夫一开始就弄对,却有时间以后再来修 ....................................158
为什么不一次搞定 .................................................................................................159
1 亿美元综合征 ......................................................................................................159
权衡取舍 .................................................................................................................160
经验教训 46 莫跌进烂货水沟 ....................................................................................160
烂货水沟具象化 .....................................................................................................160
软件中的烂货水沟情景 .........................................................................................161
经验教训 47 客户老板再强势,莫以恶小而为之 ....................................................162
权力游戏 .................................................................................................................162
匆匆赶码 .................................................................................................................163
知识匮乏 .................................................................................................................163
道德阴影 .................................................................................................................164
规避流程 .................................................................................................................164
经验教训 48 宁让同行刨活,别让客户报错 ............................................................165
同行评审之益 .........................................................................................................165
软件评审的多样性 .................................................................................................166
软因素 :评审的文化影响 .....................................................................................167
经验教训 49 聪明人善用工具 ....................................................................................168
工具必须提供价值 .................................................................................................168
必须明智地使用工具 .............................................................................................169
工具 ≠ 流程 ...........................................................................................................170
经验教训 50 今日之必达,明日之梦魇 ....................................................................171
技术债与预防性维护 .............................................................................................171
故意的技术债 .........................................................................................................172
质量导向设计 :现在还是以后 .............................................................................173
下一步 :质量 .................................................................................................................173
第7章 过程改进..........................................................................................174
何谓过程改进 .................................................................................................................174
软件过程改进是什么?为什么要改进? .............................................................174
莫要惧怕过程 .........................................................................................................175
让 SPI 成为既定事实 ..............................................................................................175
初体验 :软件过程改进 .................................................................................................176
经验教训 51 管理切忌人云亦云,亦步亦趋 ............................................................177
问题先行,而后方案 .............................................................................................178
根因示例 .................................................................................................................178
诊断引导治疗 .........................................................................................................180
经验教训 52 有什么好处,主语用“我们”而非“我” ..........................................180
团队回报 .................................................................................................................181
个人回报 .................................................................................................................182
为团队做件事儿 .....................................................................................................182
经验教训 53 痛点是第一更改力 ................................................................................183
啊!痛! .................................................................................................................183
无形之痛 .................................................................................................................184
经验教训 54 欲落新规,怀柔不断 ............................................................................185
转舵 .........................................................................................................................185
向上管理 .................................................................................................................186
经验教训 55 众人已载之失,莫要重蹈覆辙 ............................................................187
学习曲线 .................................................................................................................188
好的实践 .................................................................................................................189
经验教训 56 无招胜有招 ............................................................................................190
流程与节奏 .............................................................................................................190
成为非教条主义者 .................................................................................................191
经验教训 57 用文档模板践行自适应哲学 ................................................................192
经验教训 58 不要祈祷下一个项目会更好,好好学习来得更实在 ........................196
往回看 .....................................................................................................................196
回顾的结构 .............................................................................................................197
软件开发珠玑 XXVIII
回顾之后 .................................................................................................................199
经验教训 59 软件行业总在做无用功 ........................................................................199
学习之益 .................................................................................................................200
思考之益 .................................................................................................................201
下一步 :软件过程改进 .................................................................................................201
第8章 然后呢.............................................................................................202
经验教训 60 一口气吃不成胖子 ................................................................................202
确定优先级 .....................................................................................................................204
现实查验 .................................................................................................................205
行动规划 .........................................................................................................................206
你自己的经验教训 .........................................................................................................207
附录A 经验教训划重点............................................................................... 208

读者评论