在設計領域,尤其是軟件的交互設計領域,近年來UCD一直被人們所推崇,很多優(yōu)秀的產品都有UCD的烙印。但是UCD是什么,它是如何影響設計師的思維和工作方式,從而影響產品的呢?
UCD說起來好像是一個很神奇的字眼,在設計領域,她像燈塔一樣受到很多人的信任,甚至信仰。但是對于初識者來說,她就像一位窈窕的蒙著面紗帶著魔力的姑娘,纖手一抬,指到哪里,哪里就有鮮花盛開。你不知道她的真實樣貌,也不知道如何才能接近她,更不知道如何才能獲得她的青睞,只能任憑自己的想象力飛馳,朦朧中,她的形象因為不可觸摸而越發(fā)顯得神秘。
現(xiàn)在,讓我們像她所有信徒一樣,從慢慢接近她,認識她開始,在實踐中漸漸熟悉她,信仰她吧。
一、UCD介紹
在傳統(tǒng)的軟件開發(fā)中,我們更注重的是功能特性或是特性,而相對較少關注用戶在使用這個產品過程中的體驗。
UCD(User Centered Design)是指以用戶為中心的設計,其目的是讓用戶在使用產品的過程中感受到愉悅性,即不但讓用戶感覺產品“能用”,還要讓用戶認為“好用、愛用”。
這里需要明確的是:UCD不是一套全新的流程,只是一種“思想”。應用UCD思想進行設計,改善用戶體驗,不需要也不允許對原有流程進行“革命性的變化”。我們只需在原有流程的基礎上進行一些必要的“改良”而已。
更好的用戶體驗總是首先由用戶使用,通過與產品交互,然后才能談體驗。我們以用戶參與度比較高,或者說用戶和產品的交互比較多的軟件開發(fā)過程為例,了解UCD思想在軟件開發(fā)項目中是如何被應用,從而改善用戶體驗的。
二、軟件開發(fā)標準階段
一個標準的軟件開發(fā)項目階段如圖1所示:
圖1所示內容是一個標準的軟件開發(fā)項目可能經歷的所有階段,所以我們稱之為“標準的……階段”。但是在實際工作中,大多數(shù)的軟件項目都沒有那么復雜,可能不必經歷所有階段就能最終完成項目的工作。即使一個項目確實需要經歷所有階段,如果結合項目實際,則會發(fā)現(xiàn)不同規(guī)模、目的、背景的項目在相同的階段內,要完成的任務也不完全是一樣的。所以,為了節(jié)省成本,通常在項目啟動之始,我們會根據(jù)行業(yè)特點、規(guī)模大小、項目特點等情況綜合考慮,對上述標準階段進行變更或者刪除,這個過程稱為“裁剪”。
盡管標準軟件開發(fā)項目階段會在實際工作中被裁剪,但是大多數(shù)情況下,作為開發(fā)主體的幾個重要階段——可行性分析、系統(tǒng)規(guī)劃、需求分析、系統(tǒng)設計、編碼實現(xiàn)、測試,我們只是對其中的具體工作做必要的簡化或者變更處理,通常不會把這個階段完全裁剪掉。
軟件項目一般由幾個子項目組成。如果軟件項目涉及的范圍比較大或者比較復雜,通常會根據(jù)實際情況把相對獨立的成果作為開發(fā)目標,建立一些子項目,分別成立團隊,并行地進行工作。例如,目標軟件既包含前臺的HMI1,也包含后臺的Application2,甚至包含數(shù)據(jù)庫和底層的驅動程序等。通常,為了降低復雜度,還會建立HMI開發(fā)子項目、Application開發(fā)子項目;又如,軟件開發(fā)面臨某個關鍵性課題,而這個課題相對獨立,和其他工作之間的聯(lián)系也非常少,那么可以把這一課題作為一個子項目單獨進行管理;再如,在研發(fā)性項目的可行性分析階段,分析結果決定項目是否繼續(xù)進行,那么,就可以把這個階段作為一個子項目。當然,為了項目整體的一致性,在一些關節(jié)點上,不同子項目團隊之間需要進行溝通協(xié)調,以確保各子項目之間、子項目和主項目之間理解一致、目標一致。
圖2項目職能流程圖用矩陣式結構說明了在項目的各個主要的開發(fā)階段,擔任不同職能的人(或者是團隊)是如何協(xié)同工作的。
三、軟件開發(fā)過程中應用UCD的核心步驟
在軟件開發(fā)的過程中,應用UCD進行開發(fā)的項目成為UCD項目。UCD項目和傳統(tǒng)的軟件開發(fā)項目相比,主要增加了用戶研究員、交互設計師和視覺設計師。
用戶研究員:主要研究用戶的使用習慣、喜好,對產品的需要和期待,以及對產品的真實感受和意見等;交互設計師,負責把用戶需要的功能有效地轉化成一系列的界面展現(xiàn)給用戶,凡是涉及到表達、傳達的問題,都由交互設計師來做;視覺設計師,主要負責創(chuàng)建可識別的圖像,充分利用相關的顯示媒體,用藝術的界面外觀,形象地表達功能,保證產品在布局和視覺感覺上的一致性(在傳統(tǒng)的軟件項目中,有些項目也會有比較原始的“界面視覺設計”的工作。但是通常這樣的工作都是在項目后期,以“把界面美化一下”的要求下發(fā)下去的。這項工作要求“設計”的成分很少,擔當這項工作的角色通常被稱為“美工”,在這里不做討論)。
UCD項目可以區(qū)分為5個主要階段,或者稱為5個核心步驟:計劃、研究、設計、實現(xiàn)和度量。
UCD項目不論是涉及的角色還是階段,都必須在原有項目職能的基礎上進行調整和增加,不能獨立進行。否則,UCD就失去了物質基礎,變成空中樓閣,失去了原本的意義了。
對傳統(tǒng)的軟件開發(fā)流程和組織結構進行必要地改進后,新流程和職能如圖3所示:
UCD項目的5個核心步驟和項目階段是能夠一一對應的。
1.計劃:
對應于兩個階段,分別是“可行性分析”階段和“系統(tǒng)規(guī)劃”階段。
a) 在“可行性分析”階段,主要是對可行性分析工作進行支持,支持工作本身需要制定目標、有行動計劃(在“圖3UCD項目職能流程圖”中,這個計劃本身并未作為獨立活動進行呈現(xiàn))。
b) 在“系統(tǒng)規(guī)劃”階段,在進行“項目規(guī)劃”“項目計劃”活動的時候,需要把UCD活動考慮進去,并且在項目實施過程中進行跟蹤。UCD活動主要指“圖3UCD項目職能流程圖”中綠色和黃色背景的部分。
2.研究:
主要對應于“可行性分析”階段,為項目前期的策劃和構思提供支持。具體工作包括:
a) 競品分析:分析競爭對手的產品,從中找到可借鑒和可改進的部分,并且出具書面的《競品分析報告》,報告中應該包含具體的解決方案。
b) 可用性分析:分析自己的產品,從中找出可改進的部分,并且出具書面的《可用性分析報告》,報告中包含具體的解決方案。
c) 用戶研究:通過用戶訪談,實地考察等方法,了解用戶,以獲取用戶特征和角色關系、用戶期望、任務目標和使用場景等一系列信息,并且出具書面的《用戶研究報告》,報告中應該包含用戶特征庫、場景庫。
d) 設計草圖:根據(jù)初步需求、用戶研究結果、競品分析報告、可用性分析報告等輸入資料的要求,設計概念化的產品原型草圖,稱為“概念原型”。概念原型要求只包含最重要的信息,不應涉及任何細節(jié)。因為過早的呈現(xiàn)細節(jié)容易分散人們的注意力,所以原型必須以迭代的方式逐步細化。
3.設計:
主要對應“需求分析”階段。在這個階段,主要進行迭代式的“交互設計”和“視覺設計”兩項工作。原本的“確認需求”活動作為下一個迭代的輸入。
a) 交互設計:根據(jù)需求,合理設計產品的用戶界面框架、交互方式;開發(fā)原型,由HMI開發(fā)團隊、Application開發(fā)團隊、視覺設計師共同對交互方式、交互原型進行可行性評估。
b) 視覺設計:軟件的用戶界面視覺效果設計。
c) 迭代式設計:交互設計完成之后,在“確認需求”工作中,對交互原型進行評估,評估結果作為交互原型設計的下一個迭代的輸入;在視覺設計完成之后,對視覺設計的成果物進行評估,評估結果作為視覺設計的下一個迭代的輸入。
4.實現(xiàn):
主要對應“需求分析”階段。在這個階段,主要進行“功能檢查、設計評估工作”?!肮δ軝z查、設計評估工作”和“系統(tǒng)測試”看起來是類似的,都是以項目的最終成果為檢查對象,但是它們的檢查目的是不同的,所以觀察角度也不同。前者主要目的是判斷系統(tǒng)是否按照最初的設計實現(xiàn),交互方式是否合理、視覺效果是否和設計初衷一致;后者關注的是系統(tǒng)功能是否完成、性能如何、還有多少bug、是否健壯等技術層面的問題。
5.度量:
主要對應的是“測試”和“可行性分析”階段。在測試階段進行的“用戶測試”活動和在可行性分析階段進行的“可用性分析”活動,兩者的本質是一樣的,工作內容都是對產品的可用性進行評估,成果都是《可行性分析報告》。
四、UCD在項目中的應用
在采用迭代式開發(fā)的UCD項目中,上一迭代結束的時候進行的“用戶測試”的輸出成果(可行性分析報告),可以直接作為下一個迭代的“可行性分析”階段的輸入資料。UCD的度量步驟和項目的測試活動把UCD項目的首尾連接起來,形成一個能夠不斷自我完善的、閉合的良性循環(huán),如圖4所示:
如上所述,在實際的項目中,應用UCD的活動歸納起來有如下幾種:
●競品分析
●可用性分析(包括項目前期的可用性測試和項目測試階段的用戶測試)
●用戶研究
●交互設計(包含草圖設計、交互原型設計和視覺設計)
但是,并非每個項目都必須完成上述所有活動。在實際工作中,可根據(jù)項目的實際情況,綜合分析哪些活動是合適的、必要的,這很重要。不要盲目追求應用UCD來作項目。我們回到應用UCD作項目的初衷:讓用戶在使用產品的時候有更好的感受,讓用戶“愛上”一款產品。但是,在具體項目實施過程中,我們很難面面俱到,比較好的做法是主攻其中的某幾方面。而在我們主攻的方向上,有些UCD活動是有效的,有些則不是。因此,不要根據(jù)市場最流行什么,我們就一定要做什么。應記住,“只選對的”就可以了。
此外,要清楚“小進步也是進步”的道理。在給老產品做更新的時候,用戶相對穩(wěn)定而且用戶已經具有使用經驗。這種現(xiàn)實情況下,做用戶測試,進行可行性分析,尋找“痛點”(痛點指用戶用起來不舒服的地方),然后改善它。這個工作路徑不論從時間上,還是從成本上來說,顯然都比從“用戶研究”開始入手更合適一些。
“他山之石可以攻玉”,當我們要做一款產品的時候,如果市場上已經有類似的產品出現(xiàn),我們不妨先分析一下,這些競爭對手的產品有何特性,優(yōu)缺點何在?賣的最好的產品是哪一款,為什么?用戶最推崇的是哪一款,為什么?知己知彼的情況下,如果能夠做到“揚長避短”,則一樣可以取勝。因此,從“競品分析”入手也是一個不錯的選擇。
總之,在實際項目工作中,如果能活用UCD方法,則能以更小的代價取得更大的利益。