《高质量需求(英文限量版)》从软件需求领域中萃取出20 个核心的实践,覆盖需求过程六大环节:需求的计划、启发、分析、规范、验证和管理节。本书可以帮助团队在短时间内了解和发现更精准的需求,通过充分的沟通和协作来得到更好的解决方案,以更有利于实现持续价值交付的顺序实现更有价值的功能,让业务得以持续和增长。 《高质量需求(英文限量版)》尤其适合商业分析师、需求工程师、产品经理、产品负责人和开发人员阅读和参考,可以帮助他们合力打造出可持续增长的业务。
需求领域两位专家混搭,联袂倾力呈现20个核心实践
精粹版实用工具,搞定贯穿项目全周期的7类需求活动
本书提供了 20 个核心实践,用于成功的需求规划、启发、分析、规范、验证和管理。领先的需求专家专注于在任何应用领域中极有可能在传统和敏捷项目中提供卓越价值的实践。这些核心实践可帮助团队了解业务问题,吸引正确的参与者,阐明更好的解决方案,改善沟通,以正确的顺序实施极有价值的功能,并适应变化和增长。
本书简明扼要,提供了足够实用的操作方法细节,无论您是业务分析师、需求工程师、产品经理、产品负责人还是开发人员,都可以自信地应用这些核心实践。借助于本书,整个团队可以对关键概念、术语、技术和基本原理达成共识并在每个项目上更有效地协同工作。
推荐序
长话短说,关于需求,如果您只想读一本书的话,就选这本书吧!卡尔和坎黛西联合打造了软件需求精粹版权威指南。
让我们回顾一下长话版。其实,如果已经走到这一步,说明您肯定早就明白了一点:精准的需求是所有软件或系统开发项目取得成功的基础。业务分析师、产品负责人、产品经理、业务利益相关方或者开发人员,都有必要花时间去征询、分析、记录和管理需求,以免日后为此付出惨重的代价真金实银的那种。好的需求,肯定可以产出高质量的软件。
《高质量需求》是为忙碌的职场人士设计的(话说有谁不忙呢?),旨在帮助他们在短时间内快速了解需求领域那些重要的实践。本书适用于采用传统方法或者敏捷方法的软件项目。虽然这些需求实践的术语和节奏可能不同,但本书很好地简化了差异,并指出这些方法有哪些相似的地方。书中描述的实践几乎适用于任何类型的团队构建几乎任何类型的产品。
我个人非常了解卡尔和坎黛西,可以为他俩的合作成果背书。他们各有所长,互为幕僚,既可以拓展同时又可以兼顾彼此的想法。他们身体力行,在许多项目中亲自用过这些需求技术。至于需求,如果要我给大家推荐一本更全面的书籍,我自然更偏向于《软件需求》(第3 版),这是我和卡尔的合作成果,我个人相当喜欢这本书(a)。很多人不知道的是,我是从卡尔的《软件需求》(第1 版)入门开始学习成为业务分析师。事实上,在那个时候,我是第一次见到卡尔本人。上个世纪90 年代末,我的工作是为我司内部类似敏捷的迭代开发方法定义需求实践。我的天,我真心希望当时就能看到大家现在手上拿的这本书!
《高质量需求》把《软件需求》以及其他许多书中大量的信息高度萃取,提炼成20 个最重要的、几乎普遍适用于所有项目类型的需求活动。如今,忙碌的BA 根本没时间从头到尾阅读任何一本大部头。但不管怎样,总能抽点儿时间来阅读这本书。
a 译注:参见清华大学出版社2023 年版的《软件需求》(第3 版中文限量版)。
这本书来自许多软件需求书籍的CliffsNotes 版(b)。由于两位作者刻意进行了集中和浓缩,所以大家不要指望能在《高质量需求》这本书中看到诸多细节或者每个主题都能给出完整的例子。对于本书介绍的许多技术,读者都可以略通What(是什么)、Why(为什么)和How(怎么做)足以让大家开始上手并产生动力。如果想要了解更多详情,请点击书中提供的链接,去查阅大量的参考资料。
与卡尔的其他任何一本好书一样,这本书在注重实用性的同时,还暗含机智和幽默。坎黛西为大家带来丰富的敏捷经验,使得本书可以与今天常见的实践接轨。卡尔和她珠联璧合,将丰富的项目经验融合到这本书中,使其能与读者产生强烈的共鸣,因为其中许多真实的轶事使得推荐的需求技术变得真实、可靠。
大家不一定要读《高质量需求》。但如果需要做项目,并且要参与解决需求,那么我会把这本书视为你的一个需求,而且还是刚需!
乔伊·比蒂,ArgonDigital 首席运营官
b 译注:一种应用较广的学习导览手册,以小册子的形式或在线形式介绍、解释和归纳文学作品等经典著作的要点,以便读者快速了解全书的内容。
卡尔·魏格斯(Karl Wiegers)
自 1997 年以来,卡尔·魏格斯一直是 rocess Impact 的首席顾问,这家公司位于俄勒冈州的欢乐谷,是一家软件开发咨询和培训公司。卡尔为全球数以千计的学生和会议参与者做过 650 多场演讲。在此之前,他在柯达公司工作 18 年,先后担任过摄影研究科学家、软件开发人员、软件经理以及软件过程和质量改进负责人。卡尔拥有伊利诺伊大学有机化学博士学位。
卡尔写过 13 本书,包括《软件需求》系列版本以及《聪明的商业咨询师》和法医悬疑小说The Reconstruction。他写过许多文章,主题涉及软件开发、管理、设计、咨询、化学、军事历史和励志类文章。卡尔有几本书获过奖,与乔伊·比蒂合著的《软件需求》(第 3 版)获得了技术交流协会的卓越奖。卡尔担任过 IEEE Software 杂志编辑委员会成员,还是 Software Development 杂志的特约编辑。
除了在键盘前工作,卡尔还喜欢品酒,在公共图书馆担任志愿者,为 Meals on Wheels 义务送餐,弹吉他,写歌和录歌,阅读军事历史以及四处旅游。可以通过www.processimpact.com和 www.karlwiegers.com 联系他。
坎黛西·霍坎森
坎黛西·霍坎森是ArgonDigital 公司的业务架构师和 PMI-Agile 认证从业人员,这家公司位于德克萨斯州奥斯汀,从事软件开发、专业服务和培训。坎黛西在产品负责和业务分析方面有超过十年的经验,她与客户一起确定和实现能为项目带来极佳投资回报的需求,无论采用的是哪种开发周期。她还培训或指导过数百名产品负责人和业务分析师同行。目前,她热衷于了解如何在大型企业中优化敏捷以及技术性很强的系统或者后端系统有哪些敏捷需求。坎黛西毕业于莱斯大学,拥有土木工程学士和硕士学位以及宗教研究学士学位。
坎黛西是产品管理和业务分析社区的活跃成员,担任过 2019 年Keep Austin Agile 会议的联合主席和奥斯汀 IIBA 的主席。她写了很多文章,主题涉及敏捷与可视化需求模型、敏捷中的需求以及大型企业中的敏捷。
工作之余,坎黛西喜欢和家人在一起,她是迪士尼的忠实粉丝,喜欢阅读英国历史,喜欢旅游,喜欢品酒。大家可以通过www.argondigital.com和 candase.hokanson@argondigital.com联系她。
详细目录
第1 章 需求本质 1
1.1 需求的定义 2
1.2 需求工程的良好实践 5
1.3 谁负责所有这些事情 8
1.4 一些反复出现的主题 9
1.5 需求的生命期和时间 11
1.6 上手指南 11
第2 章 奠定基础 13
2.1 实践#1:首先理解问题,然后再形成解决方案 14
2.1.1 业务问题 14
2.1.2 征询真正的问题 15
2.1.3 始终关注业务问题 17
2.1.4 相关实践 18
2.1.5 行动练习 18
2.2 实践#2:定义业务目标 19
2.2.1 业务需求 19
2.2.2 业务目标 22
2.2.3 成功指标 23
2.2.4 产品愿景 24
2.2.5 相关实践 25
2.2.6 行动练习 26
2.3 实践#3:定义解决方案的边界 26
2.3.1 完善解决方案概念 27
2.3.2 设定上下文 28
2.3.3 扩展生态系统 29
2.3.4 应用解决方案边界 30
2.3.5 相关实践 32
2.3.6 行动练习 32
2.4 实践#4:确定并描述利益相关方 33
2.4.1 寻找利益相关方 34
2.4.2 利益相关方、客户和用户类别 36
2.4.3 确定利益相关方的特征 37
2.4.4 相关实践 39
2.4.5 行动练习 39
2.5 实践#5:确定有决策权的人 39
2.5.1 谁来做决定 40
2.5.2 他们如何决定 41
2.5.3 决定之后会发生什么 43
2.5.4 相关实践 43
2.5.5 行动练习 44
第3 章 需求征询 45
3.1 实践#6:理解用户需要用解决方案来做什么 47
3.1.1 专注于使用 47
3.1.2 征询用户需求 48
3.1.3 用例剖析 51
3.1.4 应用以使用为中心的需求信息 52
3.1.5 相关实践 52
3.1.6 行动练习 53
3.2 实践#7:确定事件和响应 53
3.2.1 事件的类型 54
3.2.2 指定事件 55
3.2.3 相关实践 59
3.2.4 行动练习 59
3.3 实践#8:评估数据概念和关系 59
3.3.1 理解数据对象及其关系 60
3.3.2 完善对数据的理解 62
3.3.3 数据细节决定成败 64
3.3.4 寻找数据需求的藏身之处 66
3.3.5 相关实践 67
3.3.6 行动练习 67
3.4 实践#9:征询和评估质量属性 67
3.4.1 征询质量属性 68
3.4.2 质量属性的含义 69
3.4.3 权衡质量属性 70
3.4.4 规范质量属性 71
3.4.5 相关实践 73
3.4.6 行动练习 73
第4 章 需求分析 75
4.1 实践#10:分析需求和需求集 76
4.1.1 分析单个需求 77
4.1.2 分析需求集 81
4.1.3 相关实践 83
4.1.4 行动练习 83
4.2 实践#11:创建需求模型 84
4.2.1 选择合适的模型 85
4.2.2 使用模型来完善理解 87
4.2.3 迭代建模 90
4.2.4 相关实践 91
4.2.5 行动练习 91
4.3 实践#12:创建和评估原型 91
4.3.1 进行原型设计的原因 92
4.3.2 如何进行原型设计 93
4.3.3 原型的命运 96
4.3.4 相关实践 97
4.3.5 行动练习 97
4.4 实践#13:需求优先级排序 97
4.4.1 优先级排序的挑战 98
4.4.2 影响优先级的因素 99
4.4.3 优先级排序技术 100
4.4.4 通过逐对比较对质量属性进行优先级排序 102
4.4.5 分析性优先级排序方法 103
4.4.6 相关实践 104
4.4.7 行动练习 105
第5 章 需求规范 107
5.1 实践#14:以一致的方式编写需求 109
5.1.1 常见需求模式 109
5.1.2 抽象层次 111
5.1.3 需求属性 113
5.1.4 非功能需求 114
5.1.5 相关实践 115
5.1.6 行动练习 115
5.2 实践#15:以结构化的方式组织需求 115
5.2.1 需求模板 115
5.2.2 软件需求规范 117
5.2.3 需求管理工具 119
5.2.4 相关实践 120
5.2.5 行动练习 121
5.3 实践#16:确定和记录业务规则 121
5.3.1 定义业务规则 121
5.3.2 发现业务规则 123
5.3.3 记录业务规则 124
5.3.4 应用业务规则 125
5.3.5 相关实践 126
5.3.6 行动练习 126
5.4 实践#17:创建词汇表 127
5.4.1 沟通的同步 127
5.4.2 相关实践 130
5.4.3 行动练习 130
第6 章 需求确认 131
6.1 实践#18:评审和测试需求 132
6.1.1 需求评审 132
6.1.2 需求测试 134
6.1.3 验收标准 135
6.1.4 测试分析模型 136
6.1.5 高效地测试需求 138
6.1.6 把质量提到前面 139
6.1.7 相关实践 140
6.1.8 行动练习 140
第7 章 需求管理 141
7.1 实践#19:建立和管理需求基线 142
7.1.1 定义需求基线 142
7.1.2 两种基线策略 143
7.1.3 确定要包括到基线中的需求 144
7.1.4 就基线达成一致 145
7.1.5 管理多个基线和对它们的变更 147
7.1.6 相关实践 148
7.1.7 行动练习 149
7.2 实践#20:有效管理需求变更 149
7.2.1 预测需求变更 150
7.2.2 定义变更控制过程 151
7.2.3 评估变更影响 154
7.2.4 做出决策后 155
7.2.5 寻找更少的变更 155
7.2.6 相关实践 155
7.2.7 行动练习 156
附录 实践汇总 157
参考资料 159
索引 165