当前位置: 首页 > 编程日记 > 正文

领域驱动设计 敏捷_反馈失败:发现敏捷数据驱动的致命弱点的风险

领域驱动设计 敏捷

by Phil Seaton

菲尔·西顿(Phil Seaton)

反馈失败:发现敏捷数据驱动的致命弱点的风险 (Feedback fail: discover the risk of Agile’s data-driven Achilles heel)

您是否有遭受数据驱动欺骗的危险? (Are you in danger of data-driven deceit?)

Agile is a thousand different things. Agile could be the prefix for “agile scrum,” or it could be the vague notion of “moving fast.” Engineers might mutter something about “continuous [delivery / deployment / integration].” Microsoft has a page in the search results that appears right after the dictionary definition of the word. Did you know there’s a manifesto? It’s full of short, vague principles. It’s like import this from Python. You can’t go wrong.

敏捷是一千种不同的事物。 敏捷可能是“敏捷scrum”的前缀,也可能是“快速行动”的模糊概念。 工程师可能会抱怨“连续[交付/部署/集成]”。 Microsoft在搜索结果中有一个页面,该页面显示在单词的字典定义之后。 您知道有宣言吗? 它充满了简短,模糊的原则。 就像从Python import this它一样。 你不会错的。

Incremental Improvement without Dogma.

没有教条的增量改进。

That’s what I think of when I think of agile. But buried in all the ideas and books and blogs and seminars and real-life experiences of teams everywhere is a forgotten assumption, the Achilles’ Heel of Agile. There’s one shortcut to muck up agile fast. Ready?

这就是我想到敏捷时所想到的。 但是,埋葬在各地团队的所有想法,书籍,博客和研讨会以及现实生活中的经验是一个被遗忘的假设,即阿喀琉斯的敏捷足跟。 有一种捷径可以快速实现敏捷。 准备?

反馈不是可选的 (Feedback Is Not Optional)

Agile is a contract. In exchange for fast, incremental progress, you get fast, incremental feedback. The fast feedback enables another increment of progress in the right direction. Over time, many increments can add up to something sensible and directional.

敏捷是一种合同。 以快速,渐进的进度为交换,您将获得快速,渐进的反馈。 快速反馈使沿正确方向的进度可以进一步增加。 随着时间的流逝,许多增量可能合起来会变得明智而有方向性。

In the frenzy over agile, most people focus on the incremental progress. Some forget about the incremental feedback that’s also part of the contract.

在对敏捷的狂热中,大多数人专注于渐进式的进步 有些人忘记了合同中也包含的增量反馈

Without incremental feedback, agile can appear to work. But that’s Agile’s Achilles Heel: It can be a development methodology that appears reasonable and productive, but fails to deliver customer value.

没有增量反馈,敏捷似乎可以发挥作用。 但这就是敏捷的致命弱点:这可能是一种开发方法,看起来合理且富有成效,但却无法带来客户价值。

Without feedback, development will be directionless. A thousand minimum viable products will add up to a thousand little pieces. Customers may never see value if every MVP chips away in a different direction. This violates rule #1 from the manifesto:

没有反馈,发展将是无方向的。 一千种最低限度的可行产品将总计一千小块。 如果每个MVP都朝着不同的方向走,客户可能永远看不到价值。 这违反了宣言中的规则1:

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
我们的首要任务是通过尽早并持续交付有价值的软件来满足客户。

Here to save the day: business processes that guarantee incremental feedback. There’s a raft of these that have to do with team internals, such as scrum retrospectives and manager one-on-one’s.

在这里节省一天:保证增量反馈的业务流程。 其中有许多与团队内部因素有关,例如Scrum回顾和经理一对一。

盲目反馈的危险 (The danger of mindless feedback)

I’m interested in the company-killing product feedback mechanisms. You know these heroes already: Data Science, A/B Testing, Objectives and Key Results (OKR), Key Performance Indicators (KPIs).

我对杀死公司的产品反馈机制感兴趣。 您已经知道这些英雄:数据科学,A / B测试,目标和关键结果(OKR),关键绩效指标(KPI)。

