產品經理作什麼?

開篇

開發一個產品(本文「產品」特指移動端軟件產品,可是移動端產品的設計流程和方法與PC端的產品並沒有本質區別),html

能夠是一項很簡單的事情:android

打開IDE,拖幾個控件,寫幾行代碼,作一個簡單的測試,提交到app store上,ios

一個下午搞定一個產品; windows

也能夠是一項很複雜的事情:架構

他可能會包含嚴格的前期設計、app

可用性測試、驗收測試(在數千種不一樣的環境和終端上進行的測試)、ide

一個完整的生命週期管理方案、工具

而且規劃出不一樣的實現方案; 佈局

本文將詳細介紹一下產品的開發過程,也就是軟件開發生命週期:性能

(SDLC:Software Development Lifecycle)

咱們將針對產品生命週期的各個階段進行詳細的討論,

包括:靈感、設計、開發、測試、分發、維護等內容;

另外咱們也會討論,在產品開發的各個階段存在的各類各樣的權衡和取捨; 

這篇文章試圖回答一系列關於產品研發生命週期的基本問題

文章所涉及的內容對新手和有經驗的開發者都頗有用

當你須要開發一個產品的時候,這篇文章所討論的內容,對於你將有必定的指導意義;

 

產品研發生命週期

移動應用產品研發的生命週期與PC端產品或者WEB端產品本質上沒什麼不一樣

它主要由5個部分組成

  • 啓動階段

    每一個產品都來源於一個想法,這個想法就是這個產品最底層的支撐基礎

  • 設計階段

    設計階段包括:用戶體驗設計(整體佈局是什麼樣,基本的操做是什麼樣),用戶界面設計(由用戶體驗設計衍生而來)

  • 開發階段

    開發階段是資源投入最多的階段,這是實實在在的產品建設階段;

  • 測試階段

    當開發工做進行的差很少了,QA就會介入進來測試產品,最終產品會進入beta階段,這時會有更多的用戶來使用你的產品,並收集他們的反饋意見

  • 發佈階段 

不少時候這幾個階段都是由重疊交叉的現象的,

好比好多時候,UI設計工做已經完成了,已經進入開發階段了,又有一些東西須要從新設計;

另外,產品到了穩定階段,仍舊會由一些新的特性會被引入進來;

有不少方法論支撐完成這幾個階段的工做,好比敏捷開發,螺旋開發,瀑布開發等

下面咱們就詳細介紹一下這幾個階段的具體內容

 

啓動階段

幾乎接觸互聯網的每一個人,都想成爲一個互聯網的產品經理;

如今互聯網設備已經成爲人民生活的基礎設施了;

產品的啓動階段主要是關於產品想法的定義和細化工做的;

爲了打造一個成功的產品,

有必要問本身一些基本的問題

競爭優點

    市場上是否有了相似的產品,若是是,那麼你想作的產品與市場上的產品有什麼區別?

價值

    你的產品將帶給用戶什麼價值?你的用戶將怎麼使用你的產品

集成工做

    若是你開發的是一個企業應用,那麼這個產品將會與什麼系統集成,或者將被什麼系統集成? 

爲了設計一個產品的功能

有必要爲這個產品定義角色和用例

角色是這個產品不一樣身份的用戶

用例是不一樣身份的用戶的行爲和意圖 

舉個例子

一個活動分享類產品,可能會有兩個角色的用戶:

用戶和好友

一個用戶可能建立一個活動

而後給他的好友分享這個活動

建立和分享這兩個動做就是兩個不一樣的用例

有了角色和用例

你就知道本身要建立什麼畫面了

甚至你會知道本身須要建立哪些實體,撰寫哪些業務代碼 

一旦你挖掘、定義了足夠多的角色和用例

設計一個產品就會變得很是簡單

開發工做就能夠只關注怎麼建立這個產品

而不是這個產品應該具有哪些功能

 

設計階段

一旦定義好了產品的功能和特性,第二步要作的工做就是解決用戶體驗的問題

用戶體驗設計(UX Design 即 User Experience Design)

用戶體驗設計工做常常是經過線框圖或者實物模型來完成的

不少相似的工具均可以完成這項工做,好比:Balsamiq, Mockingbird, Visio

或者就是簡單的使用一張紙和一支筆

用戶體驗設計工做開展的時候,沒必要擔憂任何界面美觀的問題

工做產物可能就想下面這樣

當你完成用戶體驗設計工做以後

你須要考慮你的產品要在哪些平臺上被使用

對於移動應用來講,各個平臺都有各自的用戶體驗設計規範和約束:

蘋果設計規範:https://developer.apple.com/ios/human-interface-guidelines/overview/themes/

安卓設計規範:http://developer.android.com/design/index.html

windows phone設計規範:http://msdn.microsoft.com/en-US/library/windowsphone/design/fa00461b-abe1-41d1-be87-0b0fe3d3389d(v=vs.105).aspx

舉個例子

每一個移動應用系統,在切換畫面的時候,都有本身的一套設計理念

IOS系統用一個在屏幕底部的tab條

安卓系統用一個在屏幕頂部的tab條

而windows phone用的是全景視圖模式

另外,硬件自己也會影響用戶體驗設計工做

好比蘋果設備就沒有物理返回鍵

因此你要在你的畫面上設計一個返回鍵

更進一步,不一樣分辨率的屏幕也會影響用戶體驗設計

一個平板電腦有更多的空間供你使用

一個移動電話你就須要設計多個畫面來完成一項複雜的功能

