今天下午沒事去參加了某公司來我校舉辦的一次產品設計相關的講座。大部分「創新與設計」課程的學生或將來想作產品經理工做的同窗都去聽了,我由於最近要幫一位老師作一項目的產品原型設計,連Axure還沒徹底用會,所以也跑去旁聽。程序員
這位高級產品經理講的繪聲繪色,教咱們產品需求文檔怎麼寫?整個產品的設計流程、經常使用工具、產品經理的工做職責、研發管理相關的內容等等。我本身簡單總結了幾點:框架
- 產品設計過程當中最重要的四個部分:理清產品業務流、產品原型設計、需求分析文檔PRD(word)和需求跟蹤列表(Excel)。
這裏要說明的一點是:之前的需求分析文檔很大,通常都幾十頁甚至上百頁,維護起來十分困難,如今的需求分析被拆分紅兩部分:需求分析文檔+需求跟蹤列表,其中需求分析文檔通常只有四、5 頁,包含一些基本固定下來的業務概述和功能描述,在之後的開發中通常不會再改動,須要改動的細節使用跟蹤列表來跟進,大大減輕了維護難度。- 產品設計經常使用工具:Enterprise Architect(經常使用於業務流和建模)、Microsoft Visio(框架圖、建模)、Axure(原型設計)和Balsamiq Mockups(原型設計)。
- 產品設計相關的理論:馬斯洛需求層次理論、Kano模型分析和四象限定位法。
- 軟件研發管理經常使用IPD(集成產品開發)和Scrum(敏捷開發)兩類methodology。
- 推薦了一些像《誰說大象不能跳舞?》、《精益創業》和《周鴻禕自述:個人互聯網方法論》這樣的書籍。
整個講座下來,個人確學到了一點產品相關的知識,本應高興,但實則否則,由於我從這位高級產品經理和身邊的同窗口中聽到了一些貶低咱們程序員的言論。我首先根據今天聽到的知識簡單總結出整個產品的開發流程,以下圖所示:工具
是的,作個產品真心不易,流程很複雜,產品經理掌控着最關鍵的產品設計部分,而咱們程序員只處於中間的一個小小環節,只負責實現人家設計好的產品圖就行。就我今天聽講的感覺來看,產品經理是這樣看程序員的:測試
- 咱們產品經理作的事是最關鍵的,咱們負責需求設計、原型設計和用戶界面/體驗/交互設計,這些任務是具備創新性和挑戰性的,由於咱們要深刻挖掘用戶的需求,思考怎樣的業務流最讓用戶滿意,而後設計出相關的原型甚至各個交互頁面(點擊這個按鈕發生什麼事),大家程序員只須要把我畫的圖和交互動做實現了就行,若是咱們改動了需求,你也要立刻改,若是咱們發現這套產品方案不行,要從新設計,你也得從新編碼重頭幹。固然咱們儘可能少改需求、不改方案,不然不就是「耍猴(程序猿,猿,尼瑪!!!)」了嗎?
- 程序員作的都是最底層體力勞動。爲何說是最底層呢?程序開發下面不是還有個測試嗎?是的,測試雖然在開發以後,但也能管程序員,由於若測試人員測試後以爲作的太爛,徹底有權力叫開發人員撤掉重寫……
聽到這些言論着實讓我不爽了很久,不過這只是我我的聽到的「產品經理心目中的程序員」,也許也有不少產品人以爲程序員的工做很偉大,很神奇呢。編碼
另外一方面,程序員又是如何看待「萬惡」的產品經理呢?我曾聽一個技術前輩是下面這樣的想法:spa
咱們程序員的工做都是很magic的,可以實現各類各樣的功能,有趣的、實用的、搞笑的……涉及的技術也很高大上,夠人專研一生的。而產品經理就是作作調研、寫寫文檔、畫畫圖,沒有什麼技術含量,工做也很枯燥無味……設計
那麼實際工做過程當中,產品經理究竟是怎麼看程序員的呢?而咱們程序員又是如何看待產品經理的呢?難道是真的互相貶低嗎?沒有互相欣賞的嗎?我我的認爲這兩份職業都是高大上的,都不容易……blog