【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

怎样让失败变成成功之母?

  • 2011-07-14
  • 本文字数:1294 字

    阅读完需:约 4 分钟

通常,失败会让大家觉得沮丧、愤怒进而互相指责。然而,如果不能从失败中学到点什么,那么这真的将是彻头彻尾的失败。可是敏捷团队怎么才能让失败成为成功之母呢?

James Shore 觉得与其怒火中烧,不如认可大家的努力,大家都已经尽力而为了。

我不会去指责大家,我会去检讨一下流程。是什么样的工作方式让我们有了犯错误的可能?为了不再重蹈覆辙,我们应该怎么改进我们的流程?这就是所谓的根本原因分析。

万一失败了,那么一个最有效的根本原因分析法就是“五个为什么”技术“五个为什么”分析法源自于精益制造。它主要通过识别症状,随后五次不断地提问“为什么”来找出问题的根本原因。据观察,通常问了五个为什么以后,相应的解决方案也逐渐明朗了

敏捷团队经常使用的另外一种技术叫做鱼骨图,这项技术可以让我们系统全面地分析发生的问题。事实上,为了直观地展示“五个为什么”的过程,鱼骨图是非常有用的。还有一个有趣的相关的技术是由Joel Spolsky 提出的“二步修复法(Fix it Twice)”:先制定一个快速的方案修复问题,这样团队可以继续工作、不被耽搁,接着再找出一个可以长治久安的方法,避免问题重现。

那么进行根本原因分析的最好的方式是什么呢?

Jim Bird 提出了以下几种方法

  • 找到正确的人。
  • 营造良好的氛围,解决问题而不是互相指责。
  • 在识别出真正的问题和相应的解决方案之前,绝不停止探究。
  • 不要满足于一个简单的根本原因。事实上还有很多更加复杂的情况。
  • 仅仅是人员问题?那可能不是我们想要的结果。

类似的,援引 Douglas Squirrel 的话,Gojko Adzic 觉得,当所有相关人员都聚在一起,就应该有个民意投票来识别出问题。一旦问题找到了,就可以按照“五个为什么”的方法来分析,直至找到原因。找不出原因,那么就说明使用方法有误。在识别出问题之后,非常重要的一点就是要去定义出解决这些问题所对应的任务

不要鬼迷心窍,“不要因为系统停止工作 5 分钟就去重新培训你的整个开发团队”,Squirrel 说道,“相反,你应该根据问题定义出相关的任务”。Squirrel 说:“你不一定需要立刻就解决所有问题,但你需要不断前进。”他觉得,与其找到一个“镀金”方法, 不如快速响应。“如果你一开始走了弯路,问题很快又会出现。”一个周期很长的方案永远也不会有完成的那一天,所以 Squirrel 建议更多地考虑一周之内你能做什么,甚至是一个小时之内,下次问题出现的时候,再去制定相应的解决方案。

Jim 也认为真正的工作是在分析了根本原因之后才开始。人们会让你容易忘记失败,又回到原来的交付模式中去。然而,我们需要积极地去管理那些根本原因分析后制定的任务,在待办事项列表中追踪它们的状态。我们需要收集相应的度量指标,也需要让大家都意识到正确的方式是什么。

你将需要使用一些度量指标和成本数据来引领大家的行为方式,引领变化以及来帮助你决策——怎么样去推动团队,多久推动一次:变化太频繁了?团队太松散了?还是变化的成本太高了?抑或你矫枉过正了?

这样看来,最棒的方式就是把失败当成学习提高的好机会。最重要的是,我们要识别出根本原因,积极地管理好那些能够解决问题的方案任务,直到全部完成。

查看英文原文: All Right It Failed, What Next?

2011-07-14 17:392006
用户头像

发布了 114 篇内容, 共 31.8 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

React源码解读之任务调度

flyzz177

React

2022-12-18:给定一个长度为n的二维数组graph,代表一张图, graph[i] = {a,b,c,d} 表示i讨厌(a,b,c,d),讨厌关系为双向的, 一共有n个人,编号0~n-1, 讨

福大大架构师每日一题

算法 rust 福大大

架构训练营模块 2 作业

附加信息

架构训练营10期

架构实战营 - 模块二作业

落叶挂云霄

架构训练营 模块二作业

提姆

架构训练营10期

架构训练营模块二作业

现在不学习马上变垃圾

#架构实战营

微信朋友圈高性能复杂度分析

你敢

高性能 微信朋友圈 架构实战营 模块二

软件测试 | 测试开发 |面试真题 | 需求评审中从几个方面发现问题

测吧(北京)科技有限公司

测试

React源码分析2-深入理解fiber

flyzz177

React

模块二-作业:朋友圈高性能架构

unique

第九期 - 模块八

wuli洋

前端leetcde算法面试套路之树

js2030code

JavaScript LeetCode

微信朋友圈高性能复杂度分析

LT

架构实战营

跨平台应用开发进阶(二十四) :uni-app实现文件下载并保存

No Silver Bullet

uni-app 12月月更 文件下载 文件保存

React源码分析3-render阶段(穿插scheduler和reconciler)

flyzz177

React

React源码解读之React Fiber

flyzz177

React

数据库原理及MySQL应用 | 日志管理

TiAmo

数据库 日志 12月月更

二十大专题,3000道 Java后端核心面试解析,国内超牛的《Java 面试突击核心手册》重磅来袭!

架构师之道

编程 程序员 java面试

用javascript分类刷leetcode23.并查集(图文视频讲解)

js2030code

JavaScript LeetCode

架构训练营第10期模块二作业

刘博

软件测试 | 测试开发 | 校招面试 | 一面试就紧张,怎么办?

测吧(北京)科技有限公司

有哪些工作是AI无法替代的(59/100)

hackstoic

AI AIGC

ReactDOM.render在react源码中执行之后发生了什么?

flyzz177

React

微信朋友圈之高性能架构设计

Geek_7d539e

架构实战营模块三作业-外包学生管理系统的架构文档

张Dave

微信朋友圈高性能架构_模块二作业

Geek_e5f2e5

微信朋友圈架构设计

chinandy

实战训练营-模块八消息队列数据库设计

Geek_b35d92

架构实战营模块二作业

周烨

React源码分析4-深度理解diff算法

flyzz177

React

前端leetcde算法面试套路之堆

js2030code

JavaScript LeetCode

怎样让失败变成成功之母?_研发效能_Vikas Hazrati_InfoQ精选文章