草色天涯
-
从误解看敏捷实施的阻力──思维方式 - [敏捷开发]
2009-10-13
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://dear.blogbus.com/logs/48319123.html
我们常常能够看到或是听到许多有关敏捷的问题,无论在邮件组里、在技术交流活动上,还是在客户现场的时候──当然,最后一点是废话,没问题人家请你去咨询干嘛?有的问题只是简简单单的疑问、困惑,这就容易解决;但有些问题则是误解,当误解产生以后,扭转人们的观念相比起答疑解惑就要困难的多。于是我最近一直在考虑,这些误解产生的根源是什么呢?有什么方式可以帮助我们更容易说服对方,化解误解?我们在宣传推广某些理念的时候,又该怎样避免让别人产生误解?假如话题不仅限于敏捷,那我们自己在平时会存在哪些类似的思维误区?我们自己又可以怎样避免?
这些问题我并没有很好的答案,刚根据刘未鹏的博客和豆列买了几本有关行为经济学和判断决策的书,例如“怪诞行为学”、“别做正常的傻瓜”、“摇摆”,接下来应该还会读一些心理学方面的书。这篇博客只是记录一下我今天所想到的一些思考角度,希望看到的朋友能够不吝拍砖。
Bob大叔在本月8号的一篇博客中解答了TDD中的一些问题,例如:
为什么不把测试都放到后面再写?
TDD能不能代替架构?
TDD能不能代替设计?
是不是每行代码都要用TDD的方式来写?
把其中某几个问题换个写法可能就会看起来很眼熟:“有了TDD是不是就可以不做设计了?”、“有了TDD是不是就可以不做架构了?”我们还有更多的例子可以写,像“写单元测试是不是浪费时间?”“敏捷是不是就不要文档了?”“我们在搞敏捷,所以就......” 我姑且把这些误解分成两类:第一类是单纯因为知识欠缺所导致的,例如“写单元测试是浪费时间”、“先写测试后写测试一个样”;第二类所表现出来的,则是知识面跟思维方式的共同问题。
从前我跟陶公子一起做过一个有关敏捷基础知识的Session,会后交流的时候,有个朋友就很感慨的说,“听了你们的session才知道,原来不是说用了敏捷之后,我们从前那些积累下来的成功经验就抛弃不要了啊,我操,原先我就一直以为实施敏捷以后,CMMI里面有些适合我们的做法也得扔呢。”这就是典型的第二类现象,知识欠缺加上思维方式有问题。
这里的知识面欠缺指的是:从接触到的宣传、读到的材料和书籍等信息中,没有接触过这方面的内容,导致潜意识中对这个问题没有足够的认识;思维方式的问题指的是:其一,把没有接触到的东西当作是不存在的, 敏捷管理的书上没怎么写过要保留哪些文档,就认为敏捷不要文档;敏捷的书上没讲过要不要跟从前的成功经验结合,就以为要全盘抛弃。其二是新旧事物水火不容、新事物强大乃至万能的观念作祟,这种观念由来已久,像政权交替,像王安石变法,像“旧的必须彻底粉碎,新的才能顺利成长”的革命斗争,再到“有了TDD就可以不做设计”、“敏捷是银弹”等等,都是它的体现。而等人们发现新事物并非自己当初所认为的万能之后,光环背后的缺陷就会被无意识的放大,在心理逆差的作用之下,有些人就会恨不得把新事物推到在地上,再踩上一千只脚──这种现象在日常生活中很常见,在此不必赘述。
这些林林总总的问题,究其根源可以归纳为以下两点(我这里的分析肯定不全面,希望以后有机会补足或是推倒重来):
1. 被动接受信息,欠缺批判性思考。
在“学会提问:批判性思维指南”的第一章中,作者说道,“作为一个有思想的人,你必须决定对所见所闻做出什么反应。你可以像前面提到的那个新法官一样,无论碰到什么都接受它,但这就会导致你将其他人的观点当作自己的观点。更积极的做法是努力提出一些问题,尽量形成自己关于这个问题的观点。”
把别人的观点当作自己的观点会让人慢慢丧失主动思考的习惯,信息从耳朵眼睛进入,直接从嘴巴手指流出,大脑成了没有过滤功能的中转站。盲从、人云亦云说得就是这样的做法。此外,所有人做所有的事情都有目的,当我们看到一篇文字,或是听到一场session,首先应该想的就是,这个写文章或者做session的人,他想传达给我什么信息,表达什么观点?他的目的是什么?
我有位朋友是独立咨询师,他说过一句很经典的话:“我骗人的时候从不说谎。”当我们能够看清目的与真相,我们才能够尽可能的不被眼前见到的、耳边听到的所左右。(有关批判性思考的内容,请参见前面所提到的“学会提问:批判性思维指南”)
2. 对知识的掌握只是浮光掠影,没有深入的分析研究。
回头再看Bob大叔的这篇博客,比较一下“有了TDD是不是就可以不做设计了”和“TDD能不能代替设计”这两个问题,从“是不是”到“能不能”其实表示了认知程度的一个跨越。当被问到“是不是”的时候,我们也许可以认为,这个问问题的人,他的知识并不足以支持他自己对这个问题做出判断,他对这个问题所包含的知识范畴,只是道听途说的了解而已;而当被问到“能不能”的时候,我们就可以知道,问问题的人已经做过了尝试,他自己已经隐约或是明确的意识到“不能”,但他从书本上,或是别人嘴里听到的话却隐隐约约跟他所动手了解到的不是一个样子,所以他还是想了解一下,他所认为的“不能”,到底是真的“不能”,还是因为他的能力不足,或者知识面不宽等原因导致的暂时“不能”。
如果我们在质疑、指责、攻击某个观点之前,先尝试着对它的应用场景、使用方式、涉众、影响范围、结果……做一些模拟乃至真实的尝试,也许就可以避免肤浅的判断。
每个人都难免有成见。所以如果我们曾经抱怨别人对敏捷、对我们的工作方式存在种种偏见,那么当我们看到别人的观点与我们不同时,请尊重他们,请尝试花时间理解他们,去了解背后的故事。因为别人也会以同样的眼光审视我们,也因为同样的工艺可以得到同样的面包(这个故事请参见《咨询的奥秘》)。
随机文章:
如何提高读书的投入产出比─主动思考 2009-10-15浅谈养成习惯 2009-10-14敏捷与三项全能 2009-10-10有关咨询的一点事儿 2009-06-05人物专访——Scrum认证面面谈 2009-01-15
收藏到:Del.icio.us








