本文轉自臺灣的李智樺老師的博客,原文地址html
Impact Mapping 真是使人驚豔的可視化工具。等你看完這篇文章,你會愛上它的。微信
典故
繼2011年6月Example of specification《實例化需求》一書的偉大貢獻以後(得到 2012年 Jolt Award 年度最佳圖書大獎),Gojko Adzic 說我會更努力地在需求這個領域裏作出成績來的,請期待。他果真沒有讓你們等過久,2012年10月他發行了 Impact Mapping《影響地圖》這本只有三個部份,共73頁的小冊子。小冊子只說明瞭一件事:如何把概念可視化 – Impact Mapping影響地圖。它展示了一種「讓需求可視化的能力」,用簡單的 Why-Who-How-What的分析法,搭配結構化的顯示方式,讓工程師可以看見辛辛苦苦開發出來的功能是對應到哪個業務的目標上。哈哈! 實際上是倒過來的,由於它十分適合運用在需求仍是極度抽象(概念)的時期,他讓業務目標可以清晰化,讓你們都能以較抽象的方式看出須要那些功能才能達成這樣的業務目標。它可以串聯出來一條相關的影響路徑,並藉着關聯的圖示化,讓需求被看得見,這一點對產品的早期,還在作雛型設計的做業上有着極大的貢獻。app
這是個人最愛,運用電影來闡述演講的情節內容(大概是2005年開始的,我記得當時講的第一部電影是基諾.利瓦伊的驅魔神探 康斯坦丁,技術上要探討的是微軟 Message Queue 的理論)。手法是在演講中撥放一段2到3分鐘的電影精彩片斷,讓學員透過可視化的影像,試着聯想着跟演講主題的種種關聯性,達到一種比單獨聽講者演說更爲有效的共鳴。這招用多了之後,就天然而然成爲了本身演講時的特點。一些熟識的學員,總會在上課前順道問一下今天會放哪一部片子啊?!運維
但這回採用impact mapping, 則是真的用來分析電影用,與技術無關,假借着運用它可視化的能力,讓沒有看過這部電影的人也能像劇務同樣的熟悉着每一個場景(彷佛講得太誇張了,實質上只是畫出它的路徑而已,如果想要徹底瞭解它,仍是要配合着去看劇本吧,至於全部的功能描述,那是每一個參與演出人的」腳本」),瞭解各個場景試圖要帶給觀衆的效果是什麼,以及它所想達成的目標。如下即是電影白日夢冒險王(The Secret Life of Walter Mitty國內的翻譯叫作《白日夢想家》)的影響地圖(或許是它的主題曲太吸引人了,因此就選它的電影來當範例了。它叫: Stay alive)。wordpress
由左往右;依序陳列的是電影要達成的目標,有哪些重要的角色,而這些角色要強調的是那些特點,這些特點所須要的構成因子,最後是用怎樣的劇情演出才能夠得到這樣的效果。(有一條能夠依循的路徑,好像就能夠勾勒出the whole picture,這是咱們在思惟模糊期所最最想要的,尋找條能夠依循的思路,這須要練習,來動動手吧!)工具
試着用這些數據,開始說故事吧:學習
只是一張簡潔的圖示,針對 一個目標,陳述着;第一層、誰Who:指出主角人物,第二層、怎樣How:格性特點的描述,第三層、什麼What:列出影響的因素,再針對這些個因素設計出可以展示達成讓觀衆引發共鳴的場景片斷。最後再檢驗這些個片斷是否能達成咱們所默認的目標。這樣便OK了!一齣戲的極度抽象輪廓即可以成形了。
看着這張圖示;不管是導演、演員或是劇務,依靠這樣的說明,彷佛看見了劇本中賦予這個角色的全貌,你們開始有了個基本的輪廓,也就是咱們所謂的對主角、人物的輪廓, get the whole picture看見全貌(請注意Impact Mapping 是用來描述部分路徑的影響因素的,而後分析有它或無它的影響性,而不是用來分析全部相關路徑的全貌的,那太複雜了,也就是說;由於故事的全貌一般都會太過於錯綜複雜,遠遠超過這種直列式分析方式的範疇,就是關連性過高、太複雜了很難畫出來,或是根本就畫不出來,所以咱們幾乎不會把全部的相關因素都畫出來,只把重點放在想要探討的路徑上)。優化
老實說,我好喜歡用它來分析電影。並且每當分析完電影的那一刻,我總會以爲(自覺得是的)本身能夠去當導演了(或許應該把這種方法介紹給李安吧!)。spa
所以這一段我先用電影來跟你們分享本身的心得。但運用在軟件開發上,要怎麼轉換呢?翻譯
※請看它的使用者故事(應該說的是用例):
身爲白日夢冒險王的主角,我但願可以表現得經常發呆、幻想,今後之後當你們提到Walter Mitty時就會想到我是一個愛作白日夢的人。
「誰Who」 恰好對照到使用者,「什麼What」則是對到願望,「怎樣How」對照到利益。咱們可以很容易地由可視化的影響因素,引導出相關的使用者故事。這一點恰好能夠提供咱們在向他人陳述故事時的關聯性說明。
※附帶一提;在撰寫使用者故事的時候,應該是寫三張卡片而不是一張。
依循這種方式,很快的你就會有一大堆用戶故事了,當信息過多的時候,反而會讓你看不到真正工做的主軸,此時便該是使用者故事地圖出現的時候了
下面這一段參考自中文譯本,是標準教材,處處均可找獲得。但請記得;看完後挑一部本身喜歡的電影,製做它的影響地圖,會頗有成就感的!
它是這樣的一個思惟邏輯和組織結構:
爲何(Why)–>誰(Who)–>怎樣(How)–>什麼(What)
也就是:咱們的目標是什麼(Why),爲了達成目標須要哪些人(Who)去怎樣(How)影響,爲此咱們須要作什麼(What)。影響地圖經過構建產品和交付項目來產生實質影響,從而達到業務目標。
結構性:從業務目標到交付的結構化梳理和挖掘的方法,目標–角色–影響–產出物。
總體性:鏈接目標和具體交付物之間的樹狀邏輯圖譜。
協做性:利益相關人一塊兒溝通討論協做,把隱藏在我的頭腦中的默認的思惟邏輯挖掘出來共享。
動態性:動態調整、迭代演進、經驗證的學習。
可視化:一個清晰的視圖,關聯性的結構一眼能夠望穿、易讀。
它將各類角色以不一樣的視角,不一樣的思惟邏輯,不一樣的前提假設,經過可視化和協做的方式進行整理、說明,相關性在座鏈接,一會兒就串起來了。經過鏈接交付內容、影響和目標,影響地圖顯示了之因此去作某一個功能的因果關係,同時也可視化了各利益相關人所作出的假設。這些假設包括了:業務交付的目標,涉及目標關係人,及視圖畫所達到的影響。同時,影響地圖溝通了兩個層面的因果關係假設:
一、交付會帶來角色行爲的變化,產生影響;
二、一旦影響達成,相關的角色會對總體目標產生貢獻。
影響地圖能夠做爲使用者故事地圖的有效輸入,它恰好能夠頗有秩序的產出使用者故事減小咱們運用頭腦風暴時所大量產出凌亂無序的使用者故事— 好的整理工具。它讓咱們看到了用戶故事與業務價值之間的聯繫關係,這一點能夠避免咱們作了一堆沒有商業意義的功能。最後;它能讓咱們在調整業務目標時,明確的判斷哪些功能該繼續作完,而那些功能能夠不用作了。
仍是用電影來作結尾吧! 影響地圖是極度抽象的可視化產出物,就比如劇本里的人物關係圖示,想知道真正的工做細項,仍是得去閱讀劇本/腳本吧! 下一回;咱們就來談談使用者故事地圖,它就是我所謂的劇本!
附上學員在上課時的做品:
請關注微信公衆號 【devopshub】,獲取更多關於DevOps研發運維一體化的信息