Home
Chirpy
Cancel

拆解需求的十种策略

10 powerful strategies for breaking down Product Backlog Items in Scrum (with cheatsheet) 为什么垂直拆解要优先于横向拆解? 显然,拆解需求有两种方式,一个是横向拆解,按需完成的任务的类型,或需完成的组件的层级这些维度来拆解。因此,UI, 数据库,一些其他组件,前端,测试等工作会在这种拆解中被拆成小模...

复盘一次“抬杠”对话

甲:我觉得应该采用A方案 乙:不,用A方案会有这个情况 balabala 甲:那种是特殊情况,特殊情况也可以这样解决 balabala ,不能因为有风险就用 B 方案。 然后就特殊情况是否能被解决进行深入讨论。事实上很少有什么方案是能把所有特殊情况都覆盖解决掉的,总能够找出一两个反例来说你的解决办法不行。这时候甲就有种“你在抬杠”的感觉了。 我们停下来,回顾一下对话,甲说的第二句...

记一本烂书的发现过程

今天想看半小时书:《洗脑术:怎样有逻辑地说服他人?》 这本书的初步印象: 没有英文标题,不是外文书籍。有点成功学的感觉。关注它是不是英文书籍,是因为最近发现英文经典技术书籍通常都是逻辑紧密,有理有据,而反之,中文技术书籍更多的是 api 使用,知其然不知其所以然(差的甚至知其然都没能做到)。 作者介绍:旅美华人,曾任职 FBI 。后在华盛顿开办神秘培训...

BDD 反模式二则(from cucumber)

https://cucumber.io/docs/guides/anti-patterns/ cucumber 官网描述的一些反模式: 与 Feture 绑定的步骤定义(Feature-coupled step defineinions) 这类步骤定义无法跨 Feature 或 Scenario 使用。会导致产生大量,重复的代码,进而影响维护成本 。 例:假设一个简历应用,可能有以下...

关于 BDD 的一些总结与想法

BDD 是个方法论 一开始,我认为 BDD = Gherkin + TDD ,即一种自动化测试方法。但有篇文章(BDD 就是测试吗? )告诉我:这个想法是错的。文章作者认为 BDD 包含测试阶段,但它的核心并不是自动化测试,测试只是个手段,BDD 最重要的部分是各角色(测试,开发,产品等)在讨论需求(协作)阶段用各种方法来明确需求,避免遗漏。 如果从鹅厂的研发模式来看,所谓的“协作”阶段...

BDD 就是测试吗?(2017年的文章)

原文:此文的受众似乎是测试人员 https://www.hindsightsoftware.com/blog/is-bdd-testing-part-1 https://www.hindsightsoftware.com/blog/is-bdd-testing-part-2 BDD 某些活动中确实需要测试,但它并不真的是测试。 有些拗口是不是? 介绍 对行为驱动开发的态度是两级分...

whose domain is it anyway

https://dannorth.net/2011/01/31/whose-domain-is-it-anyway/ Feature: User logs in Scenario: User with valid credentials Given an unauthenicated user When the user tries to navigate to ...

BDD,TDD 学习笔记

这几天在看《BDD In Action》第十章,靠 google 翻译,磕磕吧吧看完两节。做了些摘译,也按着书中例子尝试一下开发。 BDD 与 TDD 共同特点是 用可执行的办法描述需求文档和设计文档。 具体到框架语言 BDD 的文档是 cucumber/gherkin。 TDD 的文档是 NUnit。 BDD 的整个开发流程,应该是这样的: 1. 语言、技术框架的选择 2....

Common Mistakes in TDD and TDD in Flutter

原文:https://medium.com/learnfazz/common-mistakes-in-tdd-and-tdd-in-flutter-2bf682071036 测试驱动开发(Test Driven Development) 简单写 TDD,指一种约定在写业务代码之前先写其测试代码的开发模式。 根据敏捷宣言作者之一 Robert Cecil Martin 的定义,TDD 有三...

Dart2.6 新特性: Static Extension Funtion

扩展函数在 Kotlin 中是使用非常广泛且非常受欢迎的一个特性。今天在看 dart 源码时看到这样一个语法: extension Where<T> on Stream<T> { Stream<S> whereType<S>() => transform(_WhereType<S>()); ... } 印象中,d...