实例化需求:团队如何交付正确的软件.pdf

实例化需求:团队如何交付正确的软件.pdf
 

书籍描述

编辑推荐
《实例化需求:团队如何交付正确的软件》是在世界各地调查了多个团队软件交付过程后的经验总结。《实例化需求:团队如何交付正确的软件》适合与项目管理、开发、测试、交付有关的人员阅读。

媒体推荐
“独一无二的、基于大量的业内研究提取出来的知识。”
——Mike Stockdale Syterra软件公司

“本书是我的挚爱,它教会我如何正确地做测试。”
——Craig Smith Suncorp公司

“本书将改变我们讨论和思考测试的方式。”
——David Evans ThinkAlike咨询公司

“本书是有关需求收集与维护的最好的图书。”
——Oleksandr Alesinskyy NAVTEQ

“基于众多团队的经验,它将让你的测试自动化事半功倍。”
Rick Mugridge Rimu研究公司

作者简介
作者:(塞尔)阿契克(Gojko Adzic) 译者:张昌贵 张博超 石永超

阿契克(Adzic G.),战略软件交付顾问,专注于敏捷和精益开发,尤其擅长敏捷测试、实例化需求和行为驱动开发。Gojko经常在国际上重要的软件开发和测试会议上发言,并运营着英国的敏捷测试用户小组。最近这十多年来,他一直在财务和能源交易平台、移动定位、电子商务、在线游戏和复杂配置管理系统等行业项目中,从事程序员、架构师、技术指导和顾问等工作。除本书外,他还著有Bridging the Communication Gap、Test Driven.Net Development with FitNesse和The Secret Ninja Cucumber Scrolls等书。
张昌贵(Steven Zhang),软件开发经理,CSM,CSPO,CSP,敏捷软件开发参与者,软件开源运动拥护者。
张博超(Jackson Zhang),软件开发工程师,CSM,CSPO,CSP。关注敏捷开发,积极实践并推广各种敏捷方法。
石永超(Stone Shi),软件开发工程师,CSM,CSPO,敏捷爱好者,InfoQ中文站编辑。关注高效、高质量的软件开发方法。

目录
第一部分 开始
第1章 主要优点 2
1.1 更有效地实施变更 4
1.2 更高的产品质量 5
1.3 减少返工 8
1.4 更好的协作 10
1.5 铭记 11
第2章 关键过程模式 12
2.1 从目标中获取范围 13
2.2 协作制定需求说明 14
2.3 举例说明 14
2.4 提炼需求说明 15
2.5 自动化验证时不修改需求说明 15
2.6 频繁验证 17
2.7 演化出一个文档系统 17
2.8 实际的例子 18
2.8.1 商业目标 18
2.8.2 范围 18
2.8.3 关键实例 18
2.8.4 带实例的需求说明 19
2.8.5 可执行的需求说明 20
2.8.6 活文档 20
2.9 铭记 20
3.1为什么我们需要权威的文档
3.2测试可以是好文档
3.3根据可执行的需求说明创建文档
3.4以文档为中心的模型所具有的好处
3.5铭记
第4章开始改变
4.1如何开始改变过程
4.1.1 把实施实例化需求说明当作更广阔的过程变更的一部分
4.1.2专注于提高质量
4.1.3从功能测试自动化开始
4.1.4引入一个可执行需求说明的工具
4.1.5使用测试驱动开发作为踏脚石
4.2如何开始改变团队文化
4.2.1避免使用“敏捷”术语
4.2.2确保你得到管理层的支持
4.2.3把实例化需求说明当作是比执行验收测试更好的方式来推销
4.2.4不要让测试自动化成为最终的目标
4.2.5 不要太关注工具
4.2.6在迁移过程中,遗留脚本也要有人维护
4.2.7跟踪哪些人在运行(以及没有运行)测试自动检查程序
4.3团队如何在流程和迭代中集成协作
4.3.1 Ultimate软件公司的Global Talent Management团队
4.3.2 BNP Paribas银行的Sierra团队
4.3.3 天空网络服务部门
4.4处理签收和可追溯性
4.4.1 在版本控制系统中保存可执行需求说明
4.4.2通过导出的活文档来签收
4.4.3签收的是范围,而非需求说明
4.4.4在“精简的用例”上签收
4.4.5 引入用例实现
4.5警告信号
4.5.1 注意频繁改动的测试
4.5.2 当心回退
4.5.3 注意组织级的失调
4.5.4 当心“以防万一”的代码
4.5.5注意霰弹式修改
4.6铭记
第二部分关键过程模式
第5章从目标中获取范围
5.1构建正确的范围
5.1.1理解“为什么”和“谁”
5.1.2理解价值从何而来
5.1.3 了解商业用户预期的输出是什么
5.1.4让开发人员提供用户故事的“我想要”部分
5.2在没有高层次控制权的情况下,协作确定范围
5.2.1 询问“为什么这些东西有用?”
5.2.2询问替代方案
5.2.3不要只顾最低层次的需求
5.2.4确保团队交付完整的功能
5_3更多信息
5.4铭记
第6章通过协作制定需求说明
6.1 为什么需要协作制定需求说明
6.2最热门的协作模型
6.2.1 尝试大型的全体工作坊
6.2.2尝试小型工作坊(“神勇三剑客”)
6.2.3 结对编写
6.2.4让开发人员在迭代开始前频繁地审查测试
6.2.5尝试非正式交谈
6.3准备协作
6.3.1 举办介绍会
6.3.2邀请项目干系人
6.3.3进行具体的准备工作并事先审查
6.3.4让团队成员尽早审查故事
6.3.5只准备初始的实例
6.3.6不要让过度的准备阻碍了讨论
6.4选择协作模型
6.5铭记
第7章举例说明
7.1举例说明:一个例子
7.2例子必须精确到位
7.2.1不要在例子中出现“是/否”的回答
7.2.2避免使用等价抽象类
7.3例子必须完整
7.3.1 用数据作试验
7.3.2使用替代方法来检验功能
7.4例子必须要真实
7.4.1避免虚构自己的数据
7.4.2直接从客户那里获得基本的例子
7.5例子应该易于理解
7.5.1避免探讨所有可能的组合
7.5.2寻找隐含的概念
……
第8章 提炼需求说明 86
第9章 自动化验证而不修改需求说明 103
第10章 频繁验证 122
第11章 演化出文档系统 138
第三部分案例研究
第12章 uSwitch 152
第13章 RainStor 159
第14章 爱荷华州助学贷款公司 163
第15章Sabre Airline Solutions
第16章ePlan Services
第17章Songkick
第18章思想总结
附录A资源

