写点什么

检查列表的威力

  • 2007-12-24
  • 本文字数:1565 字

    阅读完需:约 5 分钟

最近,在《New Yorker》的一篇文章中,Atul Gawande 提到了 Peter Pronovost 医生利用低技术含量的检查列表,降低医院重症监护病房感染率的研究。Peter Pronovost 医生找出了那些最可能引起感染的步骤,并为每个步骤定义了简单的检查列表。有了这些列表以后,大大降低了病人在各步骤中受感染可能性。

他并不是为所有的事情来制定完整的检查列表,而只是针对解决单一问题而开列清单……开始使用这一列表后,Pronovost 让在其重症监护病房工作的护士对医生的工作过程进行了一个月的观察,并记录他们每完成一步需要多长时间。最后发现,在诊疗过程中至少被略过一个诊疗步骤的病人多于三分之一。

在接下来的一个月,他和他的团队一起说服院方,授权护士依据检查列表来制止医生跳过任何步骤,也要求护士每天就“是否应该删除某些条目?”征求他们的意见,以保证那些不必要的步骤被及时剔除。这是革命性的……如果医生不按照检查列表中的每一步执行,在院方的支持下,护士有权干涉。

Pronovost 与其同事一起跟踪了一年多的时间。结果简直难以置信:十天的导管感染率从 11%降到了零。随后,他们又跟踪了病人十五个月。在整个过程中,只有两例导管感染率发生。他们通过计算得出,在这样的医院里,检查列表防止了 53 例感染和 8 例死亡的发生,节省成本两百万美金。

看到这一成功以后,ICU 的人开始了自管理的过程:

研究人员发现,仅仅让 ICU 的医护人员列出每天他们想到并应该做的检查列表,这就可以改善治疗的连续性,并在几星期内,病人在 ICU 的时间就减少了一半。

但医护人员都是经过专业培养的专业人员,为什么如此简单的列表却收到这样明显的成效呢?

Pronovost 注意到:检查列表有两点好处。首先,他们有利于提醒,特别是那些在处理病人紧急事件中很容易被忽视的小事儿;其次,在复杂的治疗过程中,使细小却必要的步骤更为清晰明了。Pronovost 很惊奇地发现:即使是有丰富经验的医生也会忘记某些特定预防措施的重要性。

多疑的读者可能注意到了,这里只提到了一个医院的状况而已。很可能是因为工作环境的特殊性吧?Pronovost 把他的列表用于整个密歇根州很多医院的 ICU,包括在底特律的一些最差的医院。其结果做为一项研究发表在《New England Journal of Medicine》上:

在项目的前三个月,密歇根州 ICU 的感染率下降了 66%。其中,有代表性的 ICU(包括在 Sinai-Grace 医院的)的感染率从原来的四分之一下减到了零。密歇根州的感染率降得如此之低,以至于它的普通 ICU 做得都比全国 90% 的 ICU 好。在 Keystone Initiative 的前十八个月,节约了 1.75 亿美元成本,挽救了超过 1500 条生命。就因为这个看上去笨拙的检查列表,这种成功已经保持了四年了。

但这与软件开发有什么关系呢?敏捷开发团队试图用恰好够用的过程,在合适的时机,按照预期交付高质量的软件。那么接下来的问题就是:有没有类似于 Pronovost 医生所给出的、简单的检查列表,可以适用到软件开发过程呢?

Kent Beck 最初提出的十二个 XP 实践看起来象是一个检查列表,但并不完全是。主要目的是识别出短小且简单的列表,用于检查开发过程中易于被忽略、并且会给团队和系统带来问题的部分环节。例如,当被问及在他的日常工作中使用什么样的检查列表时,Kent 说道:

我用“笨而短小的检查列表”来做我的 IDE 无法直接支持的重构。例如,把一个 field 移动到一个 component 中:

  1. 将所有这个 field 的 setter 代码修改为 component 的 setter 方法;
  2. 修改所有使用 field 的 setter 方法来访问它的代码,变为使用 component 的 setter 方法来访问它;
  3. 删除这个 field 的声明;
  4. 使其尽可能的简单化。

当然,简单的检查列表无法解决将敏捷引入组织所面临的棘手问题。但敏捷社区可能从识别和共享产出大于投入的检查列表中获益。在日常工作中,你用什么“笨而短小的检查列表”了吗?

查看英文原文: The Power of Checklists

2007-12-24 17:553022
用户头像

发布了 100 篇内容, 共 24.3 次阅读, 收获喜欢 5 次。

关注

评论

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

SpringSecurity+JWT认证流程解析

Java 程序员 后端

面试官:你说说软件测试WHX模型(图解)

程序员阿沐

程序员 软件测试 自动化测试 测试开发

SpringData【Spring整合HibernateJPA】(1)

Java 程序员 后端

正则表达式 与 XPath 语法领域细解,初学阶段的你,该怎么学?

梦想橡皮擦

11月日更

SpringData【Spring整合HibernateJPA】

Java 程序员 后端

软件的生命周期(软件工程各阶段的工作)

程序员阿沐

程序员 软件测试 生命周期 测试开发 测试工程师

SpringSecurity安全控件使用指南

Java 程序员 后端

Spring框架(五)SpringMVC高级

Java 程序员 后端

Spring注解缓存设计原理及实战

Java 程序员 后端

spring的事务隔离级别

Java 程序员 后端

Java的jvm与gc概述

小鲍侃java

11月日更

MySQL Operator 02 | 脚手架选型 & 工程创建

RadonDB

MySQL 数据库 Kubernetes RadonDB

东吴证券张之浩:从理论到落地的 DevOps 体系建设

BoCloud博云

DevOps 云原生 证券

Spring中的AOP——在Advice方法中获取目标方法的参数

Java 程序员 后端

SpringSecurity入门(一)

Java 程序员 后端

SpringMVC--文件上传

Java 程序员 后端

SpringMVC之Interceptor拦截器之登录拦截器(1)

Java 程序员 后端

未来怎么样的测试工程师最值钱?

程序员阿沐

腾讯 软件测试 自动化测试 测试开发

面试题:软件测试V模型以及软件生命周期

程序员阿沐

编程 程序员 软件测试 自动化测试 教程

软件测试的策略详解(按开发阶段划分)

程序员阿沐

编程 程序员 软件测试 自动化测试 测试工程师

Spring之AOP适配器模式

Java 程序员 后端

Spring新版本抛弃JVM,可独立部署,网友:要自立门户?

Java 程序员 后端

springcloud(三)网关zuul

Java 程序员 后端

Spring(四):bean标签解析

Java 程序员 后端

Spring系列之数据源的配置 数据库 数据源 连接池的区别

Java 程序员 后端

SpringMVC之Interceptor拦截器之登录拦截器

Java 程序员 后端

SpringMVC入门第二部分

Java 程序员 后端

如何在 CentOS 中下载包含所有依赖项的 RPM 包

吴脑的键客

centos

SpringSecurity详细介绍RememberMe功能

Java 程序员 后端

SQL Server 2008中的分区表(二):如何添加、查询(1)

Java 程序员 后端

springcloud(二)配置中心config

Java 程序员 后端

检查列表的威力_研发效能_Kurt Christensen_InfoQ精选文章