相親相愛的產品經理與程序員——應遵循四個原則

6 評論 11839 瀏覽 73 收藏 17 分鐘

如果你經常瀏覽互聯網方面的段子,你就會經??吹街T如“產品經理改需求被打”之類的搞笑娛樂信息。有些互聯網公司還會在辦公室的墻壁上貼上相關的圖紙,用來告訴產品經理,程序員們是有多痛恨你們頻繁地更改需求。

我本人也接觸了很多開發,有時候就會問他們這樣一個問題:

你覺得做產品經理需要懂技術嗎?如果要的話需要懂到什么程度呢?

開發大大們都是這么回答的:

作為一個開發我想說:

 

  • 如果產品經理完全不懂技術,我跟他說任何事情他都不懂的話,我會很無奈;
  • 如果只是懂一點皮毛,并沒有理解我說的要點的話,我會很反感;
  • 如果是懂技術的話,溝通無礙啊完全可以好好聊天好吧(壞處是不能以XX功能無法實現砍功能,實現時間的問題影響項目了)。

但是,如果技術方面太牛逼溝通毫無障礙的話,我覺得還是讓他來寫代碼把(不需要懂到這種,除非開發轉產品),不過還從來沒有遇見過如此牛人。

 

其實,我覺得產品經理最重要的還是要謙虛,懂得怎樣去交流和溝通,然后要了解業務。要懂得引導客戶,而不是總是受客戶的引導。

 

說產品經理要懂技術,其實是說你要懂實現某個功能的技術模型是怎樣的,然后理解一些術語,并不是非要你搞懂代碼里面的一些細節。

想必上述這段話應該是絕大部分程序員們的心聲吧,產品經理究竟該如何與開發人員進行良好的溝通,是所有產品們都非??鄲赖氖虑?,那么究竟有沒有什么好的方法來讓你和開發之間多一些好的互動、少一些不和諧的撕逼呢 ?

答案是有的。如下:

  • 首先,自然是產品經理要去了解一些基礎的技術知識,這樣你才能對技術開發人員的日常工作有一個大概的了解,這個了解也是整個良性溝通的前提。
  • 其次,是產品經理要去理解開發人員的難處,當然好的開發也是會來理解產品的難處的。
  • 最后,出了問題的時候,優先主動出來承擔責任,而不是立馬站出來撇責任。

經過這么幾個環節之后,相信大部分產品經理都能夠愉快地與開發人員進行溝通了,而不是陷入到常常撕逼的狀態。

產品經理要了解的技術知識

拉勾網上技術職位

產品經理要了解的技術知識,首當其沖就是要了解開發人員都有哪些崗位,他們具體的職責又是怎樣的,上圖是拉勾網上的職位信息,拉勾把技術相關的崗位分為:后端開發、移動開發、前端開發、測試、運維、DBA、還有一些高端的管理崗位(這邊沒有只是把軟件開發的相關崗位列出來了,硬件開發暫時就不包含了)。如果有空,建議你抽出一些時間上去瀏覽一下,腦子里存儲個大概的印象也是極好的。

這里就簡單介紹幾個開發工種,方便大家對技術崗位有個基本的了解,更多的知識還是要靠產品經理自己去自學:

1、前端開發工程師

前端工程師,也叫Web前端開發工程師,他是隨著web發展,細分出來的一個崗位職責。在互聯網的演化進程中,Web 1.0時代,網站的主要內容都是靜態的,用戶使用網站的行為也以瀏覽為主。2005年以后,互聯網進入Web 2.0時代,各種類似桌面軟件的Web應用大量涌現,網站的前端由此發生了翻天覆地的變化網頁不再只是承載單一的文字和圖片,各種富媒體讓網頁的內容更加生動,網頁上軟件化的交互形式為用戶提供了更好的使用體驗,這些都是基于前端技術實現的。

Web前端開發技術主要包括三個要素:HTML、CSS和JavaScript。HTML甚至不是一門語言,僅僅是簡單的標記語言;CSS只是無類型的樣式修飾語言,當然可以勉強算作弱類型語言;Javascript的基礎部分相對來說不難,入手還算快。

簡單來理解一下三者之間的關系:

