Cynefin框架
《代码大全》的作者史蒂夫·麦克康奈尔(Steve McConnell)在《卓有成效的敏捷》这本书里,探讨了用于理解不确定性和复杂性的Cynefin框架。
Cynefin框架是戴维·斯诺登(David Snowden)20世纪90年代的在IBM时创建的,在其后,他继续发展它。
斯诺登将框架描述为一种“意义结构框架”(sense-making framework)。它有助于理解那些根据具体情况的复杂性和不确定性而发挥作用的策略。
这个框架由5个域组成,每个域拥有自己的属性和建议的响应。
Cynefin是威尔士语,意思是“栖息地”或者“邻里”。因此,这里提到的域就不是分类(分类要体现类内相似,类间相异)。这里的域应该看做有意义的集群,这也正是栖息地所强调的。
5个域分别为:
- 明显域(obvious domain)
- 繁杂域(complicated domain)
- 复杂域(complex domain)
- 混乱域(chaotic domain)
- 失序域(disorder domain)
明显域
明显域的问题是众所周知的,而且解决方案是显而易见的,每一个人都认同唯一的正确答案。
这种模式发挥作用的域:程序化、过程化、机械化。
解决方案就是:感知-归类-响应。
繁杂域
在繁杂域,了解问题的大致情况,要问什么问题,以及如何获得答案。
繁杂域会有多个正确答案。
繁杂域的因果关系是很繁杂的,必须要分析、调查和运用专业知识来解释因果之间的关系。不是每个人都能看出来或理解因果之间的关系,它也被称之为专家域。
繁杂域的解决方法是:感知-分析-响应。
这里的关键问题在于:中间的步骤是分析,而不是简单的归类。
复杂域
复杂域的问题即使对于专家而言,因果关系也不是一目了然的。
在这里,并不了解所有要问的问题,这个域的挑战就是发现问题,再多的分析也不能解决问题,而是需要通过不断实验来逐步找到解决方案。
斯诺登说,复杂域是协作、耐心以及让解决方案浮现的域。
建议的解决方法:探索-感知-响应。
解决问题不得不先进行探索,最终才会让分析变得有意义。
混乱域
在混乱域中,因果之间的关系是混乱且动荡不定的。
这个域还包含其他域中不存在的时间压力元素。
框架将这个域定义为果断的行动导向的领导力域。
推荐方法是在混乱中增加秩序并快速地执行:行动-感知-响应。
也就是在没路的地方杀出来一条血路,通过行动找到问题的解决方案。
失序域
失序域域表示不清楚哪个域适用于该问题。
解决方法是:将问题分解为元素,然后评估每个元素所属的域。
几点启示
Cynefin提出,是一种领导力决策框架,是在知识管理与组织战略中提出来的。不确定性和复杂性可能就是世界的本质,因此它在很多地方具有用武之地,包括软件工程。
Cynefin所代表的栖息地,比较形象的描述了问题的典型特征,在栖息地中,大家的居住相对集中,那么该域中的问题具有很大的相似性,具有一般意义上的代表性解法。
Cynefin所代表的栖息地,有代表了问题的迁移,栖息地之间的界限是模糊的,那么问题就不会陷入绝对,而是需要综合来看这个复杂特性是啥。
最后,在读这个框架之前,我还没有仔细分辨过complicated 与 complex 这俩英文单词的差别……