文摘
版权页:

实例化需求:团队如何交付正确的软件

插图:

实例化需求:团队如何交付正确的软件

例子既能避免歧义又是进行准确沟通的好方法。在日常的交谈和写作中,我们会不假思索地使用例子。当我在Google里搜索“例如”这个词组时,返回的搜索结果超过了2.1亿页。
使用传统的需求说明时,例子会在软件开发过程中时隐时现。业务分析师通常会从商业用户那里获取到订单、发货单以及报表的样本,然后他们会将其转换成抽象的需求。开发人员会想出一些例子来解释边界情况并向商业用户或分析师作出澄清,而后他们会将其转化成代码,但他们并不会记录下这些例子。测试人员会设计出测试用例,它们实际上就是系统应当如何工作的实例;这些例子仅供他们自己使用,而不会拿来与开发人员或分析师进行沟通。
每个人都会创造自己的例子,且不说这些例子是否完整,连例子的一致性都无法确保。这就是为什么在软件开发中最终结果往往会背离最初设想的原因。为了避免这种情况,我们必须防止不同角色之间出现的误解,只维护一处事实来源。
例子是避免沟通问题的好工具。如果我们自始至终都能够捕获所有的例子,并在分析、开发和测试中一致地使用它们,那么我们就可以避免进入传话游戏中(而导致信息失真)。
Beazley公司引入实例化需求说明的时候,Marta Gonzalez Ferrero是当时的测试负责人。据她所述,开发团队承诺的工作量超出了他们的能力,同时他们发现,在实现开始的时候所获得的信息往往远远不够。他们的迭代周期是6周,而且开发团队和业务分析师身处于不同的大洲,这让事情进一步复杂化。开发人员从业务分析师那里得到的验收条件也比较抽象(例如,“对于这个业务单元,要确保所有正确的产品都能够显示出来”)。在迭代半途中发现缺少某些重要的东西,会严重扰乱产出。某轮迭代结束时,客户说团队交付的东西完全不是他们所期望的。每个迭代的最后一周保留给Model Office:实际上是一个迭代的演示会议。有一次,Ferrero到美国做ModelOffice,并且与业务分析师一起工作了两天,对需求进行举例说明。结果,团队在下一个迭代承诺交付的工作减少了20%,最终他们成功交付了自己承诺的部分。
“团队的情绪也好了很多,”Ferrero说道,“在此之前,(开发人员)在实现的时候会感觉自己是在瞎做,必须等待业务分析师的反馈。”据Ferrero所述,在他们开始对需求做举例说明后,返工量急剧下降。

内容简介
  《实例化需求:团队如何交付正确的软件》是在世界各地调查了多个团队软件交付过程后的经验总结。《实例化需求:团队如何交付正确的软件》介绍了这些团队如何在很短的周期内说明需求、开发软件,并交付正确的、无缺陷的产品;为团队在实施实例化需求说明时使用的模式、想法和工件创建了一致的语言;展示了案例中的团队用来实现实例化需求说明原则的关键性实践;并在案例分析部分展示了一些团队实施实例化需求说明的历程。
  《实例化需求:团队如何交付正确的软件》适合与项目管理、开发、测试、交付有关的人员阅读。

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多