為Hello World添加樣式

  • HTML是網頁內容的載體。內容就是網頁制作者放在頁面上想要讓用戶瀏覽的信息,可以包含文字、圖片、視頻等。
  • CSS樣式是表現。就像網頁的外衣。比如,標題字體、顏色變化,或為標題加入背景圖片、邊框等。所有這些用來改變內容外觀的東西稱之為表現。
  • JavaScript是用來實現網頁上的特效效果。如:鼠標滑過彈出下拉菜單?;蚴髽嘶^表格的背景顏色改變。還有焦點新聞(新聞圖片)的輪換??梢赃@么理解,有動畫的,有交互的一般都是用JavaScript來實現的。

2、后端開發工程師

既然有前端開發,那對應的理所當然會有后端開發,前后端的劃分,可以簡單地理解為凡是運行在用戶設備上的技術都可以稱為前端技術( 比如 HTML / CSS / JS,甚至移動設備的 Obj-C / Swift );而后端的作用就是負責將這些東西封裝在 HTTP 的數據包中然后通過網絡傳送到前端。當然除了這些前端文件,后端還有一個更重要的職能,即保存和提供用戶數據,比如移動端常見的 JSON 就是目前最流行的在后端和前端之間傳輸的一個文件格式。

前后端如何協同工作

那么,前端與后端是如何協同工作的呢?如上圖,以 Web 端為例,在瀏覽器輸入一個網址后,瀏覽器向服務器發送了一個 HTTP 請求;服務器通過一個 HTTP 響應,把顯示這個網頁所需要的資源傳回給了瀏覽器。而需要在瀏覽器中執行的技術,HTML / CSS / Javascript 等就叫做前端;需要在服務器端執行的、通常我們看不到技術就叫做后端。

所以說,后端的任務實際上就是向前端提供需要顯示網頁和 APP 內容的數據,可能是 HTML,也可能是JSON 數據,也可以是音視頻或者 PDF 文件。

但后臺開發語言有非常多種,不同公司不同行業往往會采用不同的后端語言進行后臺開發,比如?.net、java、PHP、Ruby、python 等等。

數據庫方面呢,代表性的有兩個:MySQL、MongoDB。MySQL 是最常用的結構化數據庫,也是大多數創業公司的選擇。MongoDB 則是NOSQL 數據庫,可以保存非結構化數據。

3、移動開發工程師

很多互聯網公司也許沒有前端開發工程師,那是因為他們沒有pc官網,只有一個APP。移動端和瀏覽器的區別就在于,大部分 App,我們打開的一瞬間,就已經看到了它的界面,而不用再去向服務器來拿顯示界面的 HTML 等文件。所以移動端,開發原生應用所運用到的技術(比如 Objective C,swift)就相當于前端的 HTML,只不過它是直接保存在應用本地的。這樣就產生了一個問題:如何來獲取應用數據?如果是網頁應用,我們可以直接將數據包含在HTML 中一并反饋給瀏覽器;但是對于移動應用就需要有一個專門的協議來傳送應用需要的數據,這就是 JSON。

移動開發又分為IOS開發和安卓開發,移動應用的前端技術,目前來說主要有以下三種:原生、混合式、HTML5。

HTML5 必經要經過瀏覽器這個中間層,所以在性能上多少會有些損失,所以如果你的應用對性能特別敏感,原生APP會是比較好的選擇;對于普通的性能要求沒那么嚴格的應用來說,HTML5是完全可以滿足的。而如果已經有了一個移動端的wap網站,這種情況下混合式就會是一個比較好的選擇,它可以最大程度的利用已有的資源。

產品經理如何和開發互相理解

所謂的互相理解,就是大家各有各的難處,沒事都相互體諒下,做產品、做開發真的都不容易,所以盡量不要讓對方為難。

舉個例子:

如果你提出來要實現一個產品設計方案(暫時稱之為A方案吧),A方案比較完美,實現出來的用戶體驗效果也比較好,然后你跑過去拿著設計稿和技術巴拉巴拉一堆,最后技術看了看設計稿,撓了撓頭,嘆了一口氣跟你說道:你要實現這樣的效果也是可以的,不過需要時間,短時間內不一定搞得出來,我覺得也不一定要做的這么好,可以換種做法。

 

你心想這么一個設計方案不是已經很成熟了么,很多互聯網產品都已經做過了啊,怎么會短時間內實現不出來呢,你越想越氣,不會是技術忽悠我吧,于是說道:這種技術不是很成熟了么,為什么還需要這么久,你不會是忽悠我吧。

 

技術鄙視了你一眼,也不想跟你多言,便說道:不信拉倒,這個技術實現難度很高的,反正給我做,我要花很長時間,不然你去找別人吧。

 