Each of these data-driven tools can fulfill the contract of agile. But there’s a danger: they’re habitual, automatic, and purposely dehumanized. Together these data driven strategies bring more gravitas than any gut decision could. “The data tells us” is the start of a sentence that can’t be contradicted.

这些数据驱动工具中的每一个都可以履行敏捷合同。 但是存在一个危险:它们是习惯性的,自动的,并且故意是非人性化的。 这些数据驱动的策略共同带来了比任何直截了当的决策更多的吸引力。 “数据告诉我们”是一个不容矛盾的句子的开头。

Anything automatic can and will stop working if circumstances change. Every single one of these useful tools can be used to justify bad direction.

如果情况发生变化,任何自动装置都可以并且将停止工作。 这些有用的工具中的每一个都可以用来说明错误的方向。

Many companies and teams have institutionalized feedback in one way or another. Just as it’s possible to have feedback “built in” to your workflows and processes, it’s possible for those very same “feedback enabled” processes and workflows to lie to you. How? By making you think you’re getting feedback when you’re not. Here are some scenarios, along with skeptical questions worth asking.

许多公司和团队以一种或另一种方式使反馈制度化。 正如可以将反馈“内置”到您的工作流和流程中一样,那些非常相同的“启用反馈”的流程和工作流也可能对您说谎。 怎么样? 让自己以为自己在没有的时候得到反馈。 这里有一些场景,以及值得怀疑的怀疑性问题。

数据科学+ A / B测试 (Data Science + A/B Testing)

We know for sure that more people click the orange button in the bottom right than the blue button on the top right. Therefore, the orange button is better.

我们可以肯定,点击右下角的橙色按钮的人数要多于右上角的蓝色按钮。 因此,橙色按钮更好。

Is the fact that more people clicked / made it through the funnel / gave us their firstborn the only metric we care about? A/B tests almost always focus on the short term, narrow goal: more of X now.

是否有更多的人点击/通过渠道进行了调查/是否为我们的长子提供了我们唯一关心的指标? A / B测试几乎总是着眼于短期的狭窄目标:现在有X项。

But perhaps the business also has long-term goals, which might be served by the other option, or neither option? Perhaps it also wants to place qualitative limits on some options that seem too annoying / lack integrity / violate the mission.

但是,也许企业也有长期目标,这可以由其他选择来实现,或者两者都不可以? 也许它还想对一些看起来很烦人/缺乏诚信/违反使命的选择进行定性限制。

OKRs + KPIs (OKRs + KPIs)

We worked hard to define our Objectives, and we attached Key Results in numerical form so we’d know when we succeeded. Likewise, we worked hard to define our Key Performance Indicators so that they reflect the direction we want to grow in.

我们努力定义目标,并且以数字形式附加了关键结果,以便我们知道何时成功。 同样,我们努力定义关键绩效指标,以便它们反映我们想要发展的方向。

It’s great to have goals, and it’s great to be able to know when you’ve reached them or not. Numbers have a nice binary way of being reachable: you either make your numbers or you don’t.

拥有目标真是太好了,能够知道何时达到目标真是太好了。 数字具有一种可访问的不错的二进制方式:您要么创建数字,要么不创建数字。

But means matter arguably as much or more than ends. Did you make your numbers in a sustainable, repeatable way? KPIs can be modified and measure completely different things; are you sure they’re right? What if the business changes, and the KPIs aren’t updated?

但是,可以说,意义远不止终点。 您是否以可持续,可重复的方式来计算您的数字? 可以修改KPI并测量完全不同的事物; 你确定他们是对的吗? 如果业务发生变化,并且KPI没有更新怎么办?

错误反馈的解决方案:找到更深层次的联系 (Solution for bad feedback: find a deeper connection)

For me, the lesson isn’t that Data Science, Analytics, A/B Testing, or Business Metrics are bad or don’t work. Most of the time, they’re useful tools. But it can be hard to see the human reality behind all the numbers at work these days. We have numbers that can be used by a clever automaton to justify even the worst decisions, business or otherwise.

