轉載於_ALPHA CAMP 編碼學校
使用者中心
為什麼需要一個網路應用程式
在不同的情境下,可能會有許多不同的原因。一般來說,網路應用程式是一個可以幫助使用者解決問題的強大工具。從這個思考往前推進,產品的使用者就是解決問題的服務對象,打造任何產品時,我們就應該將使用者需求視為首要考量。
『愈瞭解你的使用者,你就愈能改善使用者體驗。』設計網站時,你需要考慮使用者在應用程式上的預期行為,如果設計師只是以自己的想法出發,沒有考慮使用者的觀點,可能會導致設計不佳,最終導致糟糕的使用者體驗。
所以,在打造產品之前,你可以找一個樣板來幫助你打造自己的角色:基於真實使用者數據的虛構角色 (可以參考 Roman Pichler 的網站)。再根據這個角色,構想使用者需求,並透過非工程師也能理解的語言撰寫成「使用者故事」,以便和客戶溝通需求。
在著手進行網路應用程式的設計或開發之前,製作使用者故事至關重要。有經驗的工程師能從使用者故事的描述中觀察出應用程式的架構,開發團隊則可以安排優先順序,建立一個合理的時程表來實行解決方案、開發功能。這個「打地基」的過程,是應用程式開發不可或缺的一部分。畢竟,使用者是實際應用你的應用程式的人!
接下來,我們要先學習如何參考人物誌角色,以及如何據此設計使用者故事,透過使用者故事,瞭解該寫什麼程式碼、為什麼要寫這些程式碼。這些學習與考量,都能夠為開發節省大量的時間,打造出經過縝密思考、以使用者需求與目標為中心的應用程式。
人物誌
認識使用者最好的方法之一是創建人物誌角色 (persona)。Persona 是根據使用族群的行為以及喜好所虛構出的角色。通常一個 Persona 會包含個人資訊與生物數據,像是個人與專業特徵、人口統計資料、教育、購買習慣與動機、偏好和行為。
當 Persona 是基於真實使用者研究和真實使用者數據時,最為有效。
以下的例子則是來自 Dribble.com 裡提到的一個閱讀應用程式中的虛構角色。Nerdy Nina 的人口統計資料、技術能力、目標、痛點、閱讀習慣和喜愛的書籍都是她故事的一部分。當設計師思考要如何打造最佳使用者體驗時,就需要參考像這樣的資訊。

Persona 的目的是幫助我們更深入瞭解了解使用者,因此,你可以知道使用者想完成什麼事情,下一步,我們會運用使用者故事來紀錄這些資訊。
使用者故事
由 Bill Wake 提出的「INVEST」規則中,說明一個好的使用者故事必須具備的條件:
- 獨立的 (Independent)
每個使用者故事應該是獨立的、不互相重疊,如此實作時便能更改使用者故事的順序。 - 可協商的(Negotiable)
當開發進程隨著產品負責人、設計人員以及開發人員三方合作推進時,可進行調整和修改。 - 有價值的(Valuable)
這是產品必須具備的。為使用者提供價值,而非為設計或開發團隊提供價值。 - 可評估的(Estimable)
足夠全面,以便開發人員能夠評估工作量與排定優先順序。 - 小型的(Small)
就工作量而言;通常,開發一個使用者故事(工程師稱為「一張票」)等於 2 到 3 周的工作量。 - 可測試的(Testable)
讓開發人員知道所開發的內容完整,且目標清晰、定義明確。
簡單來說,使用者故事是根據使用者的需求,對網路應用程式功能的一個簡短描述。每個需求對應為一則故事。以下示範「通過 Airbnb 訂當地出租的私人房屋」的使用者故事:
- 使用者可以註冊、登入網站
- 使用者可以搜尋私人房屋
- 使用者可以用即時通訊和房東詢問和確認房屋和下單細節
- 使用者可以下訂單
- 使用者可以付費
而 Mark Zuckerberg 在考慮設計 Facebook 網路應用程式時,則可能會列出這樣的使用者故事:
- 身為使用者,我想在朋友的個人資料頁面上留言
- 身為使用者,我想新增一本相簿
- 身為使用者,我想新增我的個人大頭貼照
- 身為使用者,我想對朋友的活動做出回應
這些句子被放在類似的結構中,比如上述:「使用者可以_____」或「身為使用者,我想______」的句型。
填空處正是你所定義的使用者目標,這是使用者故事中最重要的部分。開發者希望他們的使用者透過執行某些操作來達成這些目標,這就是為什麼理解造成這些主要行動的流程如此重要。若非如此,你的產品將不一定如預期般被使用。
EXAMPLE :
以下示範「通過 Airbnb 訂當地出租的私人房屋」的使用者故事:
- 使用者可以註冊、登入網站
- 使用者可以搜尋私人房屋
- 使用者可以用即時通訊和房東詢問和確認房屋和下單細節
- 使用者可以下訂單
- 使用者可以付費
而 Mark Zuckerberg 在考慮設計 Facebook 網路應用程式時,則可能會列出這樣的使用者故事:
- 身為使用者,我想在朋友的個人資料頁面上留言
- 身為使用者,我想新增一本相簿
- 身為使用者,我想新增我的個人大頭貼照
- 身為使用者,我想對朋友的活動做出回應
這些句子被放在類似的結構中,比如上述:「使用者可以_____」或「身為使用者,我想______」的句型。
填空處正是你所定義的使用者目標,這是使用者故事中最重要的部分。開發者希望他們的使用者透過執行某些操作來達成這些目標,這就是為什麼理解造成這些主要行動的流程如此重要。若非如此,你的產品將不一定如預期般被使用。

進一步歸納使用者故事的重要性,可以列為三點:
1.專注於使用者
2.改善協作
3.防止功能蔓延 (feature creep)
使用者故事是一個很好的工具,可以幫助你思考使用者所想要與需要的,並協助你聰明地設計出更好的產品。透過這些過程,你可能會感到很驚訝,原來關於使用者有這麼多需要瞭解與考慮之處。