你一下傻了眼……

上述對話,就是典型的溝通雙方沒有互相理解的情況,已經進入了撕逼模式。正確的做法,其實應該是程序員在闡述希望可以換種做法,因為原方案的技術難度很高、時間成本較久。這時,產品經理要理解開發人員的難處,理解對方的辛苦,對不重要的細節可以做出適當退讓。比如,如果項目時間比較趕,原方案的技術實現難度又確實很高,則完全可以選擇替代方案,先確保項目進度,后續再做新的迭代。

很多時候我們會進入撕逼狀態,往往都是為了證明自己的觀點正確,這個是溝通的大忌。與項目成員溝通,千萬不能抱著“必贏”的心態,而是為了解決問題而溝通,為了更好地了解這個世界而溝通。當然,在溝通的過程中,我們還可以遵循幾個原則:

1、邏輯和業務為先

產品經理和開發們有一個共同的特點,那就是都是邏輯思維非常好的人類物種。產品經理在和開發溝通的過程中,還是需要非常注重業務流程、目標和邏輯表達的,不然真的很容易被開發噴。比如,你考慮的情況沒有開發全面,開發就會提出說如果出現這種情況該怎么辦,如果出現另一種情況又該怎么處理。

2、平等相容原則

平等相容的原則相信大家都會覺得這是一個老生常談的話題了,但是真正實踐起來的卻比較少。也就是我們提到的相互理解,真的能夠做到相互理解,相信百分之90的溝通問題都不再是什么問題。

3、溝通后做記錄

開發和產品經理一樣,很多時候可能是多個項目的任務并行處理,所以單純的溝通成功有了結果之后,還是需要做一些記錄,避免大家瑣碎的事情比較多把任務給忘記了。

4、沒事多表揚

每個人都有虛榮心,只是多和少的問題,所以,每個人都喜歡聽到別人對自己的贊美。產品經理在項目進展的過程中,可以經常表揚一下開發人員,但表揚的時候也要注意一個細節,那就是不能太空洞。打個比方,你要去夸獎一個女孩子今天的穿著打扮很漂亮,你不能直接來一句“你今天好漂亮”,這個就是比較空洞的表揚了。表揚的時候,還是需要具體一些,提供相關的細節比較好,比如“你今天穿的裙子看起來很有感覺,剛剛你走過來的時候,仿佛間有一種走在海灘邊海風吹在臉頰上的味道?!?/p>

出了問題怎么辦

在產品開發和上線的過程中,毫無疑問會冒出各種各樣的問題,比如說項目延遲上線、產品bug一堆,服務器沒扛住訪問壓力等等。

這個時候,產品經理就需要敢于站出來直接承認錯誤,承擔責任,不要什么都推給“這是老板要求的做法”、“老板中途更改的需求”、“服務器壓力頂不住我有什么辦法”之類的。因為,說到底,產品經理才是一個產品的負責人,所以產品出現的所有問題,產品經理都是有責任去背鍋的。對于老板不自覺地經常拍腦袋想出來的產品需求,產品經理還是有責任去和老板進行溝通,把事情的利弊給分析出來。

如果產品經理在這種重大事件面前(即使不是產品經理的錯)都能站出來承擔責任,那么你的項目團隊成員則會對你更加信任,犯了錯的成員還會感到有一點不好意思而請你吃飯什么的。當然,老板自然是能夠分辨出問題主要是誰造成的,看到產品經理能夠“挺身而出”,自然也會感到很欣慰,在內心發出一聲呼喊——

這樣的產品經理才靠譜嘛!

#專欄作家#

壹百度,微信公眾號:倒退集,人人都是產品經理專欄作家。在線教育企業服務領域產品經理,創業公司Team Leader。曾主導多款重量級產品的產品策劃和設計工作。

本文原創發布于人人都是產品經理。未經許可,禁止轉載。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. PM不好當

    來自重慶 回復
  2. 作為一名開發,感覺這篇文章有些過份要求產品經理了。

    來自廣東 回復
  3. 作為一個UI轉產品,這篇文章很受用,感謝

    來自河北 回復
  4. 3個月產品新菜,為什么感覺產品經理是超人,又是背鍋俠,那么做產品經理的有點是什么?

    來自江蘇 回復
  5. 分析的很全很到位,新人受教了!

    來自浙江 回復
    1. 有興趣可以關注一下我的個人公眾號:倒退集
      不定期分享產品干貨

      回復