对我而言,教训不是数据科学,分析,A / B测试或业务指标不好或不起作用。 大多数时候,它们是有用的工具。 但是,如今很难看到所有工作背后的人类现实。 我们有一个数字,聪明的自动机可以用它来证明最差的决定,业务或其他方面的合理性。

The risk is an uncritical use of data fed right back into the next iteration.

风险是不严格使用反馈到下一个迭代的数据。

I’m lazy. When I find something that works, I like to repeat it without thinking.

我很懒。 当我找到可行的方法时,我会不加思索地重复进行。

To make sure I’m critical of the feedback of my agile team, I try to break the routine from time to time. I try to connect with someone who actually talks with customers at least on a once-per-sprint kind of frequency.

为确保我对敏捷团队的反馈意见持批评态度,我尝试不时打破常规。 我尝试与某人建立联系,该人实际上至少每一次冲刺一次就与客户交谈。

Lunch with someone in sales. Coffee with customer success. Calls with customers. Talking with actual people, face to face, about the product. That’s how I try to avoid the risk of data-driven agile.

与销售人员共进午餐。 与客户成功的咖啡。 与客户通话。 与实际的人面对面地谈论产品。 这就是我试图避免数据驱动敏捷风险的方法。

Is bad feedback the first thing you hear about a recent product decision? Don’t dismiss it out of hand. Your numbers say it was the right move to double the number of ads on the page… but was it?

关于最近的产品决定,第一听到的反馈是不好吗? 不要一味将其解散。 您的数字表示,将网页上的广告数量增加一倍是正确的举动……但这是吗?

If you get too many of those wrong, it’s hard to add up all those MVPs.

如果您错了太多,那么很难累加所有这些MVP。

Was this piece thought provoking? Did I miss something huge, or hit the nail on the head? Please reach out in the comments, and connect on LinkedIn. I want to learn from your perspective!

这件作品令人发指吗? 我错过了什么大事,还是碰到了头? 请在评论中提供帮助,然后在LinkedIn上进行连接。 我想从您的角度学习!

翻译自: https://www.freecodecamp.org/news/feedback-fail-discover-the-risk-of-agiles-data-driven-achilles-heel-d1fc5096bc2c/

领域驱动设计 敏捷

相关文章:

微信小程序 点击卡片切换 动画效果

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 正文&#xff1a; html <view classaa><image animation"{{animationData0}}" classimg0 stylez-index: {{index_0}}; bindtapbindtap_img id0 src"{{clubs[0].image}}"&…

Log4J的配置

Log4J简介日志记录功能是一个项目中重要的组成部分&#xff0c;Log4J是APache下的一个开源日志组件&#xff0c;为java开发者提供了很大的便利。 Loggers,日志信息的优先级日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBUG&#xff0c;分别用来指定这条日志信息的重要程度…

Xcode中的NSLog详解

探究原因基本上这种事情一定可以在Apple文档中找到&#xff0c;看NSLog的文档&#xff0c;第一句话就说&#xff1a;Logs an error message to the Apple System Log facility.&#xff0c;所以首先&#xff0c;NSLog就不是设计作为普通的debug log的&#xff0c;而是error log…

java web程序示例_想要建立一些有趣的东西吗? 这是示例Web应用程序创意的列表。...

java web程序示例Interested in learning JavaScript? Get my ebook at jshandbook.com有兴趣学习JavaScript吗&#xff1f; 在jshandbook.com上获取我的电子书 If you’re reading this post, you are probably looking for an idea. You likely want to build a simple app …

python读取文件

请参考&#xff1a;http://www.cnblogs.com/sysuoyj/archive/2012/03/14/2395789.html转载于:https://www.cnblogs.com/yajing-zh/p/6807971.html

[Git/Github] ubuntu 14.0 下github 配置

转载自&#xff1a;http://www.faceye.net/search/77573.html 一&#xff1a;创建Repositories1:首先在github下创建一个帐号。这个不用多说&#xff0c;然后创建一个Repositories。2:然后在ubuntu下安装git相关的东东&#xff1a; 1sudo apt-get install git-core git-gui git…