由於市面上有多種不一樣分辨率的移動設備

有可能他們是介於平板電腦和移動電話之間的設備

這些你也是須要考慮的

用戶界面設計(UI Design 即 User Interface Design)

一旦用戶體驗設計工做完成以後,

接下來就要設計用戶界面了;

用戶體驗設計工做的產物通常是黑白的線框圖(草圖),

用戶界面設計工做就要把顏色、圖形等內容設計好了,

花大量的時間用在UI設計工做上是值得的,

由於一個好的產品,一般具有一個很是專業的用戶界面設計;

和用戶體驗設計同樣

每一個移動應用平臺都有各自的用戶界面設計語言

因此一個好的應用

在不一樣的平臺上,看起來也每每會不同

 

推薦以下幾個設計網站給你們

IOS:http://pttrns.com/

Android:http://androidpttrns.com/

三個平臺:http://lovelyui.com/  、 http://mobiledesignpatterngallery.com/

另外,你能夠在下面幾個站點,看到全世界設計師的工做產物

http://behance.com/ 、http://dribbble.com/

也能夠在這些平臺找設計師幫大家工做

 

開發階段

不少時候,產品原型設計(黑白線框圖)工做結束以後,就會進入開發階段;

由於產品原型設計能夠很具體的描述產品的功能

如何完成一個產品的開發工做,有很是多的內容須要討論

由於會偏離文章的主題

這裏不作詳細描述

 

測試階段

測試階段主要工做就是找出你產品的問題

好比:當我點這個按鈕的時候,你的APP崩潰了;

固然,產品的問題不僅僅是功能性的問題

還有可用性的問題和性能的問題

產品穩定性測試最好在產品技術架構開發完成以後就立刻開展

由於越是開展的完,發現了問題以後,修復問題的成本就越是高

隨着測試的深刻,

你的產品可能會進入以下幾個階段:

Prototype、Alapha、Beta、Release Candidate

不一樣的產品經理可能會爲本身的產品定義不一樣的階段

可是他們每每會遵循以下的原則:

  • Prototype

    這個產品仍處於概念驗證的階段,並且只具有核心的功能,只有產品的核心部件能夠爭產運行,可能會存在嚴重的BUG

  • Alapha

    這個產品的核心功能已經開發完成,但可能未經全面測試,仍舊可能存在嚴重的BUG,外圍的一些功能還未提供

  • Beta

    絕大多數功能已經開發完成,並且作了最基準的功能測試,而且完成了BUG修復工做,仍然可能存在一些缺陷(issues)

  • Release Candidate

    全部的功能都已經完成而且經過了測試,這個產品對外發布已經提上日程,但在這個階段自己仍有可能會發現新的BUG;

測試工做應該儘量早的開展

好比,你在產品的Prototype階段發現了一個致命的問題,

用戶體驗設計產物(UX設計階段的產物)還能夠被修改,用來解決或者掩蓋這個問題,

若是一個在Alapha階段發現了一個性能問題,

你還能夠及時修改你的技術架構,

等到在錯誤的技術架構上開發了不少業務代碼,再想改架構就麻煩多了;

原則上,

隨着產品開發和測試工做的不斷深刻,

應該逐步把產品推給更多的用戶使用,

收集他們的意見。

舉個例子:

Prototype版本的產品能夠推送給利益相關者使用

Release Candidate就能夠給那些願意體驗新功能的最終用戶使用

另外,不管是開發仍是測試所使用的設備的數量是有限的

然而產品投放到市場以後,所面對的設備數量是無限的

各類不一樣的軟硬件環境都有可能碰到,

因此應該儘早的讓社會上的自由職業者來幫你測試軟件

讓他們用本身的設備測試你的產品

你給他們提供遍歷的工具讓他們反饋他們發現的問題;

目前市場上有不少平臺提供這項服務

好比:

Testflight

這是一個蘋果的產品,他能夠收集蘋果APP的使用狀況和崩潰記錄

你若是是蘋果企業應用開發者是不能用這個產品的

LaunchPad

這個產品跟Testflight很是類似,只不過是安卓平臺上的產品而已

Vessel

他們的產品容許你自定義用戶的使用場景和方式

跟蹤用戶的行爲,甚至能夠作A/B測試

(A/B 測試就是把用戶分爲兩羣,一羣訪問A方案,一羣訪問B方案。最後用統計數聽說明那個方案更好)

hockeyapp

能夠提供安卓、蘋果和windows phone三個平臺的測試服務

 

發佈階段

一旦產品經過了測試階段的各類測試,

那麼就要把產品發佈給最終客戶了

目前市場上有很是多的產品發佈辦法

IOS應用

那麼通常狀況下你會發布到Apple app store

安卓應用

大部分用戶都會發布到google play上

然而國內用戶用不了google play

但你仍是能夠選國內的一些應用平臺的

windows phone應用

會發布到windows phone dev center

這裏提供兩個參考連接:

http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff402565(v=vs.105).aspx

http://dev.windowsphone.com/en-us/publish

 

後記

文章參考了:https://developer.xamarin.com/guides/cross-platform/getting_started/introduction_to_mobile_sdlc/

在決定寫本文以前,覺得本文會有不少有用的乾貨

後來寫着寫着發現大部分都是基礎知識

但我仍舊仍是把他寫完了

但願能給剛入門的朋友提供一些幫助

 

本文國慶節的時候開始想寫

2017-10-23:開始寫第一部分

2017-10-27:完成大部份內容

2017-10-28:完成所有內容

相關文章
相關標籤/搜索