軟體開發流程是什麼?PM與UX Designer的區別?

大家好,這是四神湯的第一篇的文章,
就由小妹我來發表,有點流汗,還請大家多多指教

我是Shandy仙弟,
2014年在清大工業工程系大學部畢業,
在USC南加大讀產品開發工程的碩士
目前在Internet Brands擔任Associate Product Manager/UX Designer至今半年

這篇文章會涵括:

1. What should we build? 如何決定產品開發項目?

2. Product Development Process 軟體產品開發流程

3. Product Manager/Designer’s Role 產品經理及設計師的職責

主要談論的是Internet Brands裡內部開發流程,不一定適用每個公司,
請大家斟酌參考、多多指教

準備好了嗎?讓我們開始吧!


1. What should we build? 如何決定產品開發項目

假如你今天有個產品如Facebook 
(因為大家都有使用過Facebook,較能夠理解,所以使用FB做說明)

到底團隊如何決定要開發什麼功能
是要改善相機的畫素、增加對話軟體、還是開發擴增實境的功能?
這些需求、想法是從何而來的呢?

產品開發項目三大方向

就公司產品開發流程而例,可從三大方面來探討:

1. 使用者

主要考量到使用者需求、行為及目的,而決定開發的項目

  • 使用者反應/要求:「我覺得FB動態牆上廣告太多了,想要全部移除」
  • 使用者研究(量化):「根據使用者研究及數據分析,發現使用者點擊”messenger”的次數是其他的1.5倍,我們應該把”messenger”放到最明顯的位置」
  • 使用者研究(質化):「根據使用者訪談及觀察行為,發現在Friends Request時,會點擊那人的Profile,看他的大頭照,並特別會看誰是共同好友。我們應該增加”共同好友mutual friend”在User Profile的首頁」

2. 產品

主要是針對產品本身的修補、改善、增強

  • 產品有Bugs:「今天的messenger發不出訊息,必須趕緊修復」
  • 產品現有功能改善:「增強messenger的相機畫素」
  • 新科技:「我們應該開發VR擴增實境,因為此技術已成熟」

3. 商業/銷售/行銷

主要目的增加銷售、營業額等的商業導向

  • 公司利潤:「ZARA花百萬美元打廣告,應該增加他們廣告數量及篇幅」
  • 銷售點:「粉絲專頁讓明星可以與粉絲互動、進而增加他們電影/唱片的銷售量,我們應該主打粉絲專頁的經營,這樣可以吸引更多名人用戶」
  • 競爭者:「Snapchat的用戶急速成長,而我們年輕族群正在下降,應該來仿效他們的功能」
  • 第三方合作機會:「Ticketmaster購票平台跟我們談合作,以後可以在Facebook裡做售票系統,擴大產品功能」

在列下有哪些項目後,發覺可能超過一兩百項(如雪片般飛來)
但公司的資源有限(人力、預算、時間…等)
而這時各部門的高階主管們,會一起討論開發項目的優先順序
這也是另一門大學問,這篇文章就不先探討


2. Product Development Flow 產品開發流程

Product Development Flow產品項目開發流程

高階主管們決定好要開發什麼項目後,Director of Product 會分配任務給Product Manager,之後會進行項目開發流程,主要分成四大階段:

  1. Define Product Spec 產品規格定義
  2. UX/UI Design 使用者經驗/介面設計
  3. Dev Team 工程團隊
  4. Product Launch 發佈新產品

整個開發的時間,根據功能大小,小至一個月,大致一年、兩年都有可能
這篇文章會焦距於產品規格定義及使用者經驗設計部分

  • 註明:
    Director of Product:這裡的Product,是指完整的大產品,如Facebook
    Product Manager:細項產品及功能,如Facebook裡有很多功能,區別成不同的產品,如messenger, advertisement, customer growth team等等

3. PM/UX Designer Job Responsibilities 產品經理與使用者經驗設計師職責

到底如何區別產品經理與使用者經驗設計師的職責呢?
其實產品經理、使用者經驗設計師及工程團隊都是息息相關、環環相扣的

就我個人而言,我認為產品經理會更關注於商業層面、資源限制

「必須在限定的時間與資源限制下,完成新功能的開發」
「這個功能必須讓更多人使用我們的產品,增加公司的盈收」

而使用者經驗設計師則會投入在使用者用產品時的體驗

「我必須站在使用者的角度,設計出最順暢的流程與美好的體驗」
「必須讓使用者更愛好我們的產品,是設計師的職責與目標」
PM / UX Designer / The Dev Team Roles & Responsibilities

假如用一道菜來譬喻一個新功能:

產品經理:「我們需要一道番茄雞肉義大利麵」
使用者經驗設計師:「我們來試試看各種可能性,讓消費者最喜愛」
工程團隊:「我們必須考量到科技上的限制,完成這道菜!」

而實際上是這樣子的:

產品經理工作內容

  • 制定產品規格Product Spec:產品規格可以視為新功能的大綱,這文件定義了主要大方向,如一道菜的食譜,大致決定了這道菜的味道與內容。
    設計師依據此文件進行發想與設計;工程師瀏覽過後,了解新功能需具備哪些元素,進行開發;QA依據此作為測量的準則。
  1. 定義問題
  2. 決定目標用戶
  3. 解決方法:大致提出解決的方法,會具備哪些要素
  4. 整體流程:新的功能會改變、影響哪些現有的頁面,用戶流程是什麼
  5. 成功指標:在產品發佈前,訂出可以量測的指標。而產品發佈後,會進行數據收集與分析,看新產品的表現有沒有達到當初的指標,才能確保這新功能有成功解決問題
  • 與設計師與工程團隊共同合作,才能在有限時間內發佈新功能
    例如:共同review產品規格、了解資源限制、追蹤進度等

使用者經驗設計師

  • User Interview使用者訪談:透過訪談,了解用戶的習慣、行為、及目的
  • Sketch草稿:用筆在紙上大概打個草稿,畫出各種可能性
  • Wireframe線框圖:除去視覺元素(顏色、圖像等),只用線條來呈現介面,這樣可以專注於功能與流程
  • Mockups:從Wireframe裡加上視覺元素,可以利用繪圖軟體來呈現
  • Prototype:可操作的基本原型,可以利用圖片檔與Invision來呈現,讓工程師知道介面之間的互動與元素變化
  • User Testing用戶測試:運用Prototype與用戶做原型測試,可能針對視覺、易用性及流程做改善

以上是小妹大概列出工作內容不同的幾個步驟,不過會因公司文化、時間限制有所增減。希望這篇文章能夠讓大家了解軟體開發的流程,及產品經理與使用者經驗設計師的職責區別。下次的文章,可以舉出公司內部的實例,可以更有感的了解產品開發的過程:)

如果有任何疑問,也歡迎隨時留言發問!
謝謝大家看完這篇文章,如果喜歡的話,也不要吝於按LIKE喔!感恩~