l

2013年12月18日 星期三

給UX設計師和程式設計師的一句話

Dec. 16 10:32~12:38

螢幕快照 2013-12-16 下午12.23.47

 

先講結論:UX設計師要了解軟體開發(敏捷開發)的活動與做法,而程式設計師對於UX設計方法也要有基本的認識;這是一個世界的兩種人,不是兩個世界。

***

這兩天把去年12月買的《Agile Experience Design》這本書拿出來再讀一次,之前讀起來沒什麼感覺,這次因為和Erica討論她去對岸參加「User Friendly 2013」的經驗,重讀一次之後看出點味道出來,對這本書重新評價 很棒

書中提到一個觀點,在「數位化產品」的時代,產品設計不像以前,只要是UX設計師獨立設計完成之後,丟給生產部門或是印刷公司把產品做出來就大功告成。數位化產品開發,需要同時考慮到生意面、用戶面、(IT)技術面。因為很多數位化產品最終的實作,需要靠「軟體」來完成,所以僅是依靠UX設計師並無法完成最終產品(除非他們剛好也會寫程式 XD)。

既然「數位化產品」的開發在實作面需要大量依賴軟體技術,因此這類的專案管理與開發流程,通常會採用軟體開發的管理方式。也就是現今流行的敏捷開發或是疊代式開發(iterative development)。因此在《Agile Experience Design》這本書中,有一大部分的篇幅便是在討論,如何讓UX設計活動與傳統以純軟體開發人員為主的敏捷開發流程一起互相合作。

看到這邊如果從一位「程式設計師」的角度,可能會對UX設計師說:

看吧,wireframe畫的再好看有什麼用,沒有我們東西就是做不出來。而且專案的流程還是要以我們軟體開發的方式為主,畢竟我們做事情的流程,比起你們這些所謂的「設計師」要清楚多了。

***

書中另外還強調一個觀點,就是(傳統的)敏捷開發基本上很少討論所謂的「設計」問題,很多活動都是以寫程式為主的角度來看待產品開發(這應該是針對XP的刻板印象)。在現今競爭激烈的時代,善用敏捷開發之後可以很快開發出高品質的產品,這是一件很好的事。但如果做出來的東西不是使用者想要的,或是用起來不順手、不吸引人,這樣的產品也不會成功。所以,在開工之前,如何做好用戶需求與用戶體驗設計,就需要借助UX設計師的幫助。

看到這邊如果從一位「UX設計師」的角度,可能會對程式設計師說:

雖然需要靠你們來寫程式,但是你們做出來的軟體,畫面好醜、好難用,一點創意都沒有,根本不會有客戶想花錢買,連免費送人都被嫌棄會占用儲存空間。

***

看到這裡老朋友們應該知道Teddy要說的那句老話:「爭什麼?摻在一起做成撒尿牛丸啊」。《Agile Experience Design》這本書就是提出一個如何將UX設計師和軟體開發人員擺在敏捷與精實開發的大帽子之下,「摻在一起做成撒尿牛丸」的方法。

其實不管是開發何種軟體,都會遇到用戶體驗設計的問題,這個問題幾十年前就已經存在。只不過最近這幾年用戶體驗被重視的程度大大提升,人氣爆升,成為一門顯學。重新讀完《Agile Experience Design》之後Teddy老人家的症狀又犯了,突然想起2005年還在學校念書的時候,有一年指導教授提了一個國科會自由軟體計畫,要研究提升自由軟體usability的議題。計畫預計以SyncFree,這個我們實驗室自行開發的open source為研究與改善對象,用現在的流行用語就是「提升用戶體驗」。

SyncFree當年已經連續兩年拿到國科會自由軟體計畫的補助,還得到國科會的自由軟體最佳團隊獎項。前兩年主要都在開發新功能,第三年指導教授跟Teddy討論之後,覺得這兩年來重要的功能做的差不多了,但軟體如果要達到國際水準,應該要開始考慮到使用性(用戶體驗)的問題。很可惜,第三年的計畫沒有通過,不然Teddy現在可能已經是半個UX專家了不要告訴別人。至於計畫沒通過的原因,Teddy「在公堂之上假設一下」,可能是當年審查計畫的委員們,覺得「開發新功能」比「提升用戶體驗」要來的重要多了。這個計畫搞什麼「提升用戶體驗」,又沒有開發新功能,根本是來騙錢的,所以不予通過...Orz。

***

昨晚爬上小樓梯,從書櫃上找到一本當年買的書:《Observing the User Experience: A Practitioner's Guide to User Research》。Teddy念書的時候約有半年的時間,「誤入歧途」研究HCI相關的題目,後來發現自己不是這塊料還是回頭做軟體的題目好了挑眉質疑。總之,當時買了好幾本用戶體驗、互動設計、使用者測試的書。翻了這本書裡面的內容,什麼interaction design、usability test、iterative development、user profiles (persona)、contextual inquiry、task analysis、card sorting、focus group...這一堆這一陣子經常從UX領域的朋友們口中聽到的名詞,原來書裡早有介紹。有一陣子Teddy還一直問別人:「有沒有可以推薦一本介紹UX觀念的書」,原來家裡就有一本,只是被遺忘了。

Observing the User Experience: A Practitioner's Guide to User Research》這本還不錯,2012年9月出了第二版,有興趣的鄉民可以參考一下。

***

以前剛出社會的時候,開發web-based e-learning系統,總是覺得「為什麼使用者很容易在系統中迷路?」剛開始以為是因為「團隊裡面沒有UI設計師」,後來找了專門的UI設計師之後,問題還是沒有解決,此時才驚覺案情並不單純。原來這不只是設計畫面、網頁、icon、配色等問題,而是人機互動的議題,要做所謂的task analysis,還要讓系統的資訊架構與用戶腦袋的mental model(心智模型)互相對應,這樣用起來才會比較容易。

從現在的角度來看,這類的問題都可以被歸類到「UX設計師」的工作,程式設計師大可不管。但廣義的來說,不管是UX設計師、程式設計師,都屬於「開發人員」,因為產品需要靠這些人一起合作才可以完成。從開發軟體為主的角度出發,只要是軟體開發流程中會遭遇的問題,從需求釐清開始(包含創意發想、願景確立、用戶體驗設計、快速雛型設計),到系統分析、設計、開發、測試、維護、持續改善,這一狗票的事只要有一件沒做好,最終的產品就會受到影響,因此這些事都跟程式設計師有關。程式設計師,可以有自己特定的專長領域,例如很會寫Java/C#程式、資料庫程式、前端程式、App程式,但這些「軟體生命週期相關的活動(包含用戶經驗設計)」,也應該有基本的了解。

相同地,UX設計師也一樣,可以用自己特定的專長領域,像是互動設計、介面設計、使用者研究、資訊架構、使用者測試、設計思考、服務設計等,但這些「軟體生命週期相關的活動(包含程式開發為主的相關活動)」,也應該有基本的了解。

***

友藏內心獨白:難道這就是傳說中的「T型人」?

沒有留言:

張貼留言