php ile_get_contents无法请求https连接的解决方法

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 正文&#xff1a; 1.windows下的PHP&#xff0c;只需要到php.ini中把extensionphp_openssl.dll前面的;删掉&#xff0c;重启服务就可以了。

material-ui_满足Material-UI —您最喜欢的新用户界面库

material-uiby Code Realm通过Code Realm 满足Material-UI —您最喜欢的新用户界面库 (Meet Material-UI — your new favorite user interface library) Update (17/05/2018): Material-UI v1.0.0 is out! Check out this post by Olivier.更新 (17/05/2018)&#xff1a;Mate…

day 2 基本类型和函数

列表&#xff0c;元组&#xff0c;字典的转换。list列表是一组可变的元素集合列表是[]括号组成的&#xff0c;[]括号包含所有元素&#xff0c;列表的创建可以传递字符串&#xff0c;也可以传递多个字符串来创建列表。如"asd", / "a","b" ...tupl…

手机号码输入历史记录匹配

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 正文&#xff1a; 效果图 html <view class"top_phone"><input placeholder"请输入手机号" typenumber bindinputtop_phone_input bindfocustop_phone_focus value{{ph…

Ubuntu安装Flash视频插件

http://www.linuxidc.com/Linux/2014-05/101095.htm转载于:https://www.cnblogs.com/acbingo/p/4501987.html

如何使用Web Audio API听到“ Yanny”和“ Laurel”的声音

by _haochuan通过_haochuan 如何使用Web Audio API听到“ Yanny”和“ Laurel”的声音 (How you can hear both “Yanny” and “Laurel” using the Web Audio API) Recently an audio clip asking listeners whether they hear the word “Yanny” or “Laurel” has been c…

SCARA——OpenGL入门学习一、二

参考博客&#xff1a;http://www.cppblog.com/doing5552/archive/2009/01/08/71532.html 简介 最近开始一个机械手臂的安装调试&#xff0c;平面关节型机器人又称SCARA(Selective Compliance Assembly Robot Arm)型机器人,是一种应用于装配作业的机器人手臂。然后找资料学习一下…

[.NET] 《Effective C#》快速笔记 - C# 中的动态编程

《Effective C#》快速笔记 - C# 中的动态编程 静态类型和动态类型各有所长&#xff0c;静态类型能够让编译器帮你找出更多的错误&#xff0c;因为编译器能够在编译时进行大部分的检查工作。C# 是一种静态类型的语言&#xff0c;不过它加入了动态类型的语言特性&#xff0c;可以…

阿里云https证书apache配置

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 正文&#xff1a; 一&#xff1a;下载证书&#xff1b; 二&#xff1a;安装证书 文件说明&#xff1a; 1. 证书文件1534884149377.pem&#xff0c;包含两段内容&#xff0c;请不要删除任何一段内容。…

vue css 应用变量_如何使用CSS Grid和CSS变量快速为应用创建原型

vue css 应用变量CSS Grid and CSS Variables are both huge wins for front-end developers. The former makes it dead simple to create website layouts, while the latter brings the power of variables to your stylesheets.CSS Grid和CSS变量对于前端开发人员都是巨大的…

linux--memcache的安装和使用(转)

memcache是高性能&#xff0c;分布式的内存对象缓存系统&#xff0c;用于在动态应用中减少数据库负载&#xff0c;提升访问速度。据说官方所说&#xff0c;其用户包括twitter、digg、flickr等&#xff0c;都是些互联网大腕呀。目前用memcache解决互联网上的大用户读取是非常流行…

EF 调试跟踪生成的SQL语句

IQueryable query from x in appEntitieswhere x.id 10select x;var sql ((System.Data.Objects.ObjectQuery)query).ToTraceString(); 或者 EF6 &#xff1a; var sql ((System.Data.Entity.Core.Objects.ObjectQuery)query).ToTraceString(); 转载于:https://www.cnblogs…

微信小程序图片自适应宽高比例显示解决方法

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 正文&#xff1a; 解决方案一&#xff1a;写固定宽度&#xff0c;然后使用 image 组件中 mode 属性的 widthFix &#xff1b; 先看效果图&#xff1a; 实现代码&#xff1a; <image classmy_img mo…

