使用Facebook方法处理复杂问题
程序员文章站
2022-03-27 16:11:07
...
计算机系统曾经非常脆弱,以至于我们不得不简化它所处理的问题。现如今,即使最复杂不过的问题,计算机也能从容应对——但我们仍需懂得如何简化,才不至于令大众面对本不必要的复杂。
哈佛大学商学院教授James McKenny是我的导师,他讲过这样一个故事:人们刚使用计算机时,零售企业西尔斯(Sears)公司曾找他参与一套库存自动化管理系统研发。他很快发现,在当时,哪怕“男袜”这样的小商品门类都会耗尽全世界的计算和存储资源,因为这个门类有庞大的属性集合——号码、颜色、材质、样式、长度等等,它们组合在一起,复杂性呈指数增长。
对当时的计算机来说,这些问题过于复杂,若想自动化处理,西尔斯公司必须先简化问题,例如将一些商品的多个属性加以整合,用同一代码表示,或者直接在系统中忽略某些属性。
自那以后,计算机性能突飞猛进,存储成本可忽略不计,压缩算法也愈加精妙。能自动化处理的问题大大增加,但是组合带来的复杂性依旧——只不过现在是“人”应付不来计算机系统了,尤其在面对那些庞杂又刻板的系统时。
这些系统极度复杂,因为牵涉的场景太多,有些差别仅在毫厘之间。与用户交互时,系统需要喋喋不休地经过许多步骤才能与用户匹配。即便95%的用户都一样,但大家都逃不过5%特例才会面对的复杂问题。结果是,自动化系统把仅仅涉及小部分用户的复杂性施加到所有用户身上。
举个例子:一家大型IT服务企业顾问前几天跟我讨论大型公共系统的。所谓“大型公共系统”包括医保、税收、社会服务、军队系统等,一般都极其复杂,因为它们本身面对的问题就是如此——与民众和公务员们打了数十年的交道后,系统中积攒了无数的规则、规矩、实例和传统,连刑具、中世纪战舰这类琐碎的内容都在其管理范围内。这些系统就是书本报端中常提到的“项目管理灾难”。(这不是新问题,也绝不限于公共领域,私有企业一点儿都不少,只不过藏得深。)
依我之见,问题的根源出在公共系统架构师身上,他们首先追求自动化,其次才想到简化。之所以先把简化搁在一边,是因为这类工作需要层层批准。“简化”就是选择不做哪些工作,其困难之处在于,专家们往往坚持把复杂的特例纳入系统中。支持先简化的人太少,支持他们立场的具体论据也太少。即便这样,先简化再自动化才会令工作更高效。
那位IT顾问提到个具体案例:数据库中的“性别”字段。乍听之下,我天真的以为“性别”无非是三种情形:男、女和待定(如事故中受害者,或是未出生婴儿无法确定性别)。然而,事实上这个问题非常复杂:除了男女性两个主要性别,还有其他许多分类,与人性的各个细小分支有关。所有这些普遍选项外的变量产生了复杂的组合,让所有问题都变得异常复杂。
听完这个案例,我暗自思索:倘若在系统架构之初不纳入这些复杂的因素,而是使用Facebook的方法,会怎么样呢?Facebook只会问很少的几个与年龄、性别、职衔问题。其中一个我记忆尤深:“你正在恋爱吗?”选项是:“是的”、“没有”和“这很复杂”。
(当然,我知道Facebook现在已经把选项设计的更精细了。请继续往下看,重点在于我因为此事想到了什么。)
一些原本刻板的系统之所以赢得青睐,是因为它们高效的应用了上面的方式。上世纪90年代,挪威税务管理局负责人叫Bjarne Hope,他非常有活力(可惜英年早逝),在他的领导下,管理局认为挪威人民花在填报各种税务表单的时间太多了,并不高效,因为许多需要人们填写的信息挪威*已经从雇主、银行或其他来源得到了,不需要重复填写。于是他们采取了新方式,由挪威税务管理部门提前填写好一份简化后的两页税务表单,然后寄给纳税人。纳税人收到的表单上只有一个简单的问题:“以下是我司记录的本年度纳税信息,数额是否正确?”如果正确,只需签字确认然后寄回即可。(从2000之后的几年,纳税人就可以通过手机短信完成这项工作,大约从2010年,纳税人如果确认数额正确,甚至什么都不用回复。)如果数额不正确,只需要把正确的数额写在错误数额的旁边,签字确认完毕后再寄回。
最初,这套系统仅适用于挪威30%的纳税人,他们只有一份工作、一份固定的收入,只享受标准减税政策。年复一年,随着税收政策不断简化和系统升级,扩展到了更广泛的人群,如今已覆盖80%的纳税人。我自己的纳税情况比较复杂:一份主要的工作、几份兼职、运营了几个小公司。然而,去年我纳税的方式非常简单——看了一眼税务局发给我的纳税申报单(当然是在线的,不是纸质),然后什么也没做,因为申报单上的数额是正确的。我的公司纳税流程也是在网上进行的,直接通过会计系统完成。
大多数挪威人对税务管理局的评价很高,尽管也时不时抱怨税收太重(这很正常)。能够赢得纳税人的认可,全都是因为在系统架构之初他们就先想到要把简单的事情自动化,然后再持续简化流程和扩展系统。这件事还有个附带的好处,那就是给政客们带去了简化税收政策的压力,因为只有简化税收政策,纳税人才能轻松确认纳税申报单。
依我看,生活中需要更多这种“是的,不是,这很复杂”的选项。你们觉得呢?
或许你会回答:“这很复杂”。
原文链接:http://ubiquity.acm.org/blog/the-facebook-method-of-dealing-with-complexity/
哈佛大学商学院教授James McKenny是我的导师,他讲过这样一个故事:人们刚使用计算机时,零售企业西尔斯(Sears)公司曾找他参与一套库存自动化管理系统研发。他很快发现,在当时,哪怕“男袜”这样的小商品门类都会耗尽全世界的计算和存储资源,因为这个门类有庞大的属性集合——号码、颜色、材质、样式、长度等等,它们组合在一起,复杂性呈指数增长。
对当时的计算机来说,这些问题过于复杂,若想自动化处理,西尔斯公司必须先简化问题,例如将一些商品的多个属性加以整合,用同一代码表示,或者直接在系统中忽略某些属性。
自那以后,计算机性能突飞猛进,存储成本可忽略不计,压缩算法也愈加精妙。能自动化处理的问题大大增加,但是组合带来的复杂性依旧——只不过现在是“人”应付不来计算机系统了,尤其在面对那些庞杂又刻板的系统时。
这些系统极度复杂,因为牵涉的场景太多,有些差别仅在毫厘之间。与用户交互时,系统需要喋喋不休地经过许多步骤才能与用户匹配。即便95%的用户都一样,但大家都逃不过5%特例才会面对的复杂问题。结果是,自动化系统把仅仅涉及小部分用户的复杂性施加到所有用户身上。
举个例子:一家大型IT服务企业顾问前几天跟我讨论大型公共系统的。所谓“大型公共系统”包括医保、税收、社会服务、军队系统等,一般都极其复杂,因为它们本身面对的问题就是如此——与民众和公务员们打了数十年的交道后,系统中积攒了无数的规则、规矩、实例和传统,连刑具、中世纪战舰这类琐碎的内容都在其管理范围内。这些系统就是书本报端中常提到的“项目管理灾难”。(这不是新问题,也绝不限于公共领域,私有企业一点儿都不少,只不过藏得深。)
依我之见,问题的根源出在公共系统架构师身上,他们首先追求自动化,其次才想到简化。之所以先把简化搁在一边,是因为这类工作需要层层批准。“简化”就是选择不做哪些工作,其困难之处在于,专家们往往坚持把复杂的特例纳入系统中。支持先简化的人太少,支持他们立场的具体论据也太少。即便这样,先简化再自动化才会令工作更高效。
那位IT顾问提到个具体案例:数据库中的“性别”字段。乍听之下,我天真的以为“性别”无非是三种情形:男、女和待定(如事故中受害者,或是未出生婴儿无法确定性别)。然而,事实上这个问题非常复杂:除了男女性两个主要性别,还有其他许多分类,与人性的各个细小分支有关。所有这些普遍选项外的变量产生了复杂的组合,让所有问题都变得异常复杂。
听完这个案例,我暗自思索:倘若在系统架构之初不纳入这些复杂的因素,而是使用Facebook的方法,会怎么样呢?Facebook只会问很少的几个与年龄、性别、职衔问题。其中一个我记忆尤深:“你正在恋爱吗?”选项是:“是的”、“没有”和“这很复杂”。
(当然,我知道Facebook现在已经把选项设计的更精细了。请继续往下看,重点在于我因为此事想到了什么。)
一些原本刻板的系统之所以赢得青睐,是因为它们高效的应用了上面的方式。上世纪90年代,挪威税务管理局负责人叫Bjarne Hope,他非常有活力(可惜英年早逝),在他的领导下,管理局认为挪威人民花在填报各种税务表单的时间太多了,并不高效,因为许多需要人们填写的信息挪威*已经从雇主、银行或其他来源得到了,不需要重复填写。于是他们采取了新方式,由挪威税务管理部门提前填写好一份简化后的两页税务表单,然后寄给纳税人。纳税人收到的表单上只有一个简单的问题:“以下是我司记录的本年度纳税信息,数额是否正确?”如果正确,只需签字确认然后寄回即可。(从2000之后的几年,纳税人就可以通过手机短信完成这项工作,大约从2010年,纳税人如果确认数额正确,甚至什么都不用回复。)如果数额不正确,只需要把正确的数额写在错误数额的旁边,签字确认完毕后再寄回。
最初,这套系统仅适用于挪威30%的纳税人,他们只有一份工作、一份固定的收入,只享受标准减税政策。年复一年,随着税收政策不断简化和系统升级,扩展到了更广泛的人群,如今已覆盖80%的纳税人。我自己的纳税情况比较复杂:一份主要的工作、几份兼职、运营了几个小公司。然而,去年我纳税的方式非常简单——看了一眼税务局发给我的纳税申报单(当然是在线的,不是纸质),然后什么也没做,因为申报单上的数额是正确的。我的公司纳税流程也是在网上进行的,直接通过会计系统完成。
大多数挪威人对税务管理局的评价很高,尽管也时不时抱怨税收太重(这很正常)。能够赢得纳税人的认可,全都是因为在系统架构之初他们就先想到要把简单的事情自动化,然后再持续简化流程和扩展系统。这件事还有个附带的好处,那就是给政客们带去了简化税收政策的压力,因为只有简化税收政策,纳税人才能轻松确认纳税申报单。
依我看,生活中需要更多这种“是的,不是,这很复杂”的选项。你们觉得呢?
或许你会回答:“这很复杂”。
原文链接:http://ubiquity.acm.org/blog/the-facebook-method-of-dealing-with-complexity/