《实例化需求:团队如何交付正确的软件》阅读笔记1
最近一段时间在 关注一种新的敏捷模式,当然这里说新,是由于目前很少看到有项目在应用,其实这种模式很早就已经诞生了。一个偶尔的机会,在苦寻敏捷测试的过程中,无意中 看一本书,关于如何提高敏捷过程中需求、开发和验收的测试效率,让我很是感兴趣,这本书名《实例化需求:团队如何交付正确的软件》。可能是由于翻译的原 因,读起来给我的帮助并不是那么大,但至少先让初步了解他的思想,我想这就是最大的帮助了,因为我确实接受了他。
关于如何处理需求说明与测试,不同的组织使用不同的名称,或者说是不同的定义,但他们都有一套共同的核心原则与思想,而且当你接受他了之后,我们便可以认为他们本质上是一致的。通常有如下定义:
- 敏捷验收测试
- 验收测试驱动开发
- 实例驱动开发
- User Story测试
- BDD行为驱动开发
- 实例化需求说明(Specification by Example)
对于以上的 概念,我想大家都不陌生,但可能都是一个概念,因为没有实践。当具体去实践,其实就发现跟我们平时的流程相对也很容易理解,只是方式不一样,或者执行流程 不一样,当然这里要说的就是不同,那就是方法。方法都是总结出来,多实践之后,提炼出来的就是适合我们的方法。就如同我们在实施了一段时间之后,突然有一 天有人问我什么是BDD(行为驱动开发),我发现我很疑惑,我不理解。但细想,我现在做的流程不就是BDD吗,而我现在做的流程准确来说被定义为实例化需 求,但这个概念似乎不能把开发和测试给拉进来,而用BDD来定义,似乎就一瞬间把需求、设计、开发和测试拉绑定在了一起。
何为 BDD?其实就是通过真实用户的行为来定义我们需要开发出什么样的产品来,个人理解。但再结合实例化需求,就会发现,我们就是把用户的行为通过一个实例化 的过程描述出来,然后整理成设计、开发和测试都能看懂的,当然最重要的是用户也能看懂,而且用户看完之后就认可,这就是我想要的,这就是BDD,也就是实 例化需求过程。
它既不是传统的需求文档,也不是设计文档,更不是测试用例文档,但适用于从需求、设计、开发和测试的每一个阶段,而且都是从用户的角度为出发点的。那我就认为那就是我们想要的过程模式。