看见的力量 – (II) 影响地图
本文转自台湾的李智桦老师的博客,原文地址
Impact Mapping 真是令人惊艳的可视化工具。等你看完这篇文章,你会爱上它的。
典故
继2011年6月Example of specification《实例化需求》一书的伟大贡献之后(获得 2012年 Jolt Award 年度最佳图书大奖),Gojko Adzic 说我会更努力地在需求这个领域里做出成绩来的,请期待。他果然没有让大家等太久,2012年10月他发行了 Impact Mapping《影响地图》这本只有三个部份,共73页的小册子。小册子只说明了一件事:如何把概念可视化 – Impact Mapping影响地图。它展现了一种「让需求可视化的能力」,用简单的 Why-Who-How-What的分析法,搭配结构化的显示方式,让工程师能够看见辛辛苦苦开发出来的功能是对应到哪一个业务的目标上。哈哈!
其实是倒过来的,因为它十分适合运用在需求还是极度抽象(概念)的时期,他让业务目标能够清晰化,让大家都能以较抽象的方式看出需要那些功能才能达成这样的业务目标。它能够串联出来一条相关的影响路径,并借着关联的图示化,让需求被看得见,这一点对产品的早期,还在做雏型设计的作业上有着极大的贡献。
- 原文版: Impact Mapping: Making a big impact with software products and projects
https://www.impactmapping.org/book.html - 中文版: 影响地图:让你的软件产生真正的影响力
http://www.ituring.com.cn/book/1395
用Impact Mapping来分析电影 — 另类的诠释
这是我的最爱,运用电影来阐述演讲的情节内容(大概是2005年开始的,我记得当时讲的第一部电影是基诺.利瓦伊的驱魔神探 康斯坦丁,技术上要探讨的是微软 Message Queue 的理论)。手法是在演讲中拨放一段2到3分钟的电影精彩片段,让学员透过可视化的影像,试着联想着跟演讲主题的种种关联性,达到一种比单独听讲者演说更为有效的共鸣。这招用多了以后,就自然而然成为了自己演讲时的特色。一些熟识的学员,总会在上课前顺道问一下今天会放哪一部片子啊?!
但这回采用impact mapping, 则是真的用来分析电影用,与技术无关,假借着运用它可视化的能力,让没有看过这部电影的人也能像剧务一样的熟悉着每个场景(似乎讲得太夸张了,实质上只是画出它的路径而已,若是想要完全了解它,还是要配合着去看剧本吧,至于所有的功能描述,那是每个参与演出人的”脚本”),了解各个场景试图要带给观众的效果是什么,以及它所想达成的目标。以下便是电影白日梦冒险王(The Secret Life of Walter Mitty国内的翻译叫做《白日梦想家》)的影响地图(或许是它的主题曲太吸引人了,所以就选它的电影来当范例了。它叫: Stay alive)。
由左往右;依序陈列的是电影要达成的目标,有哪些重要的角色,而这些角色要强调的是那些特色,这些特色所需要的构成因子,最后是用怎样的剧情演出才可以获得这样的效果。(有一条可以依循的路径,好像就可以勾勒出the whole picture,这是我们在思维模糊期所最最想要的,寻找条可以依循的思路,这需要练习,来动动手吧!)
试着用这些数据,开始说故事吧:
- 主角的目标(Why): 找到第25张底片,来做杂志最后一期的封面故事。
人物主角(Who): 华特.米堤 Walter Mitty(由班·史提勒饰演) - 主角的个性特色(How): (1)爱做白日梦。(2)是典型的宅男。
- 影响这个个性的描述(What): (1)表现得经常发呆、幻想。(2) 非常容易触景生情。(3)少年时打工后遗留下来的创伤,等等。
- 场景(Scenario): 这是我自己加上的。因为要做这样的个性描述,该有怎样的布景来做配合,预备动用多少演员,准备拍摄多长的底片(也就是预备花费的成本)及脚本。
只是一张简洁的图示,针对 一个目标,陈述着;第一层、谁Who:指出主角人物,第二层、怎样How:格性特色的描述,第三层、什么What:列出影响的因素,再针对这些个因素设计出能够展现达成让观众引起共鸣的场景片段。最后再检验这些个片段是否能达成我们所默认的目标。这样便OK了!一出戏的极度抽象轮廓便可以成形了。
看着这张图示;不论是导演、演员或是剧务,依靠这样的说明,似乎看见了剧本中赋予这个角色的全貌,大家开始有了个基本的轮廓,也就是我们所谓的对主角、人物的轮廓, get the whole picture看见全貌(请注意Impact Mapping 是用来描述部分路径的影响因素的,然后分析有它或无它的影响性,而不是用来分析所有相关路径的全貌的,那太复杂了,也就是说;因为故事的全貌通常都会太过于错综复杂,远远超过这种直列式分析方式的范畴,就是关连性太高、太复杂了很难画出来,或是根本就画不出来,因此我们几乎不会把所有的相关因素都画出来,只把重点放在想要探讨的路径上)。
老实说,我好喜欢用它来分析电影。而且每当分析完电影的那一刻,我总会觉得(自以为是的)自己可以去当导演了(或许应该把这种方法介绍给李安吧!)。
因此这一段我先用电影来跟大家分享自己的心得。但运用在软件开发上,要怎么转换呢?
※请看它的使用者故事(应该说的是用例):
身为白日梦冒险王的主角,我希望能够表现得常常发呆、幻想,从此以后当大家提到Walter Mitty时就会想到我是一个爱做白日梦的人。
电影说完了,开始讲正课吧!
「谁Who」 刚好对照到使用者,「什么What」则是对到愿望,「怎样How」对照到利益。我们能够很容易地由可视化的影响因素,引导出相关的使用者故事。这一点刚好可以提供我们在向他人陈述故事时的关联性说明。
※附带一提;在撰写使用者故事的时候,应该是写三张卡片而不是一张。
- 第一个故事卡片上描述实际的故事;
- 第二个是占位符。为我们看到第一个故事后必然要做的改变保留位置;
- 第三个故事卡片就完成那些改变后所需要做的优化。
依循这种方式,很快的你就会有一大堆用户故事了,当信息过多的时候,反而会让你看不到真正工作的主轴,此时便该是使用者故事地图出现的时候了
下面这一段参考自中文译本,是标准教材,到处都可找得到。但请记得;看完后挑一部自己喜欢的电影,制作它的影响地图,会很有成就感的!
何谓影响地图?
- 一个简单却极高效的协作性的策略规划方法
- 影响地图Impact Mapping是一门属于战略性的规划技术,通过清晰的沟通假设,说明团队根据总体业务目标调整其活动,以及做出更好的里程碑决策,影响地图可以说明组织避免在构建产品和交付项目的过程中迷失方向。
- 影响地图可以有效的评估交付,作为质量回馈的标准之一。
影响地图的结构
它是这样的一个思维逻辑和组织结构:
为什么(Why)–>谁(Who)–>怎样(How)–>什么(What)
也就是:我们的目标是什么(Why),为了达成目标需要哪些人(Who)去怎样(How)影响,为此我们需要做什么(What)。影响地图通过构建产品和交付项目来产生实质影响,从而达到业务目标。
影响地图的特点
结构性:从业务目标到交付的结构化梳理和挖掘的方法,目标–角色–影响–产出物。
整体性:连接目标和具体交付物之间的树状逻辑图谱。
协作性:利益相关人一起沟通讨论协作,把隐藏在个人头脑中的默认的思维逻辑挖掘出来共享。
动态性:动态调整、迭代演进、经验证的学习。
可视化:一个清晰的视图,关联性的结构一眼可以望穿、易读。
它将各种角色以不同的视角,不同的思维逻辑,不同的前提假设,通过可视化和协作的方式进行整理、说明,相关性在座连接,一下子就串起来了。通过连接交付内容、影响和目标,影响地图显示了之所以去做某一个功能的因果关系,同时也可视化了各利益相关人所做出的假设。这些假设包括了:业务交付的目标,涉及目标关系人,及视图画所达到的影响。同时,影响地图沟通了两个层面的因果关系假设:
1、交付会带来角色行为的变化,产生影响;
2、一旦影响达成,相关的角色会对整体目标产生贡献。
小结
影响地图可以作为使用者故事地图的有效输入,它刚好可以很有秩序的产出使用者故事减少我们运用头脑风暴时所大量产出凌乱无序的使用者故事— 好的整理工具。它让我们看到了用户故事与业务价值之间的联系关系,这一点可以避免我们做了一堆没有商业意义的功能。最后;它能让我们在调整业务目标时,明确的判断哪些功能该继续做完,而那些功能可以不用做了。
还是用电影来做结尾吧! 影响地图是极度抽象的可视化产出物,就好比剧本里的人物关系图示,想知道真正的工作细项,还是得去阅读剧本/脚本吧! 下一回;我们就来谈谈使用者故事地图,它就是我所谓的剧本!
附上学员在上课时的作品:
请关注微信公众号 【devopshub】,获取更多关于DevOps研发运维一体化的信息