初创公司面试要问什么_聘请初创公司的产品设计师时要问的问题

初创公司面试要问什么by Bohdan Kit通过Bohdan Kit 聘请初创公司的产品设计师时要问的问题 (Questions to ask when hiring a product designer for a startup) 在人群中寻找隐藏宝石的方法指南 (A how-to guide on finding hidden gems in the crowd) Finding the right pers…

Select Top在不同数据库中的使用

1. oracle数据库 SELECT * FROM TABLE1 WHERE ROWNUM<N 2. Infomix数据库 SELECT FIRST N * FROM TABLE1 3. DB2数据库 SELECT * ROW_NUMBER() OVER(ORDER BY COL1 DESC) AS ROWNUM WHERE ROWNUM<N 或者 SELECT COLUMN FROM TABLE FETCH FIRST N ROWS ONLY 4. SQL Server…

bat+sqlcmd 批量执行脚本

Hello,此BAT脚本能够帮助开发者将某目录下全部SQL脚本按文件名称依次在指定数据库中批量执行。不用忍受powershell invoke-sqlcmd 的笨重。在指执行时多一种选择。 bat文件 echo off REM ******** ******** General Batch for Starting SQL ******** ******** REM %1 is the n…

突破微信小程序五层层级限制的解决方案

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 正文&#xff1a; 五层的限制只是针对 navigateTo&#xff0c;redirectTo 不受此限制。 navigateTo &#xff1a;保留当前页面&#xff0c;跳转到应用内的某个页面&#xff0c;使用wx.navigateBack可以…

react-dnd-dom_我如何使用react-dnd和react-flip-move构建React游戏

react-dnd-domby Nicholas Vincent-Hill尼古拉斯文森特希尔(Nicholas Vincent-Hill) 我如何使用react-dnd和react-flip-move构建React游戏 (How I built a React game with react-dnd and react-flip-move) This is a high level overview of my implementation of a puzzle/w…

web应用程序和web网站_Web应用程序和移动应用程序的基本启动清单

web应用程序和web网站by Ben Cheng通过本诚 Web应用程序和移动应用程序的基本启动清单 (The Essential Launch Checklist for Web Apps and Mobile Apps) This is a simple launch checklist for web and mobile apps that I’ve prepared for product and project managers t…

javascript禁止修改对象

禁止扩展 Object.preventExtensions(obj);var me {name: "xiaowtz" }; console.log(Object.isExtensible(me)); //true,对象默认都是可扩展的Object.preventExtensions(me); //禁止对象扩展后&#xff0c;不可以给对象添加新的属性console.log(Object.isExtensible(…

webpack入门之简单例子跑起来

webpack入门之简单例子跑起来 webpack介绍 Webpack是当下最热门的前端资源模块化管理和打包工具&#xff0c;它可以将很多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源&#xff0c;还可以将按需加载的模块进行代码分割&#xff0c;等到实际需要的时候再异步加载。…

微信小程序 scroll-view 根据内容的高度自适应

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 正文&#xff1a; 1 <video autoplay src"{{videoPlayUrl}}" controls></video> <scroll-view scroll-y style"height: {{height?heightpx:auto}}"><view c…

org.hibernate.hibernate.connection.release_mode

org.hibernate.connection包的主要封装了通过JDBC来连接数据库的操作&#xff0c;用户可以以数据源的方式&#xff0c;或者通过特定数据库驱动的方式&#xff0c;甚至是自己定义连接类的方式来完成数据库的连接操作&#xff0c;包下面的代码文件并不多&#xff0c;只有5个&…

添加百度地图最简单的办法

http://map.baidu.com/?newmap1&ieutf-8&ss%26wd%3D%E4%B8%8A%E6%B5%B7%E9%9D%92%E6%B5%A6%E5%8C%BA%E5%BE%90%E9%BE%99%E8%B7%AF77%E5%8F%B7后面加上地址就好了 比方说&#xff1a;http://map.baidu.com/?newmap1&ieutf-8&ss%26wd%3D%E4%B8%8A%E6%B5%B7%E9%…