如何实现假设驱动开发(二)

How to Implement Hypothesis-Driven Development

原文:https://www.thoughtworks.com/...微信

翻译:祝坤荣(时序)工具

咱们相信<这个功能>

咱们须要开发什么功能来测试咱们的假设?经过定义咱们要构建产品或服务的'测试'能力,咱们能够识别出来要测试的功能和假设。学习

结果会有<这个输出>

咱们实验指望的输出是?咱们指望构建的'测试'能力获得的特定结果是?测试

当<咱们看见一个可度量的信号>咱们会知道咱们成功了

什么样的信号能指出咱们作的事生效了? 咱们度量什么样的指标(定性或定量)能够证实咱们的实验成功了并们足够的信心能够进行到下个阶段。.net

你统计信号的门槛取决于你对正操做的的业务和上下文的理解。不是全部公司都像亚马逊或谷歌有那样的用户规模能够在很短期内运行处统计样本的实验。须要基于你组织的限制来肯定信号证据的阈值什么时候能够走向下一步。翻译

好比你想打造一艘火箭,你可能想要你的实验有个很明显的统计学特征。而若是你须要决定在用户注册时如何帮助用户增加则你可能很高兴容忍一个很低的统计阈值。图片

最后一步是清楚可见的表述咱们假设的猜想,创建一个反馈闭环让团队提供以后的输入,讨论并理解咱们正在测试的状况。它们从技术和业务视角是否是有用的?开发

当你要你的目标是对你的产品或服务愿景提供一个可测试的机制时你要进行假设。它们能够测试你产品或服务的大部分不肯定的地方,以便于提供信息和提高信心。get

假设驱动开发的用户故事例子是:原型

业务故事

咱们相信在预约页加大旅馆图片的尺寸
结果会能够改进用户的预约和转化
咱们知道咱们会成功当咱们看见看了旅馆图片的用户在48小时内的预约会有5%的增加

当在软件领域使用实验方法时咱们须要有效的监控和评估工具来度量咱们的工做影响并提供一个反馈闭环给团队。否则咱们在衡量努力结果时就是瞎的。

在敏捷软件开发中咱们定义了可工做的软件就是主要衡量进度的指标。

"经过整合持续交付和假设驱动开发咱们如今能够定义可工做的软件和经证明学到的业务知识是进度的主要衡量指标"

正常来说咱们在没有衡量出交付物的价值时咱们不会说完工了 - 换个说法就是得到了能够证明咱们假设有效的数据。

收集数据的一个例子就是用A/B测试来测试一个假设并度量用户行为的改变。另外一些测试方案也包括用户调研,纸上原型,用户和 /或 游击队测试。

使用假设驱动开发的公司的一个例子是lastminute.com(http://lastminute.com/)。 团队造成了一个假设就是用户有意愿付最高价钱给旅馆是基于他们预约的时间。 Tom Klein,CEO与Sabre基金的主席分享了一个他们如何在一周内提高了400%转化的故事(https://www.youtube.com/watch...

结论

将假设驱动开发与持续交付组合的实践加速了实验并加强了有效学习。这给了咱们机会在减小支出,甩开竞争对手时加速咱们的创新。理想状况下咱们能够获得一个总体流程:原子更改可让咱们肯定对产品和服务的变动与对核心指标产生结果的关系。

就像Kent Beck说的,“测试驱动开发是在考虑解决方案前先考虑问题的伟大实践”。假设驱动开发提供机会让你在想解决方案前先测试你想的问题。


本文来自祝坤荣(时序)的微信公众号「麦芽面包,id「darkjune_think」转载请注明。

交流Email: zhukunrong@yeah.net

相关文章
相关